XRemoveConnectionWatch
XAddConnectionWatch(3X11) XLIB FUNCTIONS XAddConnectionWatch(3X11)
NAME
XAddConnectionWatch, XRemoveConnectionWatch, XProcessInternalConnec-
tion, XInternalConnectionNumbers - handle Xlib internal connections
SYNTAX
typedef void (*XConnectionWatchProc)(Display *display, XPointer
client_data, int fd, Bool opening, XPointer *watch_data);
Status XAddConnectionWatch(Display *display, XWatchProc procedure,
XPointer client_data);
Status XRemoveConnectionWatch(Display *display, XWatchProc procedure,
XPointer client_data);
void XProcessInternalConnection(Display *display, int fd);
Status XInternalConnectionNumbers(Display *display, int **fd_return,
int *count_return);
ARGUMENTS
client_data
Specifies the additional client data.
count_return
Returns the number of file descriptors.
display Specifies the connection to the X server.
fd Specifies the file descriptor.
fd_return Returns the file descriptors.
procedure Specifies the procedure to be called.
DESCRIPTION
The XAddConnectionWatch function registers a procedure to be called
each time Xlib opens or closes an internal connection for the speci-
fied display. The procedure is passed the display, the specified
client_data, the file descriptor for the connection, a Boolean indi-
cating whether the connection is being opened or closed, and a pointer
to a location for private watch data. If opening is True, the proce-
dure can store a pointer to private data in the location pointed to by
watch_data; when the procedure is later called for this same connec-
tion and opening is False, the location pointed to by watch_data will
hold this same private data pointer.
This function can be called at any time after a display is opened. If
internal connections already exist, the registered procedure will
immediately be called for each of them, before XAddConnectionWatch
returns. XAddConnectionWatch returns a nonzero status if the proce-
dure is successfully registered; otherwise, it returns zero.
The registered procedure should not call any Xlib functions. If the
procedure directly or indirectly causes the state of internal connec-
tions or watch procedures to change, the result is not defined. If
Xlib has been initialized for threads, the procedure is called with
the display locked and the result of a call by the procedure to any
Xlib function that locks the display is not defined unless the execut-
ing thread has externally locked the display using XLockDisplay.
The XRemoveConnectionWatch function removes a previously registered
connection watch procedure. The client_data must match the
client_data used when the procedure was initially registered.
The XProcessInternalConnection function processes input available on
an internal connection. This function should be called for an inter-
nal connection only after an operating system facility (for example,
select or poll) has indicated that input is available; otherwise, the
effect is not defined.
The XInternalConnectionNumbers function returns a list of the file
descriptors for all internal connections currently open for the speci-
fied display. When the allocated list is no longer needed, free it by
using XFree. This functions returns a nonzero status if the list is
successfully allocated; otherwise, it returns zero.
SEE ALSO
Xlib - C Language X Interface
XAddConnectionWatch(3X11)