⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xstreams.h

📁 早期freebsd实现
💻 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 + -