Create Xref-Html Frames                    Remove All Frames
file:c:/local/Cygwin/usr/X11R6/include/X11/ICE/ICElib.h        (Sat Apr 10 16:25:43 2004 )


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








































Html form generated by Xrefactory version 1.6.7 on Fri Sep 03 17:18:59 2004