home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#) conf.h 2.2 88/05/18
- *
- * Copyright (C) The Santa Cruz Operation, 1984, 1985, 1986, 1987, 1988.
- * Copyright (C) Microsoft Corporation, 1984, 1985, 1986, 1987, 1988.
- * This Module contains Proprietary Information of
- * The Santa Cruz Operation, Microsoft Corporation
- * and AT&T, and should be treated as Confidential.
- */
-
- /*
- * THIS FILE CONTAINS CODE WHICH IS DESIGNED TO BE
- * PORTABLE BETWEEN DIFFERENT MACHINE ARCHITECTURES
- * AND CONFIGURATIONS. IT SHOULD NOT REQUIRE ANY
- * MODIFICATIONS WHEN ADAPTING XENIX TO NEW HARDWARE.
- */
-
-
-
- /*
- * 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.
- */
- extern struct bdevsw
- {
- char *d_name;
- int (*d_open)();
- int (*d_close)();
- int (*d_strategy)();
- struct iobuf *d_tab;
- } bdevsw[];
-
- /*
- * Character device switch.
- */
- extern struct cdevsw
- {
- char *d_name;
- int (*d_open)();
- int (*d_close)();
- int (*d_read)();
- int (*d_write)();
- int (*d_ioctl)();
- struct tty *d_ttys;
- struct streamtab *d_str;
- } cdevsw[];
-
- #define FMNAMESZ 8
-
- struct fmodsw {
- char f_name[FMNAMESZ+1];
- struct streamtab *f_str;
- };
- extern struct fmodsw fmodsw[];
-
- extern int bdevcnt;
- extern int cdevcnt;
- extern int fmodcnt;
-
- /*
- * Line discipline switch.
- */
- extern 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)();
- } linesw[];
-
- extern int linecnt;
-
- extern int (*vecintsw[])();
- extern uchar_t vecintflags[];
- extern uchar_t vecintlev[];
-
- /*
- * Definitions for vecintflags in c.c:
- * info about vectors contained in vecintsw.
- */
- #define SWITCH_INTR 0
- #define FAST_INTR 1
- #define CLOCK_INTR 2
-
- extern int vintmin, vintmax;
- extern int bdevcnt, bdevmax;
- extern int cdevcnt, cdevmax;
-
- struct vecshrsw {
- int shr_ivec; /* interrupt level */
- int (*shr_intr)( ); /* ptr to xxintr */
- };
-
- extern struct vecshrsw vecshrsw[];
- extern int vshrcnt, vshrmax;
-
- extern nodev( ), nulldev( ), novec( );
- extern shrvec( );
-
- extern int (*dinitsw[])();
- extern int (*dhaltsw[])();
-
- #define EVLEN 15
-
- struct evdevsw { /* event devices */
- char *devnam; /* device name */
- void (*eventizer)(); /* eventizing routine */
- };
-