Viewing file: Xdmcp.h (5.88 KB) -r--r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* $Xorg: Xdmcp.h,v 1.7 2001/04/13 14:43:00 steve Exp $ */ /* * Copyright 1989 Network Computing Devices, Inc., Mountain View, California. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of N.C.D. not be used in advertising or * publicity pertaining to distribution of the software without specific, * written prior permission. N.C.D. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * */ /* $XFree86: xc/lib/Xdmcp/Xdmcp.h,v 3.6 2001/12/19 21:37:31 dawes Exp $ */
#ifndef _XDMCP_H_ #define _XDMCP_H_
#include <X11/Xmd.h>
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
#define XDM_PROTOCOL_VERSION 1 #define XDM_UDP_PORT 177 #define XDM_MAX_MSGLEN 8192 #define XDM_MIN_RTX 2 #define XDM_MAX_RTX 32 #define XDM_RTX_LIMIT 7 #define XDM_KA_RTX_LIMIT 4 #define XDM_DEF_DORMANCY (3 * 60) /* 3 minutes */ #define XDM_MAX_DORMANCY (24 * 60 * 60) /* 24 hours */
typedef enum { BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY, WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE, FAILED, KEEPALIVE, ALIVE } xdmOpCode;
typedef enum { XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY, XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY, XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE, XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF, XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE } xdmcp_states;
#ifdef NOTDEF /* table of hosts */
#define XDM_MAX_STR_LEN 21 #define XDM_MAX_HOSTS 20 struct xdm_host_table { struct sockaddr_in sockaddr; char name[XDM_MAX_STR_LEN]; char status[XDM_MAX_STR_LEN]; }; #endif /* NOTDEF */
typedef CARD8 *CARD8Ptr; typedef CARD16 *CARD16Ptr; typedef CARD32 *CARD32Ptr;
typedef struct _ARRAY8 { CARD16 length; CARD8Ptr data; } ARRAY8, *ARRAY8Ptr;
typedef struct _ARRAY16 { CARD8 length; CARD16Ptr data; } ARRAY16, *ARRAY16Ptr;
typedef struct _ARRAY32 { CARD8 length; CARD32Ptr data; } ARRAY32, *ARRAY32Ptr;
typedef struct _ARRAYofARRAY8 { CARD8 length; ARRAY8Ptr data; } ARRAYofARRAY8, *ARRAYofARRAY8Ptr;
typedef struct _XdmcpHeader { CARD16 version, opcode, length; } XdmcpHeader, *XdmcpHeaderPtr;
typedef struct _XdmcpBuffer { BYTE *data; int size; /* size of buffer pointed by to data */ int pointer; /* current index into data */ int count; /* bytes read from network into data */ } XdmcpBuffer, *XdmcpBufferPtr;
typedef struct _XdmAuthKey { BYTE data[8]; } XdmAuthKeyRec, *XdmAuthKeyPtr;
/* implementation-independent network address structure. Equiv to sockaddr* for sockets and netbuf* for STREAMS. */
typedef char *XdmcpNetaddr;
extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array); extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array); extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array); extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array); extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value); extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value); extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value); extern int XdmcpWriteHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen);
extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array); extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array); extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array); extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array); extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep); extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep); extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep); extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen);
extern int XdmcpReadRemaining(XdmcpBufferPtr buffer);
extern void XdmcpDisposeARRAY8(ARRAY8Ptr array); extern void XdmcpDisposeARRAY16(ARRAY16Ptr array); extern void XdmcpDisposeARRAY32(ARRAY32Ptr array); extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array);
extern int XdmcpCopyARRAY8(ARRAY8Ptr src, ARRAY8Ptr dst);
extern int XdmcpARRAY8Equal(ARRAY8Ptr array1, ARRAY8Ptr array2);
extern void XdmcpGenerateKey (XdmAuthKeyPtr key); extern void XdmcpIncrementKey (XdmAuthKeyPtr key); extern void XdmcpDecrementKey (XdmAuthKeyPtr key); #ifdef HASXDMAUTH extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes); extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes); #endif
#ifndef TRUE #define TRUE 1 #define FALSE 0 #endif
#if !defined(Xalloc) && !defined(xalloc) && !defined(Xrealloc) extern void *Xalloc (unsigned long amount); extern void *Xrealloc (void *old, unsigned long amount); extern void Xfree(void *old); #endif
extern int XdmcpCompareKeys (XdmAuthKeyPtr a, XdmAuthKeyPtr b);
extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length); extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length); extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length); extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length); extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length); extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length); extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
_XFUNCPROTOEND
#endif /* _XDMCP_H_ */
|