diff options
Diffstat (limited to 'include/X11/ICE/ICElib.h')
-rw-r--r-- | include/X11/ICE/ICElib.h | 537 |
1 files changed, 537 insertions, 0 deletions
diff --git a/include/X11/ICE/ICElib.h b/include/X11/ICE/ICElib.h new file mode 100644 index 0000000..5385bf0 --- /dev/null +++ b/include/X11/ICE/ICElib.h @@ -0,0 +1,537 @@ +/* $Xorg: ICElib.h,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ +/****************************************************************************** + + +Copyright 1993, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +Author: Ralph Mor, X Consortium +******************************************************************************/ + +#ifndef _ICELIB_H_ +#define _ICELIB_H_ + +#include <X11/ICE/ICE.h> +#include <X11/Xfuncproto.h> + +#define Bool int +#define Status int +#define True 1 +#define False 0 + +#if NeedFunctionPrototypes +typedef void *IcePointer; +#else +typedef char *IcePointer; +#endif + +typedef enum { + IcePoAuthHaveReply, + IcePoAuthRejected, + IcePoAuthFailed, + IcePoAuthDoneCleanup +} IcePoAuthStatus; + +typedef enum { + IcePaAuthContinue, + IcePaAuthAccepted, + IcePaAuthRejected, + IcePaAuthFailed +} IcePaAuthStatus; + +typedef enum { + IceConnectPending, + IceConnectAccepted, + IceConnectRejected, + IceConnectIOError +} IceConnectStatus; + +typedef enum { + IceProtocolSetupSuccess, + IceProtocolSetupFailure, + IceProtocolSetupIOError, + IceProtocolAlreadyActive +} IceProtocolSetupStatus; + +typedef enum { + IceAcceptSuccess, + IceAcceptFailure, + IceAcceptBadMalloc +} IceAcceptStatus; + +typedef enum { + IceClosedNow, + IceClosedASAP, + IceConnectionInUse, + IceStartedShutdownNegotiation +} IceCloseStatus; + +typedef enum { + IceProcessMessagesSuccess, + IceProcessMessagesIOError, + IceProcessMessagesConnectionClosed +} IceProcessMessagesStatus; + +typedef struct { + unsigned long sequence_of_request; + int major_opcode_of_request; + int minor_opcode_of_request; + IcePointer reply; +} IceReplyWaitInfo; + +typedef struct _IceConn *IceConn; +typedef struct _IceListenObj *IceListenObj; + +typedef void (*IceWatchProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer /* clientData */, + Bool /* opening */, + IcePointer * /* watchData */ +#endif +); + +typedef void (*IcePoProcessMsgProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer /* clientData */, + int /* opcode */, + unsigned long /* length */, + Bool /* swap */, + IceReplyWaitInfo * /* replyWait */, + Bool * /* replyReadyRet */ +#endif +); + +typedef void (*IcePaProcessMsgProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer /* clientData */, + int /* opcode */, + unsigned long /* length */, + Bool /* swap */ +#endif +); + +typedef struct { + int major_version; + int minor_version; + IcePoProcessMsgProc process_msg_proc; +} IcePoVersionRec; + +typedef struct { + int major_version; + int minor_version; + IcePaProcessMsgProc process_msg_proc; +} IcePaVersionRec; + +typedef IcePoAuthStatus (*IcePoAuthProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer * /* authStatePtr */, + Bool /* cleanUp */, + Bool /* swap */, + int /* authDataLen */, + IcePointer /* authData */, + int * /* replyDataLenRet */, + IcePointer * /* replyDataRet */, + char ** /* errorStringRet */ +#endif +); + +typedef IcePaAuthStatus (*IcePaAuthProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer * /* authStatePtr */, + Bool /* swap */, + int /* authDataLen */, + IcePointer /* authData */, + int * /* replyDataLenRet */, + IcePointer * /* replyDataRet */, + char ** /* errorStringRet */ +#endif +); + +typedef Bool (*IceHostBasedAuthProc) ( +#if NeedFunctionPrototypes + char * /* hostName */ +#endif +); + +typedef Status (*IceProtocolSetupProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + int /* majorVersion */, + int /* minorVersion */, + char * /* vendor */, + char * /* release */, + IcePointer * /* clientDataRet */, + char ** /* failureReasonRet */ +#endif +); + +typedef void (*IceProtocolActivateProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer /* clientData */ +#endif +); + +typedef void (*IceIOErrorProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +typedef void (*IcePingReplyProc) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePointer /* clientData */ +#endif +); + +typedef void (*IceErrorHandler) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + Bool /* swap */, + int /* offendingMinorOpcode */, + unsigned long /* offendingSequence */, + int /* errorClass */, + int /* severity */, + IcePointer /* values */ +#endif +); + +typedef void (*IceIOErrorHandler) ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + + +/* + * Function prototypes + */ + +_XFUNCPROTOBEGIN + +extern int IceRegisterForProtocolSetup ( +#if NeedFunctionPrototypes + char * /* protocolName */, + char * /* vendor */, + char * /* release */, + int /* versionCount */, + IcePoVersionRec * /* versionRecs */, + int /* authCount */, + char ** /* authNames */, + IcePoAuthProc * /* authProcs */, + IceIOErrorProc /* IOErrorProc */ +#endif +); + +extern int IceRegisterForProtocolReply ( +#if NeedFunctionPrototypes + char * /* protocolName */, + char * /* vendor */, + char * /* release */, + int /* versionCount */, + IcePaVersionRec * /* versionRecs */, + int /* authCount */, + char ** /* authNames */, + IcePaAuthProc * /* authProcs */, + IceHostBasedAuthProc /* hostBasedAuthProc */, + IceProtocolSetupProc /* protocolSetupProc */, + IceProtocolActivateProc /* protocolActivateProc */, + IceIOErrorProc /* IOErrorProc */ +#endif +); + +extern IceConn IceOpenConnection ( +#if NeedFunctionPrototypes + char * /* networkIdsList */, + IcePointer /* context */, + Bool /* mustAuthenticate */, + int /* majorOpcodeCheck */, + int /* errorLength */, + char * /* errorStringRet */ +#endif +); + +extern IcePointer IceGetConnectionContext ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern Status IceListenForConnections ( +#if NeedFunctionPrototypes + int * /* countRet */, + IceListenObj ** /* listenObjsRet */, + int /* errorLength */, + char * /* errorStringRet */ +#endif +); + +extern Status IceListenForWellKnownConnections ( +#if NeedFunctionPrototypes + char * /* port */, + int * /* countRet */, + IceListenObj ** /* listenObjsRet */, + int /* errorLength */, + char * /* errorStringRet */ +#endif +); + +extern int IceGetListenConnectionNumber ( +#if NeedFunctionPrototypes + IceListenObj /* listenObj */ +#endif +); + +extern char *IceGetListenConnectionString ( +#if NeedFunctionPrototypes + IceListenObj /* listenObj */ +#endif +); + +extern char *IceComposeNetworkIdList ( +#if NeedFunctionPrototypes + int /* count */, + IceListenObj * /* listenObjs */ +#endif +); + +extern void IceFreeListenObjs ( +#if NeedFunctionPrototypes + int /* count */, + IceListenObj * /* listenObjs */ +#endif +); + +extern void IceSetHostBasedAuthProc ( +#if NeedFunctionPrototypes + IceListenObj /* listenObj */, + IceHostBasedAuthProc /* hostBasedAuthProc */ +#endif +); + +extern IceConn IceAcceptConnection ( +#if NeedFunctionPrototypes + IceListenObj /* listenObj */, + IceAcceptStatus * /* statusRet */ +#endif +); + +extern void IceSetShutdownNegotiation ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + Bool /* negotiate */ +#endif +); + +extern Bool IceCheckShutdownNegotiation ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern IceCloseStatus IceCloseConnection ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern Status IceAddConnectionWatch ( +#if NeedFunctionPrototypes + IceWatchProc /* watchProc */, + IcePointer /* clientData */ +#endif +); + +extern void IceRemoveConnectionWatch ( +#if NeedFunctionPrototypes + IceWatchProc /* watchProc */, + IcePointer /* clientData */ +#endif +); + +extern IceProtocolSetupStatus IceProtocolSetup ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + int /* myOpcode */, + IcePointer /* clientData */, + Bool /* mustAuthenticate */, + int * /* majorVersionRet */, + int * /* minorVersionRet */, + char ** /* vendorRet */, + char ** /* releaseRet */, + int /* errorLength */, + char * /* errorStringRet */ +#endif +); + +extern Status IceProtocolShutdown ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + int /* majorOpcode */ +#endif +); + +extern IceProcessMessagesStatus IceProcessMessages ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IceReplyWaitInfo * /* replyWait */, + Bool * /* replyReadyRet */ +#endif +); + +extern Status IcePing ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + IcePingReplyProc /* pingReplyProc */, + IcePointer /* clientData */ +#endif +); + +extern char *IceAllocScratch ( +#if NeedFunctionPrototypes + IceConn /* iceConn */, + unsigned long /* size */ +#endif +); + +extern int IceFlush ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern int IceGetOutBufSize ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern int IceGetInBufSize ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern IceConnectStatus IceConnectionStatus ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern char *IceVendor ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern char *IceRelease ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern int IceProtocolVersion ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern int IceProtocolRevision ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern int IceConnectionNumber ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern char *IceConnectionString ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern unsigned long IceLastSentSequenceNumber ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern unsigned long IceLastReceivedSequenceNumber ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern Bool IceSwapping ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern IceErrorHandler IceSetErrorHandler ( +#if NeedFunctionPrototypes + IceErrorHandler /* handler */ +#endif +); + +extern IceIOErrorHandler IceSetIOErrorHandler ( +#if NeedFunctionPrototypes + IceIOErrorHandler /* handler */ +#endif +); + + +/* + * Multithread Routines + */ + +extern Status IceInitThreads ( +#if NeedFunctionPrototypes + void +#endif +); + +extern void IceAppLockConn ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +extern void IceAppUnlockConn ( +#if NeedFunctionPrototypes + IceConn /* iceConn */ +#endif +); + +_XFUNCPROTOEND + +#endif /* _ICELIB_H_ */ |