Annotation of researchv10no/sys/mkconf/mkconf.h, revision 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.