|
|
1.1 root 1: /* conf.c 4.40- 81/11/11 */
2:
3: #include "../h/param.h"
4: #include "../h/systm.h"
5: #include "../h/buf.h"
6: #include "../h/tty.h"
7: #include "../h/conf.h"
8: #include "../h/text.h"
9: #include "../h/dir.h"
10: #include "../h/user.h"
11: #include "../h/proc.h"
12: #include "../h/file.h"
13: #include "../h/inode.h"
14: #include "../h/acct.h"
15: #include "../h/pte.h"
16:
17: int nulldev();
18: int nodev();
19:
20: #include "hp.h"
21: #if NHP > 0
22: int hpstrategy(),hpread(),hpwrite(),hpintr(),hpdump();
23: #else
24: #define hpstrategy nodev
25: #define hpread nodev
26: #define hpwrite nodev
27: #define hpintr nodev
28: #define hpdump nodev
29: #endif
30:
31: #include "tu.h"
32: #if NHT > 0
33: int htopen(),htclose(),htstrategy(),htread(),htwrite(),htdump(),htioctl();
34: #else
35: #define htopen nodev
36: #define htclose nodev
37: #define htstrategy nodev
38: #define htread nodev
39: #define htwrite nodev
40: #define htdump nodev
41: #define htioctl nodev
42: #endif
43:
44: #include "rk.h"
45: #if NHK > 0
46: int rkstrategy(),rkread(),rkwrite(),rkintr(),rkdump(),rkreset();
47: #else
48: #define rkstrategy nodev
49: #define rkread nodev
50: #define rkwrite nodev
51: #define rkintr nodev
52: #define rkdump nodev
53: #define rkreset nodev
54: #endif
55:
56: #include "te.h"
57: #if NTE > 0
58: int tmopen(),tmclose(),tmstrategy(),tmread(),tmwrite();
59: int tmioctl(),tmdump(),tmreset();
60: #else
61: #define tmopen nodev
62: #define tmclose nodev
63: #define tmstrategy nodev
64: #define tmread nodev
65: #define tmwrite nodev
66: #define tmioctl nodev
67: #define tmdump nodev
68: #define tmreset nodev
69: #endif
70:
71: #include "ts.h"
72: #if NTS > 0
73: int tsopen(),tsclose(),tsstrategy(),tsread(),tswrite();
74: int tsioctl(),tsdump(),tsreset();
75: #else
76: #define tsopen nodev
77: #define tsclose nodev
78: #define tsstrategy nodev
79: #define tsread nodev
80: #define tswrite nodev
81: #define tsioctl nodev
82: #define tsdump nodev
83: #define tsreset nodev
84: #endif
85:
86: #include "mu.h"
87: #if NMT > 0
88: int mtopen(),mtclose(),mtstrategy(),mtread(),mtwrite();
89: int mtioctl(),mtdump();
90: #else
91: #define mtopen nodev
92: #define mtclose nodev
93: #define mtstrategy nodev
94: #define mtread nodev
95: #define mtwrite nodev
96: #define mtioctl nodev
97: #define mtdump nodev
98: #endif
99:
100: #include "ra.h"
101: #if NUDA > 0
102: int udopen(),udstrategy(),udread(),udwrite(),udreset(),uddump();
103: #else
104: #define udopen nodev
105: #define udstrategy nodev
106: #define udread nodev
107: #define udwrite nodev
108: #define udreset nulldev
109: #define uddump nodev
110: #endif
111:
112: #include "up.h"
113: #if NSC > 0
114: int upstrategy(),upread(),upwrite(),upreset(),updump();
115: #else
116: #define upstrategy nodev
117: #define upread nodev
118: #define upwrite nodev
119: #define upreset nulldev
120: #define updump nodev
121: #endif
122:
123: #if defined(VAX750) || defined(VAX7ZZ)
124: int tuopen(),tuclose(),tustrategy();
125: #else
126: #define tuopen nodev
127: #define tuclose nodev
128: #define tustrategy nodev
129: #endif
130:
131: int swstrategy(),swread(),swwrite();
132:
133: struct bdevsw bdevsw[] =
134: {
135: nulldev, nulldev, hpstrategy, hpdump, 0, /*0*/
136: htopen, htclose, htstrategy, htdump, B_TAPE, /*1*/
137: nulldev, nulldev, upstrategy, updump, 0, /*2*/
138: nulldev, nulldev, rkstrategy, rkdump, 0, /*3*/
139: nodev, nodev, swstrategy, nodev, 0, /*4*/
140: tmopen, tmclose, tmstrategy, tmdump, B_TAPE, /*5*/
141: tsopen, tsclose, tsstrategy, tsdump, B_TAPE, /*6*/
142: mtopen, mtclose, mtstrategy, mtdump, B_TAPE, /*7*/
143: tuopen, tuclose, tustrategy, nodev, B_TAPE, /*8*/
144: udopen, nulldev, udstrategy, uddump, 0, /*9*/
145: nodev, nodev, nodev, nodev, 0, /*10*/
146: 0,
147: };
148:
149: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
150: struct tty cons;
151:
152: #include "ct.h"
153: #if NCT > 0
154: int ctopen(),ctclose(),ctwrite();
155: #else
156: #define ctopen nulldev
157: #define ctclose nulldev
158: #define ctwrite nulldev
159: #endif
160:
161: #include "dh.h"
162: #if NDH == 0
163: #define dhopen nodev
164: #define dhclose nodev
165: #define dhread nodev
166: #define dhwrite nodev
167: #define dhioctl nodev
168: #define dhstop nodev
169: #define dhreset nulldev
170: #define dh11 0
171: #else
172: int dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset();
173: struct tty dh11[];
174: #endif
175:
176: #if VAX780
177: int flopen(),flclose(),flread(),flwrite();
178: #endif
179:
180: #include "dz.h"
181: #if NDZ == 0
182: #define dzopen nodev
183: #define dzclose nodev
184: #define dzread nodev
185: #define dzwrite nodev
186: #define dzioctl nodev
187: #define dzstop nodev
188: #define dzreset nulldev
189: #define dz_tty 0
190: #else
191: int dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset();
192: struct tty dz_tty[];
193: #endif
194:
195: #include "lp.h"
196: #if NLP > 0
197: int lpopen(),lpclose(),lpwrite(),lpreset();
198: #else
199: #define lpopen nodev
200: #define lpclose nodev
201: #define lpwrite nodev
202: #define lpreset nulldev
203: #endif
204:
205: int syopen(),syread(),sywrite(),syioctl();
206:
207: int mmread(),mmwrite();
208:
209: #include "va.h"
210: #if NVA > 0
211: int vaopen(),vaclose(),vawrite(),vaioctl(),vareset();
212: #else
213: #define vaopen nodev
214: #define vaclose nodev
215: #define vawrite nodev
216: #define vaopen nodev
217: #define vaioctl nodev
218: #define vareset nulldev
219: #endif
220:
221: #include "vp.h"
222: #if NVP > 0
223: int vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset();
224: #else
225: #define vpopen nodev
226: #define vpclose nodev
227: #define vpwrite nodev
228: #define vpioctl nodev
229: #define vpreset nulldev
230: #endif
231:
232: int mxopen(),mxclose(),mxread(),mxwrite(),mxioctl();
233: int mcread();
234: char *mcwrite();
235:
236: #include "pty.h"
237: #if NPTY > 0
238: int ptsopen(), ptsclose(), ptsread(), ptswrite();
239: int ptcopen(), ptcclose(), ptcread(), ptcwrite();
240: int ptyioctl();
241: struct tty pt_tty[];
242: #else
243: #define ptsopen nodev
244: #define ptsclose nodev
245: #define ptsread nodev
246: #define ptswrite nodev
247: #define ptcopen nodev
248: #define ptcclose nodev
249: #define ptcread nodev
250: #define ptcwrite nodev
251: #define ptyioctl nodev
252: #define pt_tty 0
253: #endif
254:
255: #include "dn.h"
256: #if NDN > 0
257: int dnopen(), dnclose(), dnwrite();
258: #else
259: #define dnopen nodev
260: #define dnclose nodev
261: #define dnwrite nodev
262: #endif
263:
264: struct cdevsw cdevsw[] =
265: {
266: cnopen, cnclose, cnread, cnwrite, /*0*/
267: cnioctl, nulldev, nulldev, &cons,
268: dzopen, dzclose, dzread, dzwrite, /*1*/
269: dzioctl, dzstop, dzreset, dz_tty,
270: syopen, nulldev, syread, sywrite, /*2*/
271: syioctl, nulldev, nulldev, 0,
272: nulldev, nulldev, mmread, mmwrite, /*3*/
273: nodev, nulldev, nulldev, 0,
274: nulldev, nulldev, hpread, hpwrite, /*4*/
275: nodev, nodev, nulldev, 0,
276: htopen, htclose, htread, htwrite, /*5*/
277: htioctl, nodev, nulldev, 0,
278: vpopen, vpclose, nodev, vpwrite, /*6*/
279: vpioctl, nulldev, vpreset, 0,
280: nulldev, nulldev, swread, swwrite, /*7*/
281: nodev, nodev, nulldev, 0,
282: #if VAX780
283: flopen, flclose, flread, flwrite, /*8*/
284: nodev, nodev, nulldev, 0,
285: #else
286: nodev, nodev, nodev, nodev, /*8*/
287: nodev, nodev, nodev, 0,
288: #endif
289: mxopen, mxclose, mxread, mxwrite, /*9*/
290: mxioctl, nulldev, nulldev, 0,
291: vaopen, vaclose, nodev, vawrite, /*10*/
292: vaioctl, nulldev, vareset, 0,
293: nulldev, nulldev, rkread, rkwrite, /*11*/
294: nodev, nodev, rkreset, 0,
295: dhopen, dhclose, dhread, dhwrite, /*12*/
296: dhioctl, dhstop, dhreset, dh11,
297: nulldev, nulldev, upread, upwrite, /*13*/
298: nodev, nodev, upreset, 0,
299: tmopen, tmclose, tmread, tmwrite, /*14*/
300: tmioctl, nodev, tmreset, 0,
301: lpopen, lpclose, nodev, lpwrite, /*15*/
302: nodev, nodev, lpreset, 0,
303: tsopen, tsclose, tsread, tswrite, /*16*/
304: tsioctl, nodev, tsreset, 0,
305: nodev, nodev, nodev, nodev, /*17*/
306: nodev, nodev, nulldev, 0,
307: ctopen, ctclose, nodev, ctwrite, /*18*/
308: nodev, nodev, nulldev, 0,
309: mtopen, mtclose, mtread, mtwrite, /*19*/
310: mtioctl, nodev, nodev, 0,
311: ptsopen, ptsclose, ptsread, ptswrite, /*20*/
312: ptyioctl, nulldev, nodev, pt_tty,
313: ptcopen, ptcclose, ptcread, ptcwrite, /*21*/
314: ptyioctl, nulldev, nodev, pt_tty,
315: dnopen, dnclose, nodev, dnwrite, /*22*/
316: nodev, nodev, nodev, 0,
317: nodev, nodev, nodev, nodev, /*23*/
318: nodev, nodev, nodev, 0,
319: udopen, nulldev, udread, udwrite, /*24*/
320: nodev, nodev, udreset, 0,
321: nodev, nodev, nodev, nodev, /*25*/
322: nodev, nodev, nodev, 0,
323: /* 25-29 reserved to local sites */
324: 0,
325: };
326:
327: int ttyopen(),ttread(),nullioctl(),ttstart();
328: char *ttwrite();
329: int ttyinput(),ttyrend();
330:
331: #include "bk.h"
332: #if NBK > 0
333: int bkopen(),bkclose(),bkread(),bkinput(),bkioctl();
334: #endif
335:
336: int ntyopen(),ntyclose(),ntread();
337: char *ntwrite();
338: int ntyinput(),ntyrend();
339:
340: struct linesw linesw[] =
341: {
342: ttyopen, nulldev, ttread, ttwrite, nullioctl,
343: ttyinput, ttyrend, nulldev, nulldev, nulldev, /* 0 */
344: #if NBK > 0
345: bkopen, bkclose, bkread, ttwrite, bkioctl,
346: bkinput, nodev, nulldev, ttstart, nulldev, /* 1 */
347: #else
348: nodev, nodev, nodev, (char *(*)())nodev, nodev,
349: nodev, nodev, nodev, nodev, nodev,
350: #endif
351: ntyopen, ntyclose, ntread, ntwrite, nullioctl,
352: ntyinput, ntyrend, nulldev, ttstart, nulldev, /* 2 */
353:
354: mxopen, mxclose, mcread, mcwrite, mxioctl,
355: nulldev, nulldev, nulldev, nulldev, nulldev, /* 3 */
356: 0
357: };
358:
359: int nldisp = 3;
360:
361: struct buf bfreelist[BQUEUES]; /* buffer chain headers */
362: struct buf bswlist; /* free list of swap headers */
363: struct buf *bclnlist; /* header for list of cleaned pages */
364: struct acct acctbuf;
365: struct inode *acctp;
366:
367: int mem_no = 3; /* major device number of memory special file */
368:
369: /*
370: * Swapdev is a fake device implemented
371: * in sw.c used only internally to get to swstrategy.
372: * It cannot be provided to the users, because the
373: * swstrategy routine munches the b_dev and b_blkno entries
374: * before calling the appropriate driver. This would horribly
375: * confuse, e.g. the hashing routines. Instead, /dev/drum is
376: * provided as a character (raw) device.
377: */
378: dev_t swapdev = makedev(4, 0);
379:
380: extern struct user u;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.