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

📄 mode.h

📁 unix v7是最后一个广泛发布的研究型UNIX版本
💻 H
字号:
#/* *	UNIX shell */#define BYTESPERWORD	(sizeof(char *))TYPE char	CHAR;TYPE char	BOOL;TYPE int	UFD;TYPE int	INT;TYPE float	REAL;TYPE char	*ADDRESS;TYPE long int	L_INT;TYPE int	VOID;TYPE unsigned	POS;TYPE char	*STRING;TYPE char	MSG[];TYPE int	PIPE[];TYPE char	*STKPTR;TYPE char	*BYTPTR;STRUCT stat	STATBUF;	/* defined in /usr/sys/stat.h */STRUCT blk	*BLKPTR;STRUCT fileblk	FILEBLK;STRUCT filehdr	FILEHDR;STRUCT fileblk	*FILE;STRUCT trenod	*TREPTR;STRUCT forknod	*FORKPTR;STRUCT comnod	*COMPTR;STRUCT swnod	*SWPTR;STRUCT regnod	*REGPTR;STRUCT parnod	*PARPTR;STRUCT ifnod	*IFPTR;STRUCT whnod	*WHPTR;STRUCT fornod	*FORPTR;STRUCT lstnod	*LSTPTR;STRUCT argnod	*ARGPTR;STRUCT dolnod	*DOLPTR;STRUCT ionod	*IOPTR;STRUCT namnod	NAMNOD;STRUCT namnod	*NAMPTR;STRUCT sysnod	SYSNOD;STRUCT sysnod	*SYSPTR;STRUCT sysnod	SYSTAB[];#define NIL	((char*)0)/* the following nonsense is required * because casts turn an Lvalue * into an Rvalue so two cheats * are necessary, one for each context. */union { int _cheat;};#define Lcheat(a)	((a)._cheat)#define Rcheat(a)	((int)(a))/* address puns for storage allocation */UNION {	FORKPTR	_forkptr;	COMPTR	_comptr;	PARPTR	_parptr;	IFPTR	_ifptr;	WHPTR	_whptr;	FORPTR	_forptr;	LSTPTR	_lstptr;	BLKPTR	_blkptr;	NAMPTR	_namptr;	BYTPTR	_bytptr;	}	address;/* for functions that do not return values */struct void {INT vvvvvvvv;};/* heap storage */struct blk {	BLKPTR	word;};#define	BUFSIZ	64struct fileblk {	UFD	fdes;	POS	flin;	BOOL	feof;	CHAR	fsiz;	STRING	fnxt;	STRING	fend;	STRING	*feval;	FILE	fstak;	CHAR	fbuf[BUFSIZ];};/* for files not used with file descriptors */struct filehdr {	UFD	fdes;	POS	flin;	BOOL	feof;	CHAR	fsiz;	STRING	fnxt;	STRING	fend;	STRING	*feval;	FILE	fstak;	CHAR	_fbuf[1];};struct sysnod {	STRING	sysnam;	INT	sysval;};/* this node is a proforma for those that follow */struct trenod {	INT	tretyp;	IOPTR	treio;};/* dummy for access only */struct argnod {	ARGPTR	argnxt;	CHAR	argval[1];};struct dolnod {	DOLPTR	dolnxt;	INT	doluse;	CHAR	dolarg[1];};struct forknod {	INT	forktyp;	IOPTR	forkio;	TREPTR	forktre;};struct comnod {	INT	comtyp;	IOPTR	comio;	ARGPTR	comarg;	ARGPTR	comset;};struct ifnod {	INT	iftyp;	TREPTR	iftre;	TREPTR	thtre;	TREPTR	eltre;};struct whnod {	INT	whtyp;	TREPTR	whtre;	TREPTR	dotre;};struct fornod {	INT	fortyp;	TREPTR	fortre;	STRING	fornam;	COMPTR	forlst;};struct swnod {	INT	swtyp;	STRING	swarg;	REGPTR	swlst;};struct regnod {	ARGPTR	regptr;	TREPTR	regcom;	REGPTR	regnxt;};struct parnod {	INT	partyp;	TREPTR	partre;};struct lstnod {	INT	lsttyp;	TREPTR	lstlef;	TREPTR	lstrit;};struct ionod {	INT	iofile;	STRING	ioname;	IOPTR	ionxt;	IOPTR	iolst;};#define	FORKTYPE	(sizeof(struct forknod))#define	COMTYPE		(sizeof(struct comnod))#define	IFTYPE		(sizeof(struct ifnod))#define	WHTYPE		(sizeof(struct whnod))#define	FORTYPE		(sizeof(struct fornod))#define	SWTYPE		(sizeof(struct swnod))#define	REGTYPE		(sizeof(struct regnod))#define	PARTYPE		(sizeof(struct parnod))#define	LSTTYPE		(sizeof(struct lstnod))#define	IOTYPE		(sizeof(struct ionod))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -