1
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
3
.\" Permission is hereby granted, free of charge, to any person obtaining
4
.\" a copy of this software and associated documentation files (the
5
.\" "Software"), to deal in the Software without restriction, including
6
.\" without limitation the rights to use, copy, modify, merge, publish,
7
.\" distribute, sublicense, and/or sell copies of the Software, and to
8
.\" permit persons to whom the Software is furnished to do so, subject to
9
.\" the following conditions:
11
.\" The above copyright notice and this permission notice shall be included
12
.\" in all copies or substantial portions of the Software.
14
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
.\" OTHER DEALINGS IN THE SOFTWARE.
22
.\" Except as contained in this notice, the name of the X Consortium shall
23
.\" not be used in advertising or otherwise to promote the sale, use or
24
.\" other dealings in this Software without prior written authorization
25
.\" from the X Consortium.
27
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28
.\" Digital Equipment Corporation
30
.\" Portions Copyright \(co 1990, 1991 by
33
.\" Permission to use, copy, modify and distribute this documentation for
34
.\" any purpose and without fee is hereby granted, provided that the above
35
.\" copyright notice appears in all copies and that both that copyright notice
36
.\" and this permission notice appear in all copies, and that the names of
37
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
38
.\" to this documentation without specific, written prior permission.
39
.\" Digital and Tektronix makes no representations about the suitability
40
.\" of this documentation for any purpose.
41
.\" It is provided ``as is'' without express or implied warranty.
43
.\" $XFree86: xc/doc/man/X11/XIntConn.man,v 1.3 2001/11/21 22:54:13 dawes Exp $
45
.ds xT X Toolkit Intrinsics \- C Language Interface
46
.ds xW Athena X Widgets \- C Language X Toolkit Interface
47
.ds xL Xlib \- C Language X Interface
48
.ds xC Inter-Client Communication Conventions Manual
55
.\".if \\n(VS>=40 .vs \\n(VSu
56
.\".if \\n(VS<=39 .vs \\n(VSp
79
.de IN \" send an index entry to the stderr
86
.\" choose appropriate monospace font
87
.\" the imagen conditional, 480,
88
.\" may be changed to L if LB is too
89
.\" heavy for your eyes...
91
.ie "\\*(.T"480" .ft L
92
.el .ie "\\*(.T"300" .ft L
93
.el .ie "\\*(.T"202" .ft PO
94
.el .ie "\\*(.T"aps" .ft CW
97
.ie \\n(VS>40 .vs \\n(VSu
105
.ie t \\$1\fB\^\\$2\^\fR\\$3
106
.el \\$1\fI\^\\$2\^\fP\\$3
109
.ie t \fB\^\\$1\^\fR\\$2
110
.el \fI\^\\$1\^\fP\\$2
113
.ie t <\fB\\$1\fR>\\$2
119
.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
120
.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
134
. \" Note End -- doug kraft 3/85
143
.TH XAddConnectionWatch 3X11 __xorgversion__ "XLIB FUNCTIONS"
145
XAddConnectionWatch, XRemoveConnectionWatch, XProcessInternalConnection, XInternalConnectionNumbers \- handle Xlib internal connections
147
typedef void (*XConnectionWatchProc)\^(\^\fIdisplay\fP, \fIclient_data\fP, \fIfd\fP, \fIopening\fP, \fIwatch_data\fP\^)
149
Display *\fIdisplay\fP\^;
151
XPointer \fIclient_data\fP\^;
155
Bool \fIopening\fP\^;
157
XPointer *\fIwatch_data\fP\^;
159
Status XAddConnectionWatch\^(\^\fIdisplay\fP, \fIprocedure\fP\^, \fIclient_data\fP\^)
161
Display *\fIdisplay\fP\^;
163
XWatchProc \fIprocedure\fP\^;
165
XPointer \fIclient_data\fP\^;
167
Status XRemoveConnectionWatch\^(\^\fIdisplay\fP, \fIprocedure\fP\^, \fIclient_data\fP\^)
169
Display *\fIdisplay\fP\^;
171
XWatchProc \fIprocedure\fP\^;
173
XPointer \fIclient_data\fP\^;
175
void XProcessInternalConnection\^(\^\fIdisplay\fP, \fIfd\fP\^)
177
Display *\fIdisplay\fP\^;
181
Status XInternalConnectionNumbers\^(\^\fIdisplay\fP, \fIfd_return\fP\^, \fIcount_return\fP\^)
183
Display *\fIdisplay\fP\^;
185
int **\fIfd_return\fP\^;
187
int *\fIcount_return\fP\^;
189
.IP \fIclient_data\fP 1i
190
Specifies the additional client data.
191
.ds Cn file descriptors
192
.IP \fIcount_return\fP 1i
193
Returns the number of \*(Cn.
195
Specifies the connection to the X server.
197
Specifies the file descriptor.
198
.IP \fIfd_return\fP 1i
199
Returns the file descriptors.
200
.IP \fIprocedure\fP 1i
201
Specifies the procedure to be called.
204
.ZN XAddConnectionWatch
205
function registers a procedure to be called each time Xlib opens or closes an
206
internal connection for the specified display. The procedure is passed the
207
display, the specified client_data, the file descriptor for the connection,
208
a Boolean indicating whether the connection is being opened or closed, and a
209
pointer to a location for private watch data. If opening is
211
the procedure can store a pointer to private data in the location pointed
213
when the procedure is later called for this same connection and opening is
215
the location pointed to by watch_data will hold this same private data pointer.
217
This function can be called at any time after a display is opened.
218
If internal connections already exist, the registered procedure will
219
immediately be called for each of them, before
220
.ZN XAddConnectionWatch
222
.ZN XAddConnectionWatch
223
returns a nonzero status if the procedure is successfully registered;
224
otherwise, it returns zero.
226
The registered procedure should not call any Xlib functions.
227
If the procedure directly or indirectly causes the state of internal
228
connections or watch procedures to change, the result is not defined.
229
If Xlib has been initialized for threads, the procedure is called with
230
the display locked and the result of a call by the procedure to any
231
Xlib function that locks the display is not defined unless the executing
232
thread has externally locked the display using
236
.ZN XRemoveConnectionWatch
237
function removes a previously registered connection watch procedure.
238
The client_data must match the client_data used when the procedure
239
was initially registered.
243
.ZN XProcessInternalConnection
244
function processes input available on an internal connection.
245
This function should be called for an internal connection only
246
after an operating system facility (for example,
250
has indicated that input is available; otherwise,
251
the effect is not defined.
254
.ZN XInternalConnectionNumbers
255
function returns a list of the file descriptors for all internal
256
connections currently open for the specified display.
257
When the allocated list is no longer needed,
260
This functions returns a nonzero status if the list is successfully allocated;
261
otherwise, it returns zero.