Annotation of researchv10dc/lsys/sys/param.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Tunable parameters which do not usually vary per system
                      3:  */
                      4: 
                      5: #define        MAXUPRC 75              /* max processes per user */
                      6: #define        SSIZE   4               /* initial stack size (*512 bytes) */
                      7: #define        SINCR   4               /* increment of stack (*512 bytes) */
                      8: #define        NOFILE  128             /* max open files per process */
                      9: #define        NSYSFILE 4              /* stdin, stdout, stderr, /dev/tty */
                     10: #define        NCARGS  (16*1024)       /* # characters in exec arglist */
                     11: #define        CMASK   0               /* default mask for file creation */
                     12: #define        NGROUPS 32              /* number of simultaneous groups */
                     13: 
                     14: /*
                     15:  * priorities
                     16:  * probably should not be
                     17:  * altered too much
                     18:  */
                     19: 
                     20: #define        PSWP    0
                     21: #define        PINOD   10
                     22: #define        PRIBIO  20
                     23: #define        PZERO   25
                     24: #define        PPIPE   26
                     25: #define        PWAIT   30
                     26: #define        PSLEP   40
                     27: #define        PUSER   50
                     28: #define        PRIMAX  127
                     29: 
                     30: #define        NZERO   20
                     31: 
                     32: /*
                     33:  * signals
                     34:  * dont change
                     35:  */
                     36: 
                     37: #ifndef        NSIG
                     38: #include <signal.h>
                     39: #endif
                     40: 
                     41: /*
                     42:  * Return values from tsleep().
                     43:  */
                     44: #define        TS_OK   0       /* normal wakeup */
                     45: #define        TS_TIME 1       /* timed-out wakeup */
                     46: #define        TS_SIG  2       /* asynchronous signal wakeup */
                     47: 
                     48: #define        UPAGES  10              /* pages of u-area */
                     49: #define        NULL    0
                     50: #define        NODEV   (dev_t)(-1)
                     51: #define        ROOTINO ((ino_t)2)      /* i number of all roots */
                     52: #define        SUPERB  ((daddr_t)1)    /* block number of the super block */
                     53: #define        DIRSIZ  14              /* max characters per directory */
                     54: #define        MAXPID  30000           /* largest process id */
                     55: 
                     56: /*
                     57:  * clustering of small hardware pages to larger software pages
                     58:  * this should be in a separate file, one might guess
                     59:  *
                     60:  * bugs: SSIZE, SINCR and UPAGES must be multiples of CLSIZE
                     61:  * BSIZE must bear some relation to CLSIZE*NBPG (but what?)
                     62:  */
                     63: #define        CLSIZE  2
                     64: #define        CLOFSET         (CLSIZE*NBPG-1) /* for clusters, like PGOFSET */
                     65: 
                     66: /* give the base virtual address (first of CLSIZE) */
                     67: #define        clbase(i)       ((i) &~ (CLSIZE-1))
                     68: 
                     69: /* round a number of clicks up to a whole cluster */
                     70: #define        clrnd(i)        (((i) + (CLSIZE-1)) &~ (CLSIZE-1))
                     71: 
                     72: /*
                     73:  * the following tend to assume that CLSIZE == 2
                     74:  */
                     75: #define BITFS(dev)     ((dev) & 64)
                     76: #define BUFSIZE                4096    /* real buffer size */
                     77: #define        BSIZE(dev)      (BITFS(dev)? 4096: 1024)
                     78: #define        INOPB(dev)      (BITFS(dev)? 64: 16)    /* inodes per block */
                     79: #define        BMASK(dev)      (BITFS(dev)? 07777: 01777)      /* BSIZE-1 */
                     80: #define        BSHIFT(dev)     (BITFS(dev)? 12: 10)    /* LOG2(BSIZE) */
                     81: #define NINDIR(dev)    (BSIZE(dev)/sizeof(daddr_t))
                     82: #define        NMASK(dev)      (BITFS(dev)? 01777: 0377)       /* NINDIR-1 */
                     83: #define        NSHIFT(dev)     (BITFS(dev)? 10: 8)     /* LOG2(NINDIR) */
                     84: #define        NICINOD 100             /* free inodes stored in super block */
                     85: #define        NICFREE 178             /* free blocks in (old) super block */
                     86: #define itod(dev, x)   ((daddr_t)((((unsigned)(x)+2*INOPB(dev)-1)/INOPB(dev))))
                     87: #define itoo(dev, x)   ((int)(((x)+2*INOPB(dev)-1)%INOPB(dev)))
                     88: #define fsbtodb(dev, b)        (BITFS(dev)? (b)*8: (b)*CLSIZE)
                     89: #define dbtofsb(dev, b)        (BITFS(dev)? (b)/8: (b)/CLSIZE)
                     90: 
                     91: #ifndef INTRLVE
                     92: /* macros replacing interleaving functions */
                     93: #define        dkblock(bp)     ((bp)->b_blkno)
                     94: #define        dkunit(bp)      (minor((bp)->b_dev & 077) >> 3)
                     95: /* that means 8 units with at most 8 pieces each */
                     96: #endif
                     97: 
                     98: /*
                     99:  * Macros for fast min/max
                    100:  */
                    101: #define        MIN(a,b) (((a)<(b))?(a):(b))
                    102: #define        MAX(a,b) (((a)>(b))?(a):(b))
                    103: 
                    104: /*
                    105:  * Machine-dependent bits and macros
                    106:  */
                    107: #define        UMODE   PSL_CURMOD              /* usermode bits */
                    108: #define        USERMODE(ps)    (((ps) & UMODE) == UMODE)
                    109: 
                    110: #define        BASEPRI(ps)     (((ps) & PSL_IPL) != 0)
                    111: 
                    112: /*
                    113:  * Provide about n microseconds of delay
                    114:  */
                    115: #define        DELAY(n)        {extern int delayfact;register int N = (n)*delayfact;while (--N > 0);}
                    116: 
                    117: /*
                    118:  * hardware definitions
                    119:  * some are (stupidly) in types.h
                    120:  */
                    121: #define        USRSTACK        (0x80000000-UPAGES*NBPG)
                    122:                                        /* Start of user stack */
                    123: #define        P1TOP           0x200000        /* boundary between P0 and P1 regions */
                    124: #define        KSTART          0x80000000      /* beginning of system space */
                    125: 
                    126: #define        HZ      60                      /* software clock ticks per second */
                    127: 
                    128: /*
                    129:  * user-accessible types and macros
                    130:  */
                    131: #include "sys/types.h"
                    132: 
                    133: /*
                    134:  * very long stuff
                    135:  */
                    136: #define        Ltol(x)         (x).lo
                    137: Long   ltoL();
                    138: Long   Lladd();
                    139: Long   Luadd();
                    140: Long   LLadd();
                    141: #define        Lsign(x)        (x).hi
                    142: unsigned Lshift();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.