Annotation of researchv10dc/lsys/sys/conf.h, revision 1.1.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.