📄 xstreams.h
字号:
/* $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. */#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 8typedef 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_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -