1: /*
2: * Copyright (c) 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)conf.h 1.3 (2.11BSD Berkeley) 12/23/92
7: */
8:
9: /*
10: * Declaration of block device
11: * switch. Each entry (row) is
12: * the only link between the
13: * main unix code and the driver.
14: * The initialization of the
15: * device switches is in the
16: * file conf.c.
17: */
18: struct bdevsw
19: {
20: int (*d_open)();
21: int (*d_close)();
22: int (*d_strategy)();
23: int (*d_root)(); /* XXX root attach routine */
24: daddr_t (*d_psize)();
25: int d_flags;
26: };
27:
28: #if defined(KERNEL) && !defined(SUPERVISOR)
29: extern struct bdevsw bdevsw[];
30: #endif
31:
32: /*
33: * Character device switch.
34: */
35: struct cdevsw
36: {
37: int (*d_open)();
38: int (*d_close)();
39: int (*d_read)();
40: int (*d_write)();
41: int (*d_ioctl)();
42: int (*d_stop)();
43: struct tty *d_ttys;
44: int (*d_select)();
45: int (*d_strategy)();
46: };
47: #if defined(KERNEL) && !defined(SUPERVISOR)
48: extern struct cdevsw cdevsw[];
49: #endif
50:
51: /*
52: * tty line control switch.
53: */
54: struct linesw
55: {
56: int (*l_open)();
57: int (*l_close)();
58: int (*l_read)();
59: int (*l_write)();
60: int (*l_ioctl)();
61: int (*l_rint)();
62: int (*l_rend)();
63: int (*l_meta)();
64: int (*l_start)();
65: int (*l_modem)();
66: };
67: #if defined(KERNEL) && !defined(SUPERVISOR)
68: extern struct linesw linesw[];
69: #endif
Defined struct's
Usage of this include