#sccs "@(#)uts/kern/sys:conf.h 1.4" /* Convergent Technologies - System V - May 1983 */ #ifndef conf_h #define conf_h #include #include /* * Declaration of block device switch. Each entry (row) is * the only link between the main unix code and the driver. * The initialization of the device switches is in the file conf.c. */ struct bdevsw { int (*d_open)(); int (*d_close)(); int (*d_strategy)(); int (*d_print)(); }; extern struct bdevsw bdevsw[]; /* * Character device switch. */ struct cdevsw { int (*d_open)(); int (*d_close)(); int (*d_read)(); int (*d_write)(); int (*d_ioctl)(); struct tty *d_ttys; #ifndef NOSTREAMS struct streamtab *d_str; #endif }; extern struct cdevsw cdevsw[]; #ifndef NOSTREAMS #ifdef NOLOAD_STREAMS #define FMNAMESZ 8 struct fmodsw { char f_name[FMNAMESZ+1]; struct streamtab *f_str; }; extern struct fmodsw fmodsw[]; extern int fmodcnt; #endif #endif extern int bdevcnt; extern int cdevcnt; /* * Line discipline switch. */ struct linesw { int (*l_open)(); int (*l_close)(); int (*l_read)(); int (*l_write)(); int (*l_ioctl)(); int (*l_input)(); int (*l_output)(); int (*l_mdmint)(); }; extern struct linesw linesw[]; /* * Miscellaneous functions list list from loadable drivers */ #define WPROC 0 #define GET_TTY 1 #define PUTCLOCK 2 #define PUTCUNLOCK 3 #define KBINIT 4 #define MSINIT 5 #define KSPECIAL 6 #define WDOWAKE 8 #define SCRCHK 9 #define CCSET 10 #define MSSET 11 #define SKPLUNK 12 #define KHIGH 13 #define MSCOORD 14 #define LUFONT 15 #define LDMISCSLOTS 20 /* The size of the ldmisc table */ extern int (*ldmisc[])(); extern int linecnt; /* * Swap device information (from BSD 4.1) */ struct swdevt { dev_t sw_dev; int sw_freed; }; extern struct swdevt swdevt[]; #endif