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.

The
XOpenDisplay function returns a Display structure that serves as the
connection to the X server and that contains all the information about
that X server. XOpenDisplay 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,
XOpenDisplay 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, XOpenDisplay 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.

If successful, XOpenDisplay returns a pointer to a Display structure,
which is defined in <X11/Xlib.h>. If XOpenDisplay does not succeed, it
returns NULL. After a successful call to XOpenDisplay, 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 DefaultScreen macro (or
the XDefaultScreen function). You can access elements of the Display
and Screen structures only by using the information macros or functions.
For information about using macros and functions to obtain information
from the Display structure, see section 2.2.1.

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