comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/X11/ICE/ICElib.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 69:33d812a61356
1 /******************************************************************************
2
3
4 Copyright 1993, 1998 The Open Group
5
6 Permission to use, copy, modify, distribute, and sell this software and its
7 documentation for any purpose is hereby granted without fee, provided that
8 the above copyright notice appear in all copies and that both that
9 copyright notice and this permission notice appear in supporting
10 documentation.
11
12 The above copyright notice and this permission notice shall be included in
13 all copies or substantial portions of the Software.
14
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
19 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22 Except as contained in this notice, the name of The Open Group shall not be
23 used in advertising or otherwise to promote the sale, use or other dealings
24 in this Software without prior written authorization from The Open Group.
25
26 Author: Ralph Mor, X Consortium
27 ******************************************************************************/
28
29 #ifndef _ICELIB_H_
30 #define _ICELIB_H_
31
32 #include <X11/ICE/ICE.h>
33 #include <X11/Xfuncproto.h>
34
35 #define Bool int
36 #define Status int
37 #define True 1
38 #define False 0
39
40 typedef void *IcePointer;
41
42 typedef enum {
43 IcePoAuthHaveReply,
44 IcePoAuthRejected,
45 IcePoAuthFailed,
46 IcePoAuthDoneCleanup
47 } IcePoAuthStatus;
48
49 typedef enum {
50 IcePaAuthContinue,
51 IcePaAuthAccepted,
52 IcePaAuthRejected,
53 IcePaAuthFailed
54 } IcePaAuthStatus;
55
56 typedef enum {
57 IceConnectPending,
58 IceConnectAccepted,
59 IceConnectRejected,
60 IceConnectIOError
61 } IceConnectStatus;
62
63 typedef enum {
64 IceProtocolSetupSuccess,
65 IceProtocolSetupFailure,
66 IceProtocolSetupIOError,
67 IceProtocolAlreadyActive
68 } IceProtocolSetupStatus;
69
70 typedef enum {
71 IceAcceptSuccess,
72 IceAcceptFailure,
73 IceAcceptBadMalloc
74 } IceAcceptStatus;
75
76 typedef enum {
77 IceClosedNow,
78 IceClosedASAP,
79 IceConnectionInUse,
80 IceStartedShutdownNegotiation
81 } IceCloseStatus;
82
83 typedef enum {
84 IceProcessMessagesSuccess,
85 IceProcessMessagesIOError,
86 IceProcessMessagesConnectionClosed
87 } IceProcessMessagesStatus;
88
89 typedef struct {
90 unsigned long sequence_of_request;
91 int major_opcode_of_request;
92 int minor_opcode_of_request;
93 IcePointer reply;
94 } IceReplyWaitInfo;
95
96 typedef struct _IceConn *IceConn;
97 typedef struct _IceListenObj *IceListenObj;
98
99 typedef void (*IceWatchProc) (
100 IceConn /* iceConn */,
101 IcePointer /* clientData */,
102 Bool /* opening */,
103 IcePointer * /* watchData */
104 );
105
106 typedef void (*IcePoProcessMsgProc) (
107 IceConn /* iceConn */,
108 IcePointer /* clientData */,
109 int /* opcode */,
110 unsigned long /* length */,
111 Bool /* swap */,
112 IceReplyWaitInfo * /* replyWait */,
113 Bool * /* replyReadyRet */
114 );
115
116 typedef void (*IcePaProcessMsgProc) (
117 IceConn /* iceConn */,
118 IcePointer /* clientData */,
119 int /* opcode */,
120 unsigned long /* length */,
121 Bool /* swap */
122 );
123
124 typedef struct {
125 int major_version;
126 int minor_version;
127 IcePoProcessMsgProc process_msg_proc;
128 } IcePoVersionRec;
129
130 typedef struct {
131 int major_version;
132 int minor_version;
133 IcePaProcessMsgProc process_msg_proc;
134 } IcePaVersionRec;
135
136 typedef IcePoAuthStatus (*IcePoAuthProc) (
137 IceConn /* iceConn */,
138 IcePointer * /* authStatePtr */,
139 Bool /* cleanUp */,
140 Bool /* swap */,
141 int /* authDataLen */,
142 IcePointer /* authData */,
143 int * /* replyDataLenRet */,
144 IcePointer * /* replyDataRet */,
145 char ** /* errorStringRet */
146 );
147
148 typedef IcePaAuthStatus (*IcePaAuthProc) (
149 IceConn /* iceConn */,
150 IcePointer * /* authStatePtr */,
151 Bool /* swap */,
152 int /* authDataLen */,
153 IcePointer /* authData */,
154 int * /* replyDataLenRet */,
155 IcePointer * /* replyDataRet */,
156 char ** /* errorStringRet */
157 );
158
159 typedef Bool (*IceHostBasedAuthProc) (
160 char * /* hostName */
161 );
162
163 typedef Status (*IceProtocolSetupProc) (
164 IceConn /* iceConn */,
165 int /* majorVersion */,
166 int /* minorVersion */,
167 char * /* vendor */,
168 char * /* release */,
169 IcePointer * /* clientDataRet */,
170 char ** /* failureReasonRet */
171 );
172
173 typedef void (*IceProtocolActivateProc) (
174 IceConn /* iceConn */,
175 IcePointer /* clientData */
176 );
177
178 typedef void (*IceIOErrorProc) (
179 IceConn /* iceConn */
180 );
181
182 typedef void (*IcePingReplyProc) (
183 IceConn /* iceConn */,
184 IcePointer /* clientData */
185 );
186
187 typedef void (*IceErrorHandler) (
188 IceConn /* iceConn */,
189 Bool /* swap */,
190 int /* offendingMinorOpcode */,
191 unsigned long /* offendingSequence */,
192 int /* errorClass */,
193 int /* severity */,
194 IcePointer /* values */
195 );
196
197 typedef void (*IceIOErrorHandler) (
198 IceConn /* iceConn */
199 );
200
201
202 /*
203 * Function prototypes
204 */
205
206 _XFUNCPROTOBEGIN
207
208 extern int IceRegisterForProtocolSetup (
209 const char * /* protocolName */,
210 const char * /* vendor */,
211 const char * /* release */,
212 int /* versionCount */,
213 IcePoVersionRec * /* versionRecs */,
214 int /* authCount */,
215 const char ** /* authNames */,
216 IcePoAuthProc * /* authProcs */,
217 IceIOErrorProc /* IOErrorProc */
218 );
219
220 extern int IceRegisterForProtocolReply (
221 const char * /* protocolName */,
222 const char * /* vendor */,
223 const char * /* release */,
224 int /* versionCount */,
225 IcePaVersionRec * /* versionRecs */,
226 int /* authCount */,
227 const char ** /* authNames */,
228 IcePaAuthProc * /* authProcs */,
229 IceHostBasedAuthProc /* hostBasedAuthProc */,
230 IceProtocolSetupProc /* protocolSetupProc */,
231 IceProtocolActivateProc /* protocolActivateProc */,
232 IceIOErrorProc /* IOErrorProc */
233 );
234
235 extern IceConn IceOpenConnection (
236 char * /* networkIdsList */,
237 IcePointer /* context */,
238 Bool /* mustAuthenticate */,
239 int /* majorOpcodeCheck */,
240 int /* errorLength */,
241 char * /* errorStringRet */
242 );
243
244 extern IcePointer IceGetConnectionContext (
245 IceConn /* iceConn */
246 );
247
248 extern Status IceListenForConnections (
249 int * /* countRet */,
250 IceListenObj ** /* listenObjsRet */,
251 int /* errorLength */,
252 char * /* errorStringRet */
253 );
254
255 extern Status IceListenForWellKnownConnections (
256 char * /* port */,
257 int * /* countRet */,
258 IceListenObj ** /* listenObjsRet */,
259 int /* errorLength */,
260 char * /* errorStringRet */
261 );
262
263 extern int IceGetListenConnectionNumber (
264 IceListenObj /* listenObj */
265 );
266
267 extern char *IceGetListenConnectionString (
268 IceListenObj /* listenObj */
269 );
270
271 extern char *IceComposeNetworkIdList (
272 int /* count */,
273 IceListenObj * /* listenObjs */
274 );
275
276 extern void IceFreeListenObjs (
277 int /* count */,
278 IceListenObj * /* listenObjs */
279 );
280
281 extern void IceSetHostBasedAuthProc (
282 IceListenObj /* listenObj */,
283 IceHostBasedAuthProc /* hostBasedAuthProc */
284 );
285
286 extern IceConn IceAcceptConnection (
287 IceListenObj /* listenObj */,
288 IceAcceptStatus * /* statusRet */
289 );
290
291 extern void IceSetShutdownNegotiation (
292 IceConn /* iceConn */,
293 Bool /* negotiate */
294 );
295
296 extern Bool IceCheckShutdownNegotiation (
297 IceConn /* iceConn */
298 );
299
300 extern IceCloseStatus IceCloseConnection (
301 IceConn /* iceConn */
302 );
303
304 extern Status IceAddConnectionWatch (
305 IceWatchProc /* watchProc */,
306 IcePointer /* clientData */
307 );
308
309 extern void IceRemoveConnectionWatch (
310 IceWatchProc /* watchProc */,
311 IcePointer /* clientData */
312 );
313
314 extern IceProtocolSetupStatus IceProtocolSetup (
315 IceConn /* iceConn */,
316 int /* myOpcode */,
317 IcePointer /* clientData */,
318 Bool /* mustAuthenticate */,
319 int * /* majorVersionRet */,
320 int * /* minorVersionRet */,
321 char ** /* vendorRet */,
322 char ** /* releaseRet */,
323 int /* errorLength */,
324 char * /* errorStringRet */
325 );
326
327 extern Status IceProtocolShutdown (
328 IceConn /* iceConn */,
329 int /* majorOpcode */
330 );
331
332 extern IceProcessMessagesStatus IceProcessMessages (
333 IceConn /* iceConn */,
334 IceReplyWaitInfo * /* replyWait */,
335 Bool * /* replyReadyRet */
336 );
337
338 extern Status IcePing (
339 IceConn /* iceConn */,
340 IcePingReplyProc /* pingReplyProc */,
341 IcePointer /* clientData */
342 );
343
344 extern char *IceAllocScratch (
345 IceConn /* iceConn */,
346 unsigned long /* size */
347 );
348
349 extern int IceFlush (
350 IceConn /* iceConn */
351 );
352
353 extern int IceGetOutBufSize (
354 IceConn /* iceConn */
355 );
356
357 extern int IceGetInBufSize (
358 IceConn /* iceConn */
359 );
360
361 extern IceConnectStatus IceConnectionStatus (
362 IceConn /* iceConn */
363 );
364
365 extern char *IceVendor (
366 IceConn /* iceConn */
367 );
368
369 extern char *IceRelease (
370 IceConn /* iceConn */
371 );
372
373 extern int IceProtocolVersion (
374 IceConn /* iceConn */
375 );
376
377 extern int IceProtocolRevision (
378 IceConn /* iceConn */
379 );
380
381 extern int IceConnectionNumber (
382 IceConn /* iceConn */
383 );
384
385 extern char *IceConnectionString (
386 IceConn /* iceConn */
387 );
388
389 extern unsigned long IceLastSentSequenceNumber (
390 IceConn /* iceConn */
391 );
392
393 extern unsigned long IceLastReceivedSequenceNumber (
394 IceConn /* iceConn */
395 );
396
397 extern Bool IceSwapping (
398 IceConn /* iceConn */
399 );
400
401 extern IceErrorHandler IceSetErrorHandler (
402 IceErrorHandler /* handler */
403 );
404
405 extern IceIOErrorHandler IceSetIOErrorHandler (
406 IceIOErrorHandler /* handler */
407 );
408
409 extern char *IceGetPeerName (
410 IceConn /* iceConn */
411 );
412
413 /*
414 * Multithread Routines
415 */
416
417 extern Status IceInitThreads (
418 void
419 );
420
421 extern void IceAppLockConn (
422 IceConn /* iceConn */
423 );
424
425 extern void IceAppUnlockConn (
426 IceConn /* iceConn */
427 );
428
429 _XFUNCPROTOEND
430
431 #endif /* _ICELIB_H_ */