2.11BSD/sys/h/conf.h
/*
* Copyright (c) 1986 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* @(#)conf.h 1.3 (2.11BSD Berkeley) 12/23/92
*/
/*
* 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_root)(); /* XXX root attach routine */
daddr_t (*d_psize)();
int d_flags;
};
#if defined(KERNEL) && !defined(SUPERVISOR)
extern struct bdevsw bdevsw[];
#endif
/*
* Character device switch.
*/
struct cdevsw
{
int (*d_open)();
int (*d_close)();
int (*d_read)();
int (*d_write)();
int (*d_ioctl)();
int (*d_stop)();
struct tty *d_ttys;
int (*d_select)();
int (*d_strategy)();
};
#if defined(KERNEL) && !defined(SUPERVISOR)
extern struct cdevsw cdevsw[];
#endif
/*
* tty line control switch.
*/
struct linesw
{
int (*l_open)();
int (*l_close)();
int (*l_read)();
int (*l_write)();
int (*l_ioctl)();
int (*l_rint)();
int (*l_rend)();
int (*l_meta)();
int (*l_start)();
int (*l_modem)();
};
#if defined(KERNEL) && !defined(SUPERVISOR)
extern struct linesw linesw[];
#endif