|
|
1.1 root 1: /*
2: * Copyright (c) 1982, 1990 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.1 (Berkeley) 5/8/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 "ct.h"
33: #if NCT > 0
34: int ctopen(),ctclose(),ctstrategy(),ctread(),ctwrite(),ctdump(),ctioctl();
35: #else
36: #define ctopen nodev
37: #define ctclose nodev
38: #define ctstrategy nodev
39: #define ctread nodev
40: #define ctwrite nodev
41: #define ctdump nodev
42: #define ctioctl nodev
43: #endif
44:
45: #include "rd.h"
46: #if NRD > 0
47: int rdopen(),rdstrategy(),rdread(),rdwrite(),rddump(),rdioctl(),rdsize();
48: #else
49: #define rdopen nodev
50: #define rdstrategy nodev
51: #define rdread nodev
52: #define rdwrite nodev
53: #define rddump nodev
54: #define rdioctl nodev
55: #define rdsize 0
56: #endif
57:
58: #include "sd.h"
59: #if NSD > 0
60: int sdopen(),sdstrategy(),sdread(),sdwrite(),sddump(),sdioctl(),sdsize();
61: #else
62: #define sdopen nodev
63: #define sdstrategy nodev
64: #define sdread nodev
65: #define sdwrite nodev
66: #define sddump nodev
67: #define sdioctl nodev
68: #define sdsize 0
69: #endif
70:
71: #include "cd.h"
72: #if NCD > 0
73: int cdopen(),cdstrategy(),cdread(),cdwrite(),cddump(),cdioctl(),cdsize();
74: #else
75: #define cdopen nodev
76: #define cdstrategy nodev
77: #define cdread nodev
78: #define cdwrite nodev
79: #define cddump nodev
80: #define cdioctl nodev
81: #define cdsize 0
82: #endif
83:
84: #include "fd.h"
85: #if NFD > 0
86: int fdopen(),fdstrategy(),fdread(),fdwrite(),fddump(),fdioctl(),fdsize();
87: #else
88: #define fdopen nodev
89: #define fdstrategy nodev
90: #define fdread nodev
91: #define fdwrite nodev
92: #define fddump nodev
93: #define fdioctl nodev
94: #define fdsize 0
95: #endif
96:
97: struct bdevsw bdevsw[] =
98: {
99: { ctopen, ctclose, ctstrategy, ctioctl, /*0*/
100: ctdump, 0, B_TAPE },
101: { nodev, nodev, nodev, nodev, /*1*/
102: nodev, 0, 0 },
103: { rdopen, nulldev, rdstrategy, rdioctl, /*2*/
104: rddump, rdsize, 0 },
105: { nodev, nodev, swstrategy, nodev, /*3*/
106: nodev, 0, 0 },
107: { sdopen, nulldev, sdstrategy, sdioctl, /*4*/
108: sddump, sdsize, 0 },
109: { cdopen, nulldev, cdstrategy, cdioctl, /*5*/
110: cddump, cdsize, 0 },
111: { fdopen, nulldev, fdstrategy, fdioctl, /*6*/
112: fddump, fdsize, 0 },
113: };
114: int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
115:
116: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl(),cnselect();
117:
118: int syopen(),syread(),sywrite(),syioctl(),syselect();
119:
120: int mmrw();
121: #define mmselect seltrue
122:
123: #include "pty.h"
124: #if NPTY > 0
125: int ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop();
126: int ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect();
127: int ptyioctl();
128: struct tty pt_tty[];
129: #else
130: #define ptsopen nodev
131: #define ptsclose nodev
132: #define ptsread nodev
133: #define ptswrite nodev
134: #define ptcopen nodev
135: #define ptcclose nodev
136: #define ptcread nodev
137: #define ptcwrite nodev
138: #define ptyioctl nodev
139: #define pt_tty 0
140: #define ptcselect nodev
141: #define ptsstop nulldev
142: #endif
143:
144: #include "ppi.h"
145: #if NPPI > 0
146: int ppiopen(),ppiclose(),ppiread(),ppiwrite();
147: #else
148: #define ppiopen nodev
149: #define ppiclose nodev
150: #define ppiread nodev
151: #define ppiwrite nodev
152: #endif
153:
154: #include "ite.h"
155: #if NITE > 0
156: int iteopen(),iteclose(),iteread(),itewrite(),iteioctl();
157: struct tty ite_tty[];
158: #else
159: #define iteopen nodev
160: #define iteclose nodev
161: #define iteread nodev
162: #define itewrite nodev
163: #define itestop nulldev
164: #define iteioctl nodev
165: #define ite_tty 0
166: #endif
167:
168: #include "dca.h"
169: #if NDCA > 0
170: int dcaopen(),dcaclose(),dcaread(),dcawrite(),dcastop(),dcaioctl();
171: struct tty dca_tty[];
172: #else
173: #define dcaopen nodev
174: #define dcaclose nodev
175: #define dcaread nodev
176: #define dcawrite nodev
177: #define dcastop nulldev
178: #define dcaioctl nodev
179: #define dca_tty 0
180: #endif
181:
182: #include "dcm.h"
183: #if NDCM > 0
184: int dcmopen(),dcmclose(),dcmread(),dcmwrite(),dcmstop(),dcmioctl();
185: struct tty dcm_tty[];
186: #else
187: #define dcmopen nodev
188: #define dcmclose nodev
189: #define dcmread nodev
190: #define dcmwrite nodev
191: #define dcmstop nulldev
192: #define dcmioctl nodev
193: #define dcm_tty 0
194: #endif
195:
196: #include "clock.h"
197: #if NCLOCK > 0
198: int clockopen(),clockclose(),clockioctl(),clockmap();
199: #else
200: #define clockopen nodev
201: #define clockclose nodev
202: #define clockioctl nodev
203: #define clockmap nodev
204: #endif
205:
206: int logopen(),logclose(),logread(),logioctl(),logselect();
207:
208: int ttselect(), seltrue();
209:
210: int grfopen(),grfclose(),grfioctl(),grfselect(),grfmap();
211:
212: int hilopen(),hilclose(),hilioctl(),hilmap(),hilselect(),hilread();
213:
214: struct cdevsw cdevsw[] =
215: {
216: cnopen, cnclose, cnread, cnwrite, /*0*/
217: cnioctl, nulldev, nulldev, NULL,
218: cnselect, nodev, NULL,
219: syopen, nulldev, syread, sywrite, /*1*/
220: syioctl, nulldev, nulldev, NULL,
221: syselect, nodev, NULL,
222: nulldev, nulldev, mmrw, mmrw, /*2*/
223: nodev, nulldev, nulldev, NULL,
224: mmselect, nodev, NULL,
225: nulldev, nulldev, rawread, rawwrite, /*3*/
226: nodev, nodev, nulldev, NULL,
227: nodev, nodev, swstrategy,
228: ptsopen, ptsclose, ptsread, ptswrite, /*4*/
229: ptyioctl, ptsstop, nulldev, pt_tty,
230: ttselect, nodev, NULL,
231: ptcopen, ptcclose, ptcread, ptcwrite, /*5*/
232: ptyioctl, nulldev, nulldev, pt_tty,
233: ptcselect, nodev, NULL,
234: logopen, logclose, logread, nodev, /*6*/
235: logioctl, nodev, nulldev, NULL,
236: logselect, nodev, NULL,
237: ctopen, ctclose, ctread, ctwrite, /*7*/
238: ctioctl, nodev, nulldev, NULL,
239: seltrue, nodev, ctstrategy,
240: sdopen, nulldev, sdread, sdwrite, /*8*/
241: sdioctl, nodev, nulldev, NULL,
242: seltrue, nodev, sdstrategy,
243: rdopen, nulldev, rdread, rdwrite, /*9*/
244: rdioctl, nodev, nulldev, NULL,
245: seltrue, nodev, rdstrategy,
246: grfopen, grfclose, nulldev, nulldev, /*10*/
247: grfioctl, nodev, nulldev, NULL,
248: grfselect, grfmap, NULL,
249: ppiopen, ppiclose, ppiread, ppiwrite, /*11*/
250: nodev, nodev, nulldev, NULL,
251: nodev, nodev, NULL,
252: dcaopen, dcaclose, dcaread, dcawrite, /*12*/
253: dcaioctl, dcastop, nulldev, dca_tty,
254: ttselect, nodev, NULL,
255: iteopen, iteclose, iteread, itewrite, /*13*/
256: iteioctl, nodev, nulldev, ite_tty,
257: ttselect, nodev, NULL,
258: hilopen, hilclose, hilread, nulldev, /*14*/
259: hilioctl, nodev, nulldev, NULL,
260: hilselect, hilmap, NULL,
261: dcmopen, dcmclose, dcmread, dcmwrite, /*15*/
262: dcmioctl, dcmstop, nulldev, dcm_tty,
263: ttselect, nodev, NULL,
264: nodev, nodev, nodev, nodev, /*16*/
265: nodev, nodev, nulldev, NULL,
266: seltrue, nodev, NULL,
267: cdopen, nulldev, cdread, cdwrite, /*17*/
268: cdioctl, nodev, nulldev, NULL,
269: seltrue, nodev, cdstrategy,
270: clockopen, clockclose, nulldev, nulldev, /*18*/
271: clockioctl, nodev, nulldev, NULL,
272: nulldev, clockmap, NULL,
273: fdopen, nulldev, fdread, fdwrite, /*19*/
274: fdioctl, nodev, nulldev, NULL,
275: seltrue, nodev, NULL,
276: };
277: int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
278:
279: int mem_no = 2; /* major device number of memory special file */
280:
281: /*
282: * Swapdev is a fake device implemented
283: * in sw.c used only internally to get to swstrategy.
284: * It cannot be provided to the users, because the
285: * swstrategy routine munches the b_dev and b_blkno entries
286: * before calling the appropriate driver. This would horribly
287: * confuse, e.g. the hashing routines. Instead, /dev/drum is
288: * provided as a character (raw) device.
289: */
290: dev_t swapdev = makedev(3, 0);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.