oracular (3) XAddConnectionWatch.3.gz

Provided by: libx11-doc_1.8.7-1build1_all bug

NAME

       XAddConnectionWatch,  XRemoveConnectionWatch,  XProcessInternalConnection,  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, XConnectionWatchProc procedure, XPointer client_data);

       void XRemoveConnectionWatch(Display *display, XConnectionWatchProc 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 specified display.  The  procedure  is  passed  the  display,  the  specified
       client_data, the file descriptor for the connection, a Boolean indicating whether the connection is being
       opened or closed, and a pointer to a location for private watch data.  If opening is True, the  procedure
       can store a pointer to private data in the location pointed to by watch_data; when the procedure is later
       called for this same connection 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 procedure 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 connections 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 executing
       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 internal  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 specified 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