Ausam/sys/conf.h
/*
* Used to dissect integer device code
* into major (driver designation) and
* minor (driver parameter) parts.
*/
struct
{
char d_minor;
char d_major;
};
/*
* 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)();
#ifndef HASHED_BUFFERS
int *d_tab;
#else
int d_nodel; /* if no delayed write on device e.g. tape */
#endif HASHED_BUFFERS
#ifdef POWER_FAIL
int (*d_bpowf)();
#endif POWER_FAIL
} bdevsw[];
/*
* Nblkdev is the number of entries
* (rows) in the block switch. It is
* set in binit/bio.c by making
* a pass over the switch.
* Used in bounds checking on major
* device numbers.
*/
int nblkdev;
/*
* Character device switch.
*/
struct cdevsw
{
int (*d_open)();
int (*d_close)();
int (*d_read)();
int (*d_write)();
int (*d_sgtty)();
#ifdef TTY_CONNECT
struct tty *d_tty;
#endif TTY_CONNECT
#ifdef POWER_FAIL
int (*d_cpowf)();
#endif POWER_FAIL
} cdevsw[];
/*
* Number of character switch entries.
* Set by cinit/tty.c
*/
int nchrdev;