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

📄 defs.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* @(#)defs.h	4.1 (ULTRIX) 7/17/90 *//************************************************************************ *									* *			Copyright (c) 1986 by				* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   This software is  derived  from  software  received  from  the	* *   University    of   California,   Berkeley,   and   from   Bell	* *   Laboratories.  Use, duplication, or disclosure is  subject  to	* *   restrictions  under  license  agreements  with  University  of	* *   California and with AT&T.						* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* * *   Modification History: * * 005 - David Lindner Thu Dec 14 13:19:02 EST 1989 *	 Added LOGNAME for POSIX compliance * * 004 - David Lindner Fri Nov  3 10:42:08 EST 1989 *	 Redefined MAXTRAP to be 32. * * 003 - David Lindner 26-Jul-89 *	 Fixed badfilename bug. * * 002 - Gary A. Gaudet, Wed Nov  9 10:24:49 EST 1988 *	 MIPS portability and bug fixes * * 001 - Gary Gaudet for Andy Gadsby 09-mar-88 *	 i18n version of csh * * * *//* *	UNIX shell *//* * DJL 005 * maximum length of the logname */#define LOGNAME_MAX 8/* error exits from various parts of shell */#define 	ERROR		1#define 	SYNBAD		2#define 	SIGFAIL 	2000#define	 	SIGFLG		0200/* command tree */#define 	FPRS		0x0100#define 	FINT		0x0200#define 	FAMP		0x0400#define 	FPIN		0x0800#define 	FPOU		0x1000#define 	FPCL		0x2000#define 	FCMD		0x4000#define 	COMMSK		0x00F0#define		CNTMSK		0x000F#define 	TCOM		0x0000#define 	TPAR		0x0010#define 	TFIL		0x0020#define 	TLST		0x0030#define 	TIF			0x0040#define 	TWH			0x0050#define 	TUN			0x0060#define 	TSW			0x0070#define 	TAND		0x0080#define 	TORF		0x0090#define 	TFORK		0x00A0#define 	TFOR		0x00B0#define		TFND		0x00C0/* execute table */#define 	SYSSET		1#define 	SYSCD		2#define 	SYSEXEC		3#ifdef RES	/*	include login code	*/#define 	SYSLOGIN	4#else#define 	SYSNEWGRP 	4#endif#define 	SYSTRAP		5#define 	SYSEXIT		6#define 	SYSSHFT 	7#define 	SYSWAIT		8#define 	SYSCONT 	9#define 	SYSBREAK	10#define 	SYSEVAL 	11#define 	SYSDOT		12#define 	SYSRDONLY 	13#define 	SYSTIMES 	14#define 	SYSXPORT	15#define 	SYSNULL 	16#define 	SYSREAD 	17#define		SYSTST		18#ifndef RES	/*	exclude umask code	*/#define 	SYSUMASK 	20#define 	SYSULIMIT 	21#endif#define 	SYSECHO		22#define		SYSHASH		23#define		SYSPWD		24#define 	SYSRETURN	25#define		SYSUNS		26#define		SYSMEM		27#define		SYSTYPE  	28/* used for input and output of shell */#define 	INIO 		19/*io nodes*/#define 	USERIO		10#define 	IOUFD		15#define 	IODOC		16#define 	IOPUT		32#define 	IOAPP		64#define 	IOMOV		128#define 	IORDW		256#define		IOSTRIP		512#define 	INPIPE		0#define 	OTPIPE		1/* arg list terminator */#define 	ENDARGS		0#include	"mac.h"#include	"mode.h"#include	"name.h"#include	<signal.h>/*	error catching */extern int 		errno;/* result type declarations */#define 	alloc 		mallocextern CHTYPE				*alloc();extern CHTYPE				*make();extern CHTYPE				*movstr();extern CHTYPE				*movstrn();extern struct trenod	*cmd();extern struct trenod	*makefork();extern struct namnod	*lookup();extern struct namnod	*findnam();extern struct dolnod	*useargs();extern float			expr();extern CHTYPE				*catpath();extern CHTYPE				*getpath();extern CHTYPE				*nextpath();extern CHTYPE				**scan();extern CHTYPE				*mactrim();extern CHTYPE				*macro();extern CHTYPE				*execs();extern int				exname();extern CHTYPE				*staknam();extern int				printnam();extern int				printro();extern int				printexp();extern CHTYPE				**setenv();extern long				time();#define 	attrib(n,f)		(n->namflg |= f)#define 	round(a,b)		(((int)(((CHTYPE *)(a)+b)-1))&~((b)-1))#define 	closepipe(x)	(close(x[INPIPE]), close(x[OTPIPE]))#define 	eq(a,b)			(cf(a,b)==0)#define 	max(a,b)		((a)>(b)?(a):(b))#define 	assert(x)		;/* temp files and io */extern int				output;extern int				ioset;extern struct ionod		*iotemp;	/* files to be deleted sometime */extern struct ionod		*fiotemp;	/* function files to be deleted sometime */extern struct ionod		*iopend;	/* documents waiting to be read at NL */extern struct fdsave	fdmap[];/* substitution */extern int				dolc;extern CHTYPE				**dolv;extern struct dolnod	*argfor;extern struct argnod	*gchain;/* stak stuff */#include		"stak.h"/* string constants */extern CHTYPE				*atline;extern CHTYPE				*readmsg;extern CHTYPE				*colon;extern CHTYPE				*minus;extern CHTYPE				*nullstr;extern CHTYPE				*sptbnl;extern CHTYPE				*unexpected;extern CHTYPE				*endoffile;extern CHTYPE				*synmsg;/* name tree and words */extern struct sysnod	reserved[];extern int				no_reserved;extern struct sysnod	commands[];extern int				no_commands;extern int				wdval;extern int				wdnum;extern int				fndef;extern int				nohash;extern struct argnod	*wdarg;extern int				wdset;extern BOOL				reserv;/* prompting */extern CHTYPE				*stdprompt;extern CHTYPE				*supprompt;extern CHTYPE				*profile;extern CHTYPE				*sysprofile;/* built in names */extern struct namnod	fngnod;extern struct namnod	cdpnod;extern struct namnod	ifsnod;extern struct namnod	homenod;extern struct namnod	mailnod;extern struct namnod	pathnod;extern struct namnod	ps1nod;extern struct namnod	ps2nod;extern struct namnod	mchknod;extern struct namnod	acctnod;extern struct namnod	mailpnod;/* special names */extern CHTYPE				flagadr[];extern CHTYPE				*pcsadr;extern CHTYPE				*pidadr;extern CHTYPE				*cmdadr;extern CHTYPE                           *calladr;       /* DJL 003 */extern CHTYPE				*defpath;/* names always present */extern CHTYPE				*mailname;extern CHTYPE				*homename;extern CHTYPE				*pathname;extern CHTYPE				*cdpname;extern CHTYPE				*ifsname;extern CHTYPE				*ps1name;extern CHTYPE				*ps2name;extern CHTYPE				*mchkname;extern CHTYPE				*acctname;extern CHTYPE				*mailpname;/* transput */extern CHTYPE				tmpout[];extern CHTYPE				*tmpnam;extern int				serial;#define		TMPNAM 		7extern struct fileblk	*standin;#define 	input		(standin->fdes)#define 	eof			(standin->feof)extern int				peekc;extern int				peekn;extern CHTYPE				*comdiv;extern CHTYPE				*devnull;/* flags */#define		noexec		01#define		sysflg		01#define		intflg		02#define		prompt		04#define		setflg		010#define		errflg		020#define		ttyflg		040#define		forked		0100#define		oneflg		0200#define		rshflg		0400#define		waiting		01000#define		stdflg		02000#define		STDFLG		's'#define		execpr		04000#define		readpr		010000#define		keyflg		020000#define		hashflg		040000#define		nofngflg	0200000#define		exportflg	0400000extern long				flags;extern int				rwait;	/* flags read waiting *//* error exits from various parts of shell */#include	<setjmp.h>extern jmp_buf			subshell;extern jmp_buf			errshell;/* fault handling */#include	"brkincr.h"extern unsigned			brkincr;#define 	MINTRAP		0#define 	MAXTRAP		32		/* DJL 004 */#define 	TRAPSET		2#define 	SIGSET		4#define 	SIGMOD		8#define 	SIGCAUGHT	16extern void				done();		/* DAG */extern void				fault();	/* DAG */extern BOOL				trapnote;extern CHTYPE				*trapcom[];extern BOOL				trapflg[];/* name tree and words */extern char				**environ;extern CHTYPE				numbuf[];extern CHTYPE				*export;extern CHTYPE				*duperr;extern CHTYPE				*readonly;/* execflgs */extern int				exitval;extern int				retval;extern BOOL				execbrk;extern int				loopcnt;extern int				breakcnt;extern int				funcnt;/* messages */extern CHTYPE				*mailmsg;extern CHTYPE				*coredump;extern CHTYPE				*badopt;extern CHTYPE				*badparam;extern CHTYPE				*unset;extern CHTYPE				*badsub;extern CHTYPE				*nospace;extern CHTYPE				*nostack;extern CHTYPE				*notfound;extern CHTYPE				*badtrap;extern CHTYPE				*baddir;extern CHTYPE				*badshift;extern CHTYPE				*restricted;extern CHTYPE				*execpmsg;extern CHTYPE				*notid;extern CHTYPE 			*badulimit;extern CHTYPE				*wtfailed;extern CHTYPE				*badcreate;extern CHTYPE				*nofork;extern CHTYPE				*noswap;extern CHTYPE				*piperr;extern CHTYPE				*badopen;extern CHTYPE				*badnum;extern CHTYPE				*arglist;extern CHTYPE				*txtbsy;extern CHTYPE				*toobig;extern CHTYPE				*badexec;extern CHTYPE				*badfile;extern CHTYPE				*badreturn;extern CHTYPE				*badexport;extern CHTYPE				*badunset;extern CHTYPE				*nohome;extern CHTYPE				*badperm;/*	'builtin' error messages	*/extern CHTYPE				*btest;extern CHTYPE				*badop;/*	fork constant	*/#define 	FORKLIM 	32extern address			end[];#include	"ctype.h"extern int				wasintr;	/* used to tell if break or delete is hit		   					 * while executing a wait							 */extern int				eflag;/* * Find out if it is time to go away. * `trapnote' is set to SIGSET when fault is seen and * no trap has been set. */#define		sigchk()	if (trapnote & SIGSET)	\							exitsh(exitval ? exitval : SIGFAIL)#define 	exitset()	retval = exitval

⌨️ 快捷键说明

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