|
|
1.1 root 1: /*
2: * Copyright (c) 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution is only permitted until one year after the first shipment
6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
7: * binary forms are permitted provided that: (1) source distributions retain
8: * this entire copyright notice and comment, and (2) distributions including
9: * binaries display the following acknowledgement: This product includes
10: * software developed by the University of California, Berkeley and its
11: * contributors'' in the documentation or other materials provided with the
12: * distribution and in all advertising materials mentioning features or use
13: * of this software. Neither the name of the University nor the names of
14: * its contributors may be used to endorse or promote products derived from
15: * this software without specific prior written permission.
16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19: *
20: * @(#)conf.c 7.6 (Berkeley) 6/28/90
21: */
22:
23: #include "param.h"
24: #include "systm.h"
25: #include "buf.h"
26: #include "ioctl.h"
27: #include "tty.h"
28: #include "conf.h"
29:
30: int nulldev(), nodev(), rawread(), rawwrite(), swstrategy();
31:
32: #include "dk.h"
33: #if NVD > 0
34: int vdopen(),vdclose(),vdstrategy(),vdioctl();
35: int vddump(),vdsize();
36: #else
37: #define vdopen nodev
38: #define vdclose nodev
39: #define vdstrategy nodev
40: #define vdioctl nodev
41: #define vddump nodev
42: #define vdsize 0
43: #endif
44:
45: #include "hd.h"
46: #if NHD > 0
47: int hdopen(),hdclose(),hdstrategy(),hdioctl();
48: int hddump(),hdsize();
49: #else
50: #define hdopen nodev
51: #define hdclose nodev
52: #define hdstrategy nodev
53: #define hdioctl nodev
54: #define hddump nodev
55: #define hdsize 0
56: #endif
57:
58: #include "yc.h"
59: #if NCY > 0
60: int cyopen(),cyclose(),cystrategy(),cydump();
61: int cyioctl(),cyreset();
62: #else
63: #define cyopen nodev
64: #define cyclose nodev
65: #define cystrategy nodev
66: #define cydump nodev
67: #define cyioctl nodev
68: #define cyreset nulldev
69: #endif
70:
71: struct bdevsw bdevsw[] =
72: {
73: { nodev, nulldev, nodev, nodev, /*0*/
74: nodev, 0, 0 },
75: { vdopen, vdclose, vdstrategy, vdioctl, /*1*/
76: vddump, vdsize, 0 },
77: { hdopen, hdclose, hdstrategy, hdioctl, /*2*/
78: hddump, hdsize, 0 },
79: { cyopen, cyclose, cystrategy, cyioctl, /*3*/
80: cydump, 0, B_TAPE },
81: { nodev, nodev, swstrategy, nodev, /*4*/
82: nodev, 0, 0 },
83: };
84: int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
85:
86: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
87: extern struct tty cons;
88:
89: #include "vx.h"
90: #if NVX == 0
91: #define vxopen nodev
92: #define vxclose nodev
93: #define vxread nodev
94: #define vxwrite nodev
95: #define vxioctl nodev
96: #define vxstop nodev
97: #define vxreset nulldev
98: #define vx_tty 0
99: #else
100: int vxopen(),vxclose(),vxread(),vxwrite(),vxioctl(),vxstop(),vxreset();
101: struct tty vx_tty[];
102: #endif
103:
104: int syopen(),syread(),sywrite(),syioctl(),syselect();
105:
106: int mmrw();
107: #define mmselect seltrue
108:
109: #include "pty.h"
110: #if NPTY > 0
111: int ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop();
112: int ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect();
113: int ptyioctl();
114: struct tty pt_tty[];
115: #else
116: #define ptsopen nodev
117: #define ptsclose nodev
118: #define ptsread nodev
119: #define ptswrite nodev
120: #define ptcopen nodev
121: #define ptcclose nodev
122: #define ptcread nodev
123: #define ptcwrite nodev
124: #define ptyioctl nodev
125: #define pt_tty 0
126: #define ptcselect nodev
127: #define ptsstop nulldev
128: #endif
129:
130: #include "mp.h"
131: #if NMP > 0
132: int mpopen(), mpclose(), mpread(), mpwrite(), mpioctl(), mpstop();
133: int mpdlopen(), mpdlclose(), mpdlwrite(), mpdlioctl();
134: extern struct tty mp_tty[];
135: #else
136: #define mpopen nodev
137: #define mpclose nodev
138: #define mpread nodev
139: #define mpwrite nodev
140: #define mpioctl nodev
141: #define mpstop nodev
142: #define mpdlopen nodev
143: #define mpdlclose nodev
144: #define mpdlwrite nodev
145: #define mpdlioctl nodev
146: #define mp_tty 0
147: #endif
148:
149: #if NII > 0
150: int iiioctl(), iiclose(), iiopen();
151: #else
152: #define iiopen nodev
153: #define iiclose nodev
154: #define iiioctl nodev
155: #endif
156:
157: #include "enp.h"
158: #if NENP > 0
159: int enpr_open(), enpr_close(), enpr_read(), enpr_write(), enpr_ioctl();
160: #else
161: #define enpr_open nodev
162: #define enpr_close nodev
163: #define enpr_read nodev
164: #define enpr_write nodev
165: #define enpr_ioctl nodev
166: #endif
167:
168: #include "dr.h"
169: #if NDR > 0
170: int dropen(),drclose(),drread(),drwrite(),drioctl(),drreset();
171: #else
172: #define dropen nodev
173: #define drclose nodev
174: #define drread nodev
175: #define drwrite nodev
176: #define drioctl nodev
177: #define drreset nodev
178: #endif
179:
180: #include "ik.h"
181: #if NIK > 0
182: int ikopen(),ikclose(),ikread(),ikwrite(),ikioctl();
183: #else
184: #define ikopen nodev
185: #define ikclose nodev
186: #define ikread nodev
187: #define ikwrite nodev
188: #define ikioctl nodev
189: #endif
190:
191: int logopen(),logclose(),logread(),logioctl(),logselect();
192:
193: int fdopen();
194:
195: int ttselect(), seltrue();
196:
197: struct cdevsw cdevsw[] =
198: {
199: cnopen, cnclose, cnread, cnwrite, /*0*/
200: cnioctl, nulldev, nulldev, &cons,
201: ttselect, nodev, NULL,
202: vxopen, vxclose, vxread, vxwrite, /*1*/
203: vxioctl, vxstop, vxreset, vx_tty,
204: ttselect, nodev, NULL,
205: syopen, nulldev, syread, sywrite, /*2*/
206: syioctl, nulldev, nulldev, NULL,
207: syselect, nodev, NULL,
208: nulldev, nulldev, mmrw, mmrw, /*3*/
209: nodev, nulldev, nulldev, NULL,
210: mmselect, nodev, NULL,
211: nodev, nulldev, nodev, nodev, /*4*/
212: nodev, nodev, nulldev, NULL,
213: seltrue, nodev, NULL,
214: vdopen, vdclose, rawread, rawwrite, /*5*/
215: vdioctl, nodev, nulldev, NULL,
216: seltrue, nodev, vdstrategy,
217: hdopen, hdclose, rawread, rawwrite, /*6*/
218: hdioctl, nodev, nulldev, NULL,
219: seltrue, nodev, hdstrategy,
220: cyopen, cyclose, rawread, rawwrite, /*7*/
221: cyioctl, nodev, cyreset, NULL,
222: seltrue, nodev, cystrategy,
223: nulldev, nulldev, rawread, rawwrite, /*8*/
224: nodev, nodev, nulldev, NULL,
225: nodev, nodev, swstrategy,
226: ptsopen, ptsclose, ptsread, ptswrite, /*9*/
227: ptyioctl, ptsstop, nodev, pt_tty,
228: ttselect, nodev, NULL,
229: ptcopen, ptcclose, ptcread, ptcwrite, /*10*/
230: ptyioctl, nulldev, nodev, pt_tty,
231: ptcselect, nodev, NULL,
232: mpdlopen, mpdlclose, nodev, mpdlwrite, /*11*/
233: mpdlioctl, nodev, nulldev, NULL,
234: seltrue, nodev, NULL,
235: mpopen, mpclose, mpread, mpwrite, /*12*/
236: mpioctl, mpstop, nulldev, mp_tty,
237: ttselect, nodev, NULL,
238: nodev, nodev, nodev, nodev, /*13*/
239: nodev, nodev, nulldev, NULL,
240: nodev, nodev, NULL,
241: iiopen, iiclose, nulldev, nulldev, /*14*/
242: iiioctl, nulldev, nulldev, NULL,
243: seltrue, nodev, NULL,
244: logopen, logclose, logread, nodev, /*15*/
245: logioctl, nodev, nulldev, NULL,
246: logselect, nodev, NULL,
247: enpr_open, enpr_close, enpr_read, enpr_write, /*16*/
248: enpr_ioctl, nodev, nulldev, NULL,
249: nodev, nodev, NULL,
250: nodev, nodev, nodev, nodev, /*17*/
251: nodev, nodev, nulldev, NULL,
252: nodev, nodev, NULL,
253: dropen, drclose, drread, drwrite, /*18*/
254: drioctl, nodev, drreset, NULL,
255: nodev, nodev, NULL,
256: nodev, nodev, nodev, nodev, /*19*/
257: nodev, nodev, nulldev, NULL,
258: nodev, nodev, NULL,
259: /* 20-30 are reserved for local use */
260: ikopen, ikclose, ikread, ikwrite, /*20*/
261: ikioctl, nodev, nulldev, NULL,
262: nodev, nodev, NULL,
263: fdopen, nodev, nodev, nodev, /*21*/
264: nodev, nodev, nodev, NULL,
265: nodev, nodev, NULL,
266: };
267: int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
268:
269: int mem_no = 3; /* major device number of memory special file */
270:
271: /*
272: * Swapdev is a fake device implemented
273: * in sw.c used only internally to get to swstrategy.
274: * It cannot be provided to the users, because the
275: * swstrategy routine munches the b_dev and b_blkno entries
276: * before calling the appropriate driver. This would horribly
277: * confuse, e.g. the hashing routines. Instead, /dev/drum is
278: * provided as a character (raw) device.
279: */
280: dev_t swapdev = makedev(4, 0);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.