Annotation of researchv10no/sys/mkconf/mkconf.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * global definitions for config
                      3:  */
                      4: 
                      5: #define        NULL    0
                      6: #define        NONUM   (-1)
                      7: #define        STDERR  2
                      8: 
                      9: 
                     10: /*
                     11:  * an entry from the master devices file
                     12:  */
                     13: 
                     14: #define        NSTR    10
                     15: 
                     16: typedef struct mdev {
                     17:        struct mdev *next;
                     18:        char *name;
                     19:        char *tag;
                     20:        char *strs[NSTR];
                     21:        char fstrs[NSTR];
                     22:        short rept;     /* repeat count; e.g. 8 dz11s per controller */
                     23:        char atype;     /* type of address */
                     24:        char nvec;      /* unibus only; number of vector entries */
                     25:        char adptype;   /* if i'm an adapter, which kind */
                     26:        char flags;
                     27: } Mdev;
                     28: 
                     29: extern Mdev *mlist;
                     30: 
                     31: /*
                     32:  * flags
                     33:  */
                     34: #define        FTBDONE 01      /* already marked as used in all tables */
                     35: #define        FDUPOK  02      /* duplicate devices supercede */
                     36: #define        FRAWVEC 04      /* raw vector, whatever that may mean */
                     37: 
                     38: /*
                     39:  * address type
                     40:  * these are indices into acode; see main.c
                     41:  */
                     42: 
                     43: #define        ANONE   0       /* no address */
                     44: #define        ACNT    1       /* unaddressed device, but print the count */
                     45: #define        ASBI    2       /* sbi-style nexus */
                     46: #define        AMBA    3       /* dev on massbus */
                     47: #define        AUBA    4       /* dev on unibus */
                     48: #define        ASUB    5       /* subdevice */
                     49: #define        AVBI    6       /* VAXBI nexus */
                     50: #define        APARAM  7       /* unaddressed; print count without `cnt' */
                     51: #define        AMSCP   8       /* MSCP device */
                     52: #define        ANOBUS  9       /* device adapter attached to no bus */
                     53: 
                     54: struct acode {
                     55:        int (*syntax)();        /* check Dev when conf file is read */
                     56:        int (*fixup)();         /* fix entry before printing address */
                     57:        int (*putaddr)();       /* put address stuff */
                     58:        int (*putvec)();        /* put vector interrupt routine */
                     59: } acode[];
                     60: 
                     61: /*
                     62:  * an entry in the conf file
                     63:  */
                     64: 
                     65: #define        NADDR   4
                     66: 
                     67: typedef struct dev {
                     68:        struct dev *next;
                     69:        struct dev *parent;     /* bus adapter */
                     70:        Mdev *mdev;
                     71:        int id;         /* 0 in `dz11 0' */
                     72:        int vecoff;     /* vector offset if bus adapter */
                     73:        long addr[NADDR];       /* used in mysterious ways */
                     74: } Dev;
                     75: 
                     76: extern Dev *dlist;
                     77: 
                     78: /*
                     79:  * an entry in the scb/trap vector list
                     80:  */
                     81: 
                     82: typedef struct scb {
                     83:        struct scb *next;
                     84:        int offset;
                     85:        int type;
                     86:        char *name;
                     87: } Scb;
                     88: 
                     89: extern Scb *llist;
                     90: 
                     91: /*
                     92:  * scb entry types
                     93:  */
                     94: 
                     95: #define        STRAP   0       /* trap onto kernel stack */
                     96: #define        SINTR   1       /* trap onto interrupt stack */
                     97: 
                     98: /*
                     99:  * device tables
                    100:  */
                    101: 
                    102: typedef struct devtab {
                    103:        Mdev *dev;
                    104:        int used;
                    105: } Devtab;
                    106: 
                    107: extern Devtab bdevsw[], cdevsw[], fstypsw[], ldispsw[], mscpsw[];;
                    108: extern int nblk, nchr, nfs, nld, nmscp;
                    109: 
                    110: typedef struct include {
                    111:        struct include *next;
                    112:        Mdev *dev;
                    113:        char *incl;
                    114:        char inuse;
                    115: } Include;
                    116: 
                    117: extern Include *inclist;
                    118: 
                    119: typedef struct swapdev {
                    120:        Mdev *mp;
                    121:        short major, minor;
                    122:        long size;
                    123: } Swapdev;
                    124: 
                    125: extern Swapdev swaptab[];
                    126: extern int nswapdev;
                    127: extern Mdev *rootfmp, *rootdmp;
                    128: extern int rootfs, rootmaj, rootmin;
                    129: extern int swapmaj, swapmin;
                    130: extern char *dumprout;
                    131: extern int dumpunit;
                    132: extern long dumplow, dumpsize;
                    133: 
                    134: char *ealloc();
                    135: char *estrdup();
                    136: Dev *advtype();
                    137: Mdev *mdlook();
                    138: long nconv();
                    139: char *keyread();
                    140: 
                    141: extern int errs;

unix.superglobalmegacorp.com

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