|
|
1.1 ! root 1: /* ! 2: * Declaration of block device ! 3: * switch. Each entry (row) is ! 4: * the only link between the ! 5: * main unix code and the driver. ! 6: * The initialization of the ! 7: * device switches is in the ! 8: * file conf.c. ! 9: */ ! 10: struct bdevsw ! 11: { ! 12: int (*d_open)(); ! 13: int (*d_close)(); ! 14: int (*d_strategy)(); ! 15: int (*d_dump)(); ! 16: int d_flags; ! 17: }; ! 18: #ifdef KERNEL ! 19: struct bdevsw bdevsw[]; ! 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_mmap)(); ! 33: int (*d_reset)(); ! 34: struct streamtab *qinfo; ! 35: }; ! 36: #ifdef KERNEL ! 37: struct cdevsw cdevsw[]; ! 38: #endif ! 39: ! 40: /* file system types */ ! 41: struct fstypsw { ! 42: int (*t_put)(); ! 43: struct inode *(*t_get)(); ! 44: int (*t_free)(); ! 45: int (*t_updat)(); ! 46: int (*t_read)(); ! 47: int (*t_write)(); ! 48: int (*t_trunc)(); ! 49: int (*t_stat)(); ! 50: int (*t_nami)(); ! 51: int (*t_mount)(); ! 52: int (*t_ioctl)(); ! 53: struct inode * (*t_open)(); ! 54: }; ! 55: #ifdef KERNEL ! 56: extern struct fstypsw fstypsw[]; ! 57: extern nfstyp; ! 58: /* defaults for fstypsw */ ! 59: extern struct inode *nullget(); ! 60: extern int nullnami(); ! 61: extern struct inode *nullopen(); ! 62: #endif ! 63: ! 64: /* ! 65: * stream processor table ! 66: */ ! 67: extern struct streamtab { ! 68: struct qinit *rdinit; ! 69: struct qinit *wrinit; ! 70: } *streamtab[]; ! 71: ! 72: /* ! 73: * Swap device information ! 74: */ ! 75: struct swdevt ! 76: { ! 77: dev_t sw_dev; ! 78: int sw_freed; ! 79: }; ! 80: #ifdef KERNEL ! 81: struct swdevt swdevt[]; ! 82: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.