aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/dps/Xstreams.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/dps/Xstreams.h')
-rw-r--r--nx-X11/lib/dps/Xstreams.h218
1 files changed, 218 insertions, 0 deletions
diff --git a/nx-X11/lib/dps/Xstreams.h b/nx-X11/lib/dps/Xstreams.h
new file mode 100644
index 000000000..a7419131b
--- /dev/null
+++ b/nx-X11/lib/dps/Xstreams.h
@@ -0,0 +1,218 @@
+/* $XConsortium: Xstreams.h,v 1.6 91/07/19 23:22:53 gildea Exp $ */
+/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
+/* Copyright (c) 1988 AT&T */
+/* All Rights Reserved */
+
+/*
+ * 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 AT&T or USL not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission. AT&T and USL make no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * AT&T and USL DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL AT&T or USL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/* $XFree86$ */
+
+
+#ifndef _XSTREAMS_H_
+#define _XSTREAMS_H_
+/*
+ Xstreams.h (C header file)
+ Acc: 575304412 Tue Apr 26 09:46:52 1988
+ Mod: 574017273 Tue Apr 26 12:14:33 1988
+ Sta: 574017273 Tue Apr 26 12:14:33 1988
+ Owner: 2011
+ Group: 1985
+ Permissions: 644
+*/
+/*
+ START USER STAMP AREA
+*/
+/*
+ END USER STAMP AREA
+*/
+
+
+
+#define MEM_ALLIGN(ptr) ((((unsigned) (ptr + 3)) >> 2) << 2)
+
+#define CONNECT_TIMEOUT 60
+#define MAX_AUTO_BUF_LEN 256
+#define MAX_DISP_DIGITS 20
+#define MAX_NETS 8
+
+typedef struct _host {
+ char host_name[32];
+ int host_len;
+ struct _host *next;
+} HOST;
+
+/*
+ * Structure for handling multiple connection requests on the same stream.
+ */
+
+struct listenCall {
+ struct t_call *CurrentCall;
+ struct listenCall *NextCall;
+};
+
+struct listenQue {
+ struct listenCall *QueHead;
+ struct listenCall *QueTail;
+};
+
+#define EMPTY(p) (p->QueHead == (struct listenCall *) NULL)
+
+
+typedef struct {
+ int flags;
+ char type;
+ int display;
+ char *inputbuf;
+ int buflen;
+ int bufptr;
+ int msglen;
+ } IOBUFFER;
+
+typedef struct {
+ int _nnets;
+#ifdef SVR4
+ struct netconfig *_net[MAX_NETS];
+#else
+ char *_net[MAX_NETS];
+#endif
+ struct listenQue FreeList[MAX_NETS];
+ struct listenQue PendingQue[MAX_NETS];
+ int _npeers;
+ char **_peer;
+ int *_peerlen;
+ HOST *_validhosts;
+ } networkInfo;
+
+
+typedef struct _Xstream {
+ int (*SetupTheListener)();
+ int (*ConnectNewClient)();
+ int (*CallTheListener)();
+ int (*ReadFromStream)();
+ int (*BytesCanBeRead)();
+ int (*WriteToStream)();
+ int (*CloseStream)();
+ int (*CreateAddress)();
+ union ext {
+ int (*NameServer)();
+ networkInfo *NetInfo;
+ } u;
+ } Xstream;
+
+/* old shared libraries have the names already fixed */
+#ifdef USL_COMPAT
+#define _XsStream xstream
+#define _XReadV _readv
+#define _XWriteV _writev
+#define _XSelect XSelect
+#define _XsErrorCall ErrorCall
+#define _XsSetupLocalStream SetupLocalStream
+#define _XsConnectLocalClient ConnectLocalClient
+#define _XsOpenSpServer OpenSpServer
+#define _XsReadLocalStream ReadLocalStream
+#define _XsConnectTliClient ConnectTliClient
+#define _XsSetupTliStrean SetupTliStream
+#define _XsCallTliServer CallTliServer
+#define _XsCallLocalServer CallLocalServer
+#define _XsTypeOfStream TypeOfStream
+#ifdef SVR4
+#define _XsSetupNamedStream SetupNamedStream
+#define _XsSetupSpStream SetupSpStream
+#endif /* SVR4 */
+#endif /* USL_COMPAT */
+
+extern Xstream _XsStream[];
+
+#define NO_BUFFERING 0
+#define BUFFERING 1
+
+/* Network services */
+
+#define OpenDaemonConnection 0
+#define PEER_NAME 1
+#define PEER_ALLOC 2
+#define PEER_FREE 3
+#define ConvertNetAddrToName 4
+#define ConvertNameToNetAddr 5
+#define ConvertNameToTliCall 6
+#define ConvertTliCallToName 7
+#define ConvertNameToTliBind 8
+
+#define UNAME_LENGTH 14
+
+#define X_LOCAL_STREAM 0
+#define X_NAMED_STREAM 1
+/* Enhanced Application Compatibility Support */
+#define X_SP_STREAM 2
+/* End Enhanced Application Compatibility Support */
+
+#define X_TLI_STREAM 3
+#define CLOSED_STREAM -1
+
+/*
+ The following are defined in X.h. Any changes to FamilyUname
+ should take X.h into consideration.
+*/
+ /* protocol families */
+
+ /*
+
+ #define FamilyInternet 0
+ #define FamilyDECnet 1
+ #define FamilyChaos 2
+
+ */
+
+#define FamilyUname 3
+
+#define X_TCP_PORT 6000
+
+#define NAMED_LISTENER "/dev/X/Nserver"
+#define LOCAL_LISTENER "/dev/X/server"
+/* Enhanced Application Compatibility Support */
+/* End Enhanced Application Compatibility Support */
+
+#define NAME_SERVER_NODE "/dev/X/nameserver"
+#define XNETSPECDIR "lib/net"
+#define XROOTDIR "/usr/X"
+
+#define MAX_SIMUL_TLI_CALLS 20
+
+#define SetupNetworkInfo() _XsStream[X_LOCAL_STREAM].u.NetInfo = &Network; \
+ _XsStream[X_NAMED_STREAM].u.NetInfo = &Network; \
+/* Enhanced Application Compatibility Support */ \
+/* End Enhanced Application Compatibility Support */ \
+ _XsStream[X_TLI_STREAM].u.NameServer = nameserver
+
+#define NetworkInfo (_XsStream[X_LOCAL_STREAM].u.NetInfo)
+#define GetNetworkInfo (*_XsStream[X_TLI_STREAM].u.NameServer)
+#define validhosts _XsStream[X_LOCAL_STREAM].u.NetInfo->_validhosts
+
+/*
+ * header of messages sent by X to the nameserver
+ * 1st int: the size of the entire message.
+ * 2nd int: the size of the header itself.
+ * 3rd int: the service number.
+ * 4th int: the display number.
+ * 5th int: the length of the network name.
+ */
+
+#define HEADERSIZE (5*sizeof(int))
+#endif /* _XSTREAMS_H_ */