aboutsummaryrefslogtreecommitdiff
path: root/X11/Xdmcp.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-05-27 07:45:26 +0000
committermarha <marha@users.sourceforge.net>2010-05-27 07:45:26 +0000
commit9b02c06e9c08d3d537d0a6fed3304b2146d49511 (patch)
treebe6f1d6ff9c52670c60c4cf556b508357fadd174 /X11/Xdmcp.h
parent619d6f3626f36af85cc40eeee95c7585d906fe5c (diff)
parenteb2f17e30a4b9c79dc78d520e0e0334b99984d50 (diff)
downloadvcxsrv-9b02c06e9c08d3d537d0a6fed3304b2146d49511.tar.gz
vcxsrv-9b02c06e9c08d3d537d0a6fed3304b2146d49511.tar.bz2
vcxsrv-9b02c06e9c08d3d537d0a6fed3304b2146d49511.zip
svn merge ^/branches/released .
Diffstat (limited to 'X11/Xdmcp.h')
-rw-r--r--X11/Xdmcp.h371
1 files changed, 181 insertions, 190 deletions
diff --git a/X11/Xdmcp.h b/X11/Xdmcp.h
index 254848565..b01c03e81 100644
--- a/X11/Xdmcp.h
+++ b/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 <X11/Xmd.h>
-
-#include <X11/Xfuncproto.h>
-
-_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 <X11/Xmd.h>
+
+#include <X11/Xfuncproto.h>
+
+_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_ */