Research V7 development
[unix-history] / usr / sys / 40 / param.h
/*
* tunable variables
*/
#define NBUF 15 /* size of buffer cache */
#define NINODE 20 /* number of in core inodes */
#define NFILE 20 /* number of in core file structures */
#define NMOUNT 2 /* number of mountable file systems */
#define MAXMEM (64*32) /* max core per process - first # is Kw */
#define MAXUPRC 15 /* max processes per user */
#define SSIZE 20 /* initial stack size (*64 bytes) */
#define SINCR 20 /* increment of stack (*64 bytes) */
#define NOFILE 20 /* max open files per process */
#define CANBSIZ 256 /* max size of typewriter line */
#define CMAPSIZ 20 /* size of core allocation area */
#define SMAPSIZ 20 /* size of swap allocation area */
#define NCALL 10 /* max simultaneous time callouts */
#define NPROC 20 /* max number of processes */
#define NTEXT 10 /* max number of pure texts */
#define NCLIST 40 /* max total clist size */
#define HZ 60 /* Ticks/second of the clock */
#define TIMEZONE (5*60) /* Minutes westward from Greenwich */
#define DSTFLAG 1 /* Daylight Saving Time applies in this locality */
#define MSGBUFS 128 /* Characters saved from error messages */
#define NCARGS 5120 /* # characters in exec arglist */
/*
* priorities
* probably should not be
* altered too much
*/
#define PSWP 0
#define PINOD 10
#define PRIBIO 20
#define PZERO 25
#define NZERO 20
#define PPIPE 26
#define PWAIT 30
#define PSLEP 40
#define PUSER 50
/*
* signals
* dont change
*/
#define NSIG 17
/*
* No more than 16 signals (1-16) because they are
* stored in bits in a word.
*/
#define SIGHUP 1 /* hangup */
#define SIGINT 2 /* interrupt (rubout) */
#define SIGQUIT 3 /* quit (FS) */
#define SIGINS 4 /* illegal instruction */
#define SIGTRC 5 /* trace or breakpoint */
#define SIGIOT 6 /* iot */
#define SIGEMT 7 /* emt */
#define SIGFPT 8 /* floating exception */
#define SIGKIL 9 /* kill, uncatchable termination */
#define SIGBUS 10 /* bus error */
#define SIGSEG 11 /* segmentation violation */
#define SIGSYS 12 /* bad system call */
#define SIGPIPE 13 /* end of pipe */
#define SIGCLK 14 /* alarm clock */
#define SIGTRM 15 /* Catchable termination */
/*
* fundamental constants of the implementation--
* cannot be changed easily
*/
#define NBPW sizeof(int) /* number of bytes in an integer */
#define BSIZE 512 /* size of secondary block (bytes) */
/* BSLOP can be 0 unless you have a TIU/Spider */
#define BSLOP 2 /* In case some device needs bigger buffers */
#define NINDIR (BSIZE/sizeof(daddr_t))
#define BMASK 0777 /* BSIZE-1 */
#define BSHIFT 9 /* LOG2(BSIZE) */
#define NMASK 0177 /* NINDIR-1 */
#define NSHIFT 7 /* LOG2(NINDIR) */
#define USIZE 16 /* size of user block (*64) */
#define UBASE 0140000 /* abs. addr of user block */
#define NULL 0
#define CMASK 0 /* default mask for file creation */
#define NODEV (dev_t)(-1)
#define ROOTINO ((ino_t)2) /* i number of all roots */
#define SUPERB ((daddr_t)1) /* block number of the super block */
#define DIRSIZ 14 /* max characters per directory */
#define NICINOD 100 /* number of superblock inodes */
#define NICFREE 50 /* number of superblock free blocks */
#define INFSIZE 138 /* size of per-proc info for users */
#define CBSIZE 6 /* number of chars in a clist block */
#define CROUND 07 /* clist rounding: sizeof(int *) + CBSIZE - 1*/
/*
* Some macros for units conversion
*/
/* Core clicks (64 bytes) to segments and vice versa */
#define ctos(x) ((x+127)/128)
#define stoc(x) ((x)*128)
/* Core clicks (64 bytes) to disk blocks */
#define ctod(x) ((x+7)>>3)
/* inumber to disk address */
#define itod(x) (daddr_t)((((unsigned)x+15)>>3))
/* inumber to disk offset */
#define itoo(x) (int)((x+15)&07)
/* clicks to bytes */
#define ctob(x) (x<<6)
/* bytes to clicks */
#define btoc(x) ((((unsigned)x+63)>>6))
/* major part of a device */
#define major(x) (int)(((unsigned)x>>8))
/* minor part of a device */
#define minor(x) (int)(x&0377)
/* make a device number */
#define makedev(x,y) (dev_t)((x)<<8 | (y))
typedef struct { int r[1]; } * physadr;
typedef long daddr_t;
typedef char * caddr_t;
typedef unsigned int ino_t;
typedef long time_t;
typedef int label_t[6]; /* regs 2-7 */
typedef int dev_t;
typedef long off_t;
/*
* Machine-dependent bits and macros
*/
#define UMODE 0170000 /* usermode bits */
#define USERMODE(ps) ((ps & UMODE)==UMODE)
#define INTPRI 0340 /* Priority bits */
#define BASEPRI(ps) ((ps & INTPRI) != 0)