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