
/*
 * @(#)systm.h	1.1 (National Semiconductor) 8/4/87 13:39:27
 * @(#) copyrights and other release restrictions may apply
 */

/*
 * Random set of variables
 * used by more than one
 * routine.
 */
/* extern char	canonb[CANBSIZ];	/* buffer for erase and kill (#@) */
extern	struct	inode	*rootdir;	/* pointer to inode of root directory */
extern	int	lbolt;			/* time of day in 60th not in time */
extern	int	hz;			/* clock frequency */
extern	struct	timeval	time;		/* time in sec from 1970 */
extern	struct	timezone	tz;	/* time in sec from 1970 */

/*
 * Nblkdev is the number of entries
 * (rows) in the block switch. It is
 * set in binit/bio.c by making
 * a pass over the switch.
 * Used in bounds checking on major
 * device numbers.
 */
int	nblkdev;

/*
 * Number of character switch entries.
 * Set by cinit/prim.c
 */
int	nchrdev;
char	runrun;			/* scheduling flag */
char	runin;			/* scheduling flag */
extern	char	runout;			/* scheduling flag */
extern	char	curpri;			/* more scheduling */
extern	char	noproc;			/* no process running */
extern	int	wantin;			/* more scheduling */
extern daddr_t	swplo;			/* block number of swap space */
extern	int	nswap;			/* size of swap space */
int	updlock;		/* lock for sync */
daddr_t	rablock;		/* block for read ahead */
int	rasize;			/* size of block in rablock */
int	selwait;
extern	char	regloc[];		/* locs. of saved user regs (trap.c) */
extern dev_t	rootdev;		/* device of the root */
extern dev_t	pipedev;		/* pipe device */
int 	mpid;			/* unique process id */
extern dev_t	swapdev;		/* device of the swaping */

extern	int	uchar(), schar();

/*
 * Structure of the system-entry table
 */
extern struct sysent {			/* system call entry table */
	char	sy_narg;		/* total number of arguments */
	int	(*sy_call)();		/* handler */
} sysent[];
