<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<!-- lifted from troff+man by doclifter -->
<refentry id='xopdsplyman'>
<!--  Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium -->

<!--  Permission is hereby granted, free of charge, to any person obtaining -->
<!--  a copy of this software and associated documentation files (the -->
<!--  "Software"), to deal in the Software without restriction, including -->
<!--  without limitation the rights to use, copy, modify, merge, publish, -->
<!--  distribute, sublicense, and/or sell copies of the Software, and to -->
<!--  permit persons to whom the Software is furnished to do so, subject to -->
<!--  the following conditions: -->

<!--  The above copyright notice and this permission notice shall be included -->
<!--  in all copies or substantial portions of the Software. -->

<!--  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -->
<!--  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -->
<!--  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -->
<!--  IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -->
<!--  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -->
<!--  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -->
<!--  OTHER DEALINGS IN THE SOFTWARE. -->

<!--  Except as contained in this notice, the name of the X Consortium shall -->
<!--  not be used in advertising or otherwise to promote the sale, use or -->
<!--  other dealings in this Software without prior written authorization -->
<!--  from the X Consortium. -->

<!--  Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by -->
<!--  Digital Equipment Corporation -->

<!--  Portions Copyright \(co 1990, 1991 by -->
<!--  Tektronix, Inc. -->

<!--  Permission to use, copy, modify and distribute this documentation for -->
<!--  any purpose and without fee is hereby granted, provided that the above -->
<!--  copyright notice appears in all copies and that both that copyright notice -->
<!--  and this permission notice appear in all copies, and that the names of -->
<!--  Digital and Tektronix not be used in in advertising or publicity pertaining -->
<!--  to this documentation without specific, written prior permission. -->
<!--  Digital and Tektronix makes no representations about the suitability -->
<!--  of this documentation for any purpose. -->
<!--  It is provided ``as is'' without express or implied warranty. -->
<!--   -->
<!--  $XFree86: xc/doc/man/X11/XOpDsply.man,v 1.3 2003/04/28 22:17:55 herrb Exp $ -->

<!-- .na -->
<!-- Ds listing suppressed (not used) -->
<!-- De listing suppressed (not used) -->
<!-- FD listing suppressed (not used) -->
<!-- FN listing suppressed (not used) -->
<!-- C{ listing suppressed (not used) -->
<!-- C} listing suppressed (not used) -->
<!-- NT listing suppressed (not used) -->
<!-- .		\" Note End \-\- doug kraft 3/85 -->
<!-- NE listing suppressed (not used) -->
<!-- .ny0 -->
<refmeta>
<refentrytitle>XOpenDisplay</refentrytitle>
<manvolnum>3X11</manvolnum>
<refmiscinfo class='date'>__xorgversion__</refmiscinfo>
<refmiscinfo class='source'>XLIB FUNCTIONS</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>XOpenDisplay</refname>
<refname>XCloseDisplay</refname>
<refpurpose>connect or disconnect to X server</refpurpose>
</refnamediv>
<!-- body begins here -->

<refsect1 id='syntax'><title>SYNTAX</title>

<para>Display *XOpenDisplay&hairsp;(&hairsp;char *<emphasis remap='I'>display_name</emphasis>&hairsp;);</para> 

<para>int XCloseDisplay&hairsp;(Display *<emphasis remap='I'>display</emphasis>&hairsp;);</para> 
</refsect1>

<refsect1 id='arguments'><title>ARGUMENTS</title>
<variablelist remap='IP'>
  <varlistentry>
  <term><emphasis remap='I'>display</emphasis></term>
  <listitem>
<para>Specifies the connection to the X server.</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>display_name</emphasis></term>
  <listitem>
<para>Specifies the hardware display name, which determines the display
and communications domain to be used.
On a POSIX-conformant system, if the display_name is NULL, 
it defaults to the value of the DISPLAY environment variable.</para> 
  </listitem>
  </varlistentry>
</variablelist>
</refsect1>

<refsect1 id='description'><title>DESCRIPTION</title>
<para>The
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>
function returns a 
<emphasis remap='I'>&hairsp;Display&hairsp;</emphasis>
structure that serves as the
connection to the X server and that contains all the information
about that X server.
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>
connects your application to the X server through TCP 
or DECnet communications protocols,
or through some local inter-process communication protocol.
If the hostname is a host machine name and a single colon (:)
separates the hostname and display number,
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>
connects using TCP streams.
If the hostname is not specified,
Xlib uses whatever it believes is the fastest transport.
If the hostname is a host machine name and a double colon (::)
separates the hostname and display number,
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>
connects using DECnet.
A single X server can support any or all of these transport mechanisms
simultaneously.
A particular Xlib implementation can support many more of these transport
mechanisms.</para>

<para>If successful, 
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>
returns a pointer to a 
<emphasis remap='I'>&hairsp;Display&hairsp;</emphasis>
structure,
which is defined in 
&lt;<emphasis remap='I'>X11/Xlib.h</emphasis>&gt;.
If 
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>
does not succeed, it returns NULL.
After a successful call to
<emphasis remap='I'>&hairsp;XOpenDisplay&hairsp;</emphasis>,
all of the screens in the display can be used by the client.
The screen number specified in the display_name argument is returned 
by the 
<emphasis remap='I'>&hairsp;DefaultScreen&hairsp;</emphasis>
macro (or the
<emphasis remap='I'>&hairsp;XDefaultScreen&hairsp;</emphasis>
function).
You can access elements of the
<emphasis remap='I'>&hairsp;Display&hairsp;</emphasis>
and
<emphasis remap='I'>&hairsp;Screen&hairsp;</emphasis>
structures only by using the information macros or functions.
For information about using macros and functions to obtain information from 
the
<emphasis remap='I'>&hairsp;Display&hairsp;</emphasis>
structure,
see section 2.2.1.</para>

<para>The
<emphasis remap='I'>&hairsp;XCloseDisplay&hairsp;</emphasis>
function closes the connection to the X server for the display specified in the
<emphasis remap='I'>&hairsp;Display&hairsp;</emphasis>
structure and destroys all windows, resource IDs
(<emphasis remap='I'>&hairsp;Window&hairsp;</emphasis>,
<emphasis remap='I'>&hairsp;Font&hairsp;</emphasis>,
<emphasis remap='I'>&hairsp;Pixmap&hairsp;</emphasis>,
<emphasis remap='I'>&hairsp;Colormap&hairsp;</emphasis>,
<emphasis remap='I'>&hairsp;Cursor&hairsp;</emphasis>,
and
<emphasis remap='I'>&hairsp;GContext&hairsp;</emphasis>),
or other resources that the client has created
on this display, unless the close-down mode of the resource has been changed
(see
<emphasis remap='I'>&hairsp;XSetCloseDownMode&hairsp;</emphasis>).
Therefore, these windows, resource IDs, and other resources should never be 
referenced again or an error will be generated.
Before exiting, you should call
<emphasis remap='I'>&hairsp;XCloseDisplay&hairsp;</emphasis>
explicitly so that any pending errors are reported as
<emphasis remap='I'>&hairsp;XCloseDisplay&hairsp;</emphasis>
performs a final
<emphasis remap='I'>&hairsp;XSync&hairsp;</emphasis>
operation.</para>

<para><emphasis remap='I'>&hairsp;XCloseDisplay&hairsp;</emphasis>
can generate a
<emphasis remap='I'>&hairsp;BadGC&hairsp;</emphasis>
error.</para>
</refsect1>

<refsect1 id='see_also'><title>SEE ALSO</title>
<para>AllPlanes(3X11),
XFlush(3X11),
XSetCloseDownMode(3X11)
<!-- .br -->
<userinput>Xlib - C Language X Interface</userinput></para>
</refsect1>
</refentry>

