From eb2f17e30a4b9c79dc78d520e0e0334b99984d50 Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 27 May 2010 06:48:35 +0000 Subject: libXdmcp git update 27/5/2010 --- libXdmcp/include/X11/Xdmcp.h | 371 +++++++++++++++++++++---------------------- 1 file changed, 181 insertions(+), 190 deletions(-) (limited to 'libXdmcp/include/X11/Xdmcp.h') diff --git a/libXdmcp/include/X11/Xdmcp.h b/libXdmcp/include/X11/Xdmcp.h index 254848565..b01c03e81 100644 --- a/libXdmcp/include/X11/Xdmcp.h +++ b/libXdmcp/include/X11/Xdmcp.h @@ -1,190 +1,181 @@ -/* $XdotOrg: xc/lib/Xdmcp/Xdmcp.h,v 1.2 2004/04/23 18:43:41 eich Exp $ */ -/* $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.7 2003/07/09 15:27:29 tsi Exp $ */ - -#ifndef _XDMCP_H_ -#define _XDMCP_H_ - -#include - -#include - -_XFUNCPROTOBEGIN - -#define XDM_PROTOCOL_VERSION 1 -#define XDM_UDP_PORT 177 - -/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned - * multicast addresses for XDMCP, where X in the prefix may be replaced - * by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local, - * 5 for Site-Local, and so on. We set the default here to the Link-Local - * version to most closely match the old IPv4 subnet broadcast behavior. - * Both xdm and X -query allow specifying a different address if a different - * scope is defined. - */ -#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b" - -#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, -#if defined(IPv6) && defined(AF_INET6) - XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY, -#endif - XDM_KEEP_ME_LAST -} 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_ */ +/* + * 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. + * + */ + +#ifndef _XDMCP_H_ +#define _XDMCP_H_ + +#include + +#include + +_XFUNCPROTOBEGIN + +#define XDM_PROTOCOL_VERSION 1 +#define XDM_UDP_PORT 177 + +/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned + * multicast addresses for XDMCP, where X in the prefix may be replaced + * by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local, + * 5 for Site-Local, and so on. We set the default here to the Link-Local + * version to most closely match the old IPv4 subnet broadcast behavior. + * Both xdm and X -query allow specifying a different address if a different + * scope is defined. + */ +#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b" + +#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, +#if defined(IPv6) && defined(AF_INET6) + XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY, +#endif + XDM_KEEP_ME_LAST +} 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, const ARRAY16Ptr array); +extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, const ARRAY32Ptr array); +extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, const ARRAY8Ptr array); +extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, const 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, const 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(const 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(const ARRAY8Ptr src, ARRAY8Ptr dst); + +extern int XdmcpARRAY8Equal(const ARRAY8Ptr array1, const 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 + +extern int XdmcpCompareKeys (const XdmAuthKeyPtr a, const 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_ */ -- cgit v1.2.3