Annotation of researchv10dc/lsys/sys/conf.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * structures defining driver entry points
        !             3:  * tables of pointers to, e.g., struct bdevsw are declared in conf.c
        !             4:  * the structures themselves are defined in the drivers that use them
        !             5:  *
        !             6:  * the init macros are used just to check the number of arguments
        !             7:  */
        !             8: struct bdevsw
        !             9: {
        !            10:        int     (*d_open)();
        !            11:        int     (*d_close)();
        !            12:        int     (*d_strategy)();
        !            13:        int     d_flags;
        !            14: };
        !            15: #ifdef KERNEL
        !            16: extern struct bdevsw *bdevsw[];
        !            17: extern struct bdevsw nullbdev;
        !            18: extern int nblkdev;
        !            19: #define        bdinit(open, close, strat, flag)        {open, close, strat, flag}
        !            20: #endif
        !            21: 
        !            22: /*
        !            23:  * Character device switch.
        !            24:  */
        !            25: extern struct cdevsw
        !            26: {
        !            27:        int     (*d_open)();
        !            28:        int     (*d_close)();
        !            29:        int     (*d_read)();
        !            30:        int     (*d_write)();
        !            31:        int     (*d_ioctl)();
        !            32:        int     (*d_reset)();           /* ??? */
        !            33:        struct  streamtab *qinfo;
        !            34: };
        !            35: #ifdef KERNEL
        !            36: extern struct cdevsw *cdevsw[];
        !            37: extern struct cdevsw nullcdev;
        !            38: extern int nchrdev;
        !            39: #define        cdinit(open, close, read, write, ioctl) {open, close, read, write, ioctl, nulldev, NULL}
        !            40: #define        cstrinit(stream)        {nodev, nulldev, nodev, nodev, nodev, nulldev, stream}
        !            41: #endif
        !            42: 
        !            43: /* file system types */
        !            44: struct fstypsw {
        !            45:        int             (*t_put)();
        !            46:        int             (*t_updat)();
        !            47:        int             (*t_read)();
        !            48:        int             (*t_write)();
        !            49:        int             (*t_trunc)();
        !            50:        int             (*t_stat)();
        !            51:        int             (*t_nami)();
        !            52:        int             (*t_mount)();
        !            53:        int             (*t_ioctl)();
        !            54:        struct inode *  (*t_open)();
        !            55:        int             (*t_dirread)();
        !            56: };
        !            57: #ifdef KERNEL
        !            58: extern struct fstypsw *fstypsw[];
        !            59: extern nfstyp;
        !            60: #define        fsinit(put, updat, read, write, trunc, stat, nami, mount, ioctl, open, dir) \
        !            61:        {put, updat, read, write, trunc, stat, nami, mount, ioctl, open, dir}
        !            62: #endif
        !            63: 
        !            64: /*
        !            65:  * stream processor table
        !            66:  */
        !            67: struct streamtab {
        !            68:        struct  qinit   *rdinit;
        !            69:        struct  qinit   *wrinit;
        !            70: };
        !            71: 
        !            72: #ifdef KERNEL
        !            73: extern struct streamtab *streamtab[];
        !            74: extern struct streamtab nullstream;
        !            75: extern int nstreamtab;
        !            76: #endif
        !            77: 
        !            78: /*
        !            79:  * Swap device information
        !            80:  */
        !            81: struct swdevt
        !            82: {
        !            83:        dev_t   sw_dev;
        !            84:        daddr_t sw_size;
        !            85:        int     sw_freed;
        !            86: };
        !            87: #ifdef KERNEL
        !            88: extern struct swdevt swdevt[];
        !            89: int    nswdevt;
        !            90: 
        !            91: extern struct inode *nullopen();
        !            92: extern int nullnami();
        !            93: extern int nulldev(), nodev();
        !            94: #endif

unix.superglobalmegacorp.com

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