386BSD 0.1 development
[unix-history] / usr / src / sys.386bsd / sys / conf.h
CommitLineData
b688fc87
WJ
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)conf.h 7.9 (Berkeley) 5/5/91
34 */
35
36/*
37 * Definitions of device driver entry switches
38 */
39
40#ifdef __STDC__
41struct tty;
42#endif
43
44struct bdevsw {
45 int (*d_open) __P((dev_t dev, int oflags, int devtype,
46 struct proc *p));
47 int (*d_close) __P((dev_t dev, int fflag, int devtype,
48 struct proc *));
49 int (*d_strategy) __P((struct buf *bp));
50 int (*d_ioctl) __P((dev_t dev, int cmd, caddr_t data,
51 int fflag, struct proc *p));
52 int (*d_dump) __P((dev_t dev));
53 int (*d_psize) __P((dev_t dev));
54 int d_flags;
55};
56
57#ifdef KERNEL
58struct bdevsw bdevsw[];
59#endif
60
61struct cdevsw {
62 int (*d_open) __P((dev_t dev, int oflags, int devtype,
63 struct proc *p));
64 int (*d_close) __P((dev_t dev, int fflag, int devtype,
65 struct proc *));
66 int (*d_read) __P((dev_t dev, struct uio *uio, int ioflag));
67 int (*d_write) __P((dev_t dev, struct uio *uio, int ioflag));
68 int (*d_ioctl) __P((dev_t dev, int cmd, caddr_t data,
69 int fflag, struct proc *p));
70 int (*d_stop) __P((struct tty *tp, int rw));
71 int (*d_reset) __P((int uban)); /* XXX */
72 struct tty *d_ttys;
73 int (*d_select) __P((dev_t dev, int which, struct proc *p));
74 int (*d_mmap) __P(());
75 int (*d_strategy) __P((struct buf *bp));
76};
77
78#ifdef KERNEL
79struct cdevsw cdevsw[];
80
81/* symbolic sleep message strings */
82extern char devopn[], devio[], devwait[], devin[], devout[];
83extern char devioc[], devcls[];
84#endif
85
86struct linesw {
87 int (*l_open)();
88 int (*l_close)();
89 int (*l_read)();
90 int (*l_write)();
91 int (*l_ioctl)();
92 int (*l_rint)();
93 int (*l_rend)();
94 int (*l_meta)();
95 int (*l_start)();
96 int (*l_modem)();
97};
98
99#ifdef KERNEL
100struct linesw linesw[];
101#endif
102
103struct swdevt {
104 dev_t sw_dev;
105 int sw_freed;
106 int sw_nblks;
107 struct vnode *sw_vp;
108};
109
110#ifdef KERNEL
111struct swdevt swdevt[];
112#endif