|
|
1.1 root 1: /* conf.c 4.32+ 82/12/05 */
2:
3: #include "../h/param.h"
4: #include "../h/systm.h"
5: #include "../h/buf.h"
6: #include "../h/conf.h"
7: #include "../h/text.h"
8: #include "../h/dir.h"
9: #include "../h/user.h"
10: #include "../h/proc.h"
11: #include "../h/file.h"
12: #include "../h/inode.h"
13: #include "../h/acct.h"
14: #include "../h/pte.h"
15: #include "sparam.h"
16:
17: int nulldev();
18: int nodev();
19:
20: #include "hp.h"
21: #if NHP > 0
22: int hpstrategy(),hpread(),hpwrite(),hpioctl(),hpintr(),hpdump();
23: #else
24: #define hpstrategy nodev
25: #define hpread nodev
26: #define hpwrite nodev
27: #define hpioctl nodev
28: #define hpintr nodev
29: #define hpdump nodev
30: #endif
31:
32: #include "tu.h"
33: #if NHT > 0
34: int htopen(),htclose(),htstrategy(),htread(),htwrite(),htdump(),htioctl();
35: #else
36: #define htopen nodev
37: #define htclose nodev
38: #define htstrategy nodev
39: #define htread nodev
40: #define htwrite nodev
41: #define htdump nodev
42: #define htioctl nodev
43: #endif
44:
45: #include "mu.h"
46: #if NMT > 0
47: int mtopen(),mtclose(),mtstrategy(),mtread(),mtwrite();
48: int mtioctl(),mtdump();
49: #else
50: #define mtopen nodev
51: #define mtclose nodev
52: #define mtstrategy nodev
53: #define mtread nodev
54: #define mtwrite nodev
55: #define mtioctl nodev
56: #define mtdump nodev
57: #endif
58:
59: #include "rk.h"
60: #if NHK > 0
61: int rkstrategy(),rkread(),rkwrite(),rkintr(),rkdump(),rkreset();
62: #else
63: #define rkstrategy nodev
64: #define rkread nodev
65: #define rkwrite nodev
66: #define rkintr nodev
67: #define rkdump nodev
68: #define rkreset nodev
69: #endif
70:
71: #include "te.h"
72: #if NTE > 0
73: int tmopen(),tmclose(),tmstrategy(),tmread(),tmwrite();
74: int tmioctl(),tmdump(),tmreset();
75: #else
76: #define tmopen nodev
77: #define tmclose nodev
78: #define tmstrategy nodev
79: #define tmread nodev
80: #define tmwrite nodev
81: #define tmioctl nodev
82: #define tmdump nodev
83: #define tmreset nodev
84: #endif
85:
86: #include "ts.h"
87: #if NTS > 0
88: int tsopen(),tsclose(),tsstrategy(),tsread(),tswrite();
89: int tsioctl(),tsdump(),tsreset();
90: #else
91: #define tsopen nodev
92: #define tsclose nodev
93: #define tsstrategy nodev
94: #define tsread nodev
95: #define tswrite nodev
96: #define tsioctl nodev
97: #define tsdump nodev
98: #define tsreset nodev
99: #endif
100:
101: #include "up.h"
102: #if NSC > 0
103: int upstrategy(),upread(),upwrite(),upreset(),updump();
104: #else
105: #define upstrategy nodev
106: #define upread nodev
107: #define upwrite nodev
108: #define upreset nulldev
109: #define updump nodev
110: #endif
111:
112: #include "ra.h"
113: #if NUDA > 0
114: int udstrategy(), udread(), udwrite(), udioctl(), udreset(), uddump();
115: #else
116: #define udstrategy nodev
117: #define udread nodev
118: #define udwrite nodev
119: #define udioctl nodev
120: #define udreset nulldev
121: #define uddump nodev
122: #endif
123:
124: int swstrategy(),swread(),swwrite();
125:
126: struct bdevsw bdevsw[] =
127: {
128: nulldev, nulldev, hpstrategy, hpdump, 0, /*0*/
129: htopen, htclose, htstrategy, htdump, B_TAPE, /*1*/
130: nulldev, nulldev, upstrategy, updump, 0, /*2*/
131: nulldev, nulldev, rkstrategy, rkdump, 0, /*3*/
132: nodev, nodev, swstrategy, nodev, 0, /*4*/
133: tmopen, tmclose, tmstrategy, tmdump, B_TAPE, /*5*/
134: tsopen, tsclose, tsstrategy, tsdump, B_TAPE, /*6*/
135: nulldev, nulldev, udstrategy, uddump, 0, /*7*/
136: mtopen, mtclose, mtstrategy, mtdump, B_TAPE, /*8*/
137: 0,
138: };
139:
140: extern struct streamtab cninfo;
141:
142: #if VAX780
143: int flopen(),flclose(),flread(),flwrite();
144: #endif
145:
146: #include "ctu.h"
147: #if NCTU > 0
148: extern ctuopen(), ctuclose(), cturead(), ctuwrite();
149: #else
150: #define ctuopen nodev
151: #define ctuclose nodev
152: #define cturead nodev
153: #define ctuwrite nodev
154: cturint() {printf("cons mass storage stray\n");}
155: ctuxint() {printf("cons mass storage stray\n");}
156: #endif
157:
158: #include "dk.h"
159: #if NDK > 0
160: extern struct streamtab dkinfo;
161: int dkreset();
162: #else
163: #define dkinfo NULL
164: #define dkreset nulldev
165: #endif
166:
167: #include "dz.h"
168: #if NDZ > 0
169: extern struct streamtab dzinfo;
170: #else
171: #define dzinfo NULL
172: #endif
173:
174: #include "inet.h"
175: #if NINET > 0
176: extern struct streamtab ipdinfo;
177: extern struct streamtab tcpdinfo;
178: #else
179: #define ipdinfo *(struct streamtab *)NULL
180: #define tcpdinfo *(struct streamtab *)NULL
181: #endif
182:
183: #include "il.h"
184: #if NIL > 0
185: extern struct streamtab ilsinfo;
186: #else
187: #define ilsinfo *(struct streamtab *)NULL
188: #endif
189:
190: #include "lp.h"
191: #if NLP > 0
192: int lpopen(),lpclose(),lpwrite(),lpreset();
193: #else
194: #define lpopen nodev
195: #define lpclose nodev
196: #define lpwrite nodev
197: #define lpreset nulldev
198: #endif
199:
200: int mmread(),mmwrite();
201:
202: #include "va.h"
203: #if NVA > 0
204: int vaopen(),vaclose(),vawrite(),vaioctl(),vareset();
205: #else
206: #define vaopen nodev
207: #define vaclose nodev
208: #define vawrite nodev
209: #define vaopen nodev
210: #define vaioctl nodev
211: #define vareset nulldev
212: #endif
213:
214: #include "vp.h"
215: #if NVP > 0
216: int vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset();
217: #else
218: #define vpopen nodev
219: #define vpclose nodev
220: #define vpwrite nodev
221: #define vpioctl nodev
222: #define vpreset nulldev
223: #endif
224:
225: #include "sp.h"
226: #if NSP>0
227: struct streamtab spinfo;
228: #else
229: #define spinfo NULL
230: #endif
231:
232: #include "dn.h"
233: #if NDN > 0
234: int dnopen(), dnclose(), dnwrite();
235: #else
236: #define dnopen nodev
237: #define dnclose nodev
238: #define dnwrite nodev
239: #endif
240:
241: #include "tri.h"
242: #if NTRI > 0
243: int triopen(), triclose(), triwrite();
244: #else
245: #define triopen nodev
246: #define triclose nodev
247: #define triwrite nodev
248: #endif
249:
250: #include "rtk.h"
251: #if NRTK > 0
252: int rtkopen(), rtkclose(), rtkread(), rtkwrite(), rtkioctl();
253: #else
254: #define rtkopen nodev
255: #define rtkclose nodev
256: #define rtkread nodev
257: #define rtkwrite nodev
258: #define rtkioctl nodev
259: #endif
260:
261: #include "ekx.h"
262: #if NEKX > 0
263: int ekxopen(), ekxclose(), ekxread(), ekxwrite(), ekxioctl();
264: #else
265: #define ekxopen nodev
266: #define ekxclose nodev
267: #define ekxread nodev
268: #define ekxwrite nodev
269: #define ekxioctl nodev
270: #endif
271:
272: #include "scn.h"
273: #if NSCN > 0
274: int scnopen(), scnclose(), scnread(), scnwrite(), scnioctl();
275: #else
276: #define scnopen nodev
277: #define scnclose nodev
278: #define scnread nodev
279: #define scnwrite nodev
280: #define scnioctl nodev
281: #endif
282:
283: #include "cv.h"
284: #if NCV > 0
285: int cvopen(), cvclose(), cvread(), cvwrite(), cvioctl(), cvreset();
286: #else
287: #define cvopen nodev
288: #define cvclose nodev
289: #define cvread nodev
290: #define cvwrite nodev
291: #define cvioctl nodev
292: #define cvreset nodev
293: #endif
294:
295: #include "iti.h"
296: #if NITI > 0
297: int itiopen(), iticlose() , itiioctl();
298: #else
299: #define itiopen nodev
300: #define iticlose nodev
301: #define itiioctl nodev
302: #endif
303:
304: #include "sn.h"
305: #if NSN > 0
306: int snopen(), snclose(), snioctl(), snreset();
307: #else
308: #define snopen nodev
309: #define snclose nodev
310: #define snread nodev
311: #define snwrite nodev
312: #define snioctl nodev
313: #define snreset nodev
314: #endif
315:
316: #include "an.h"
317: #if NAP > 0
318: int anopen(), anclose(), anread(), anwrite(), anreset(), anioctl();
319: #else
320: #define anopen nodev
321: #define anclose nodev
322: #define anread nodev
323: #define anwrite nodev
324: #define anreset nodev
325: #define anioctl nodev
326: #endif
327:
328: #include "kmc.h"
329: #if NKMC > 0
330: int kmcopen(), kmcclose(), kmcread(), kmcwrite(), kmcioctl();
331: #else
332: #define kmcopen nodev
333: #define kmcclose nodev
334: #define kmcread nodev
335: #define kmcwrite nodev
336: #define kmcioctl nodev
337: #endif
338:
339: #include "ec.h"
340: #if NEC > 0
341: extern struct streamtab ecsinfo;
342: #else
343: #define ecsinfo *(struct streamtab *)NULL
344: #endif
345:
346: #include "kdi.h"
347: #if NKDI == 0
348: #define kdi NULL
349: #define kdishutdown nodev
350: #else
351: extern struct streamtab kdiinfo;
352: int kdishutdown();
353: #define kdi &kdiinfo
354: #endif
355:
356: #include "lex.h"
357: #if NLEX == 0
358: #define lexopen nodev
359: #define lexclose nodev
360: #define lexread nodev
361: #define lexwrite nodev
362: #define lexioctl nodev
363: #else
364: int lexopen(), lexclose(), lexread(), lexwrite(), lexioctl();
365: #endif
366:
367: #include "bpd.h"
368: #if NBPD == 0
369: #define bpdopen nodev
370: #define bpdclose nodev
371: #define bpdread nodev
372: #define bpdioctl nodev
373: #else
374: int bpdopen(), bpdclose(), bpdread(), bpdioctl();
375: #endif
376:
377: /* merganthaler 202 */
378: #include "mg.h"
379: #if NMG>0
380: extern struct streamtab mginfo;
381: #define mg &mginfo
382: #else
383: #define mg NULL
384: #endif
385:
386: #include "ju.h"
387: #if NJU == 0
388: #define juopen nodev
389: #define juclose nodev
390: #define juread nodev
391: #define juwrite nodev
392: #define juioctl nodev
393: #else
394: int juopen(), juclose(), juread(), juwrite(), juioctl();
395: #endif
396:
397: #include "om.h"
398: #if NOM > 0
399: int omopen(),omclose(),omread(),omwrite(),omioctl();
400: #else
401: #define omopen nodev
402: #define omclose nodev
403: #define omread nodev
404: #define omwrite nodev
405: #define omioctl nodev
406: #endif
407:
408: #include "chaos.h"
409: #if NCHAOS > 0
410:
411: #define CHDEV_OFFSET 32
412: long cdevpath = 1L << (34 - CHDEV_OFFSET);
413: int chropen(),chrclose(),chrread(),chrwrite(),chrioctl(),chreset();
414:
415: #else NCHAOS == 0
416:
417: #define chropen nodev
418: #define chrclose nodev
419: #define chrread nodev
420: #define chrwrite nodev
421: #define chrioctl nodev
422: #define chreset nodev
423:
424: #endif NCHAOS
425:
426: #include "cht.h"
427: #if NCHT > 0
428:
429: #if NCHAOS == 0
430: ***this won't work**** you must have CHAOS to have CHT
431: #endif NCHAOS
432:
433: int chtopen(),chtclose(),chtread(),chtwrite(),chtioctl();
434: struct tty cht_tty[];
435:
436: #else NCHT == 0
437:
438: #define chtopen nodev
439: #define chtclose nodev
440: #define chtread nodev
441: #define chtwrite nodev
442: #define chtioctl nodev
443: #define cht_tty 0
444:
445: #endif NCHT
446:
447: #include "chil.h"
448: #define chilopen nodev
449: #define chilclose nodev
450: #define chilread nodev
451: #define chilwrite nodev
452: #define chilioctl nodev
453: #define chilreset nulldev
454:
455: #include "ds.h"
456: #if NDS > 0
457: int dsopen(),dsclose(),dsread(),dswrite(),dsioctl();
458: #else
459: #define dsopen nodev
460: #define dsclose nodev
461: #define dsread nodev
462: #define dswrite nodev
463: #define dsioctl nodev
464: #endif
465:
466: #include "ch.h"
467: #if NCH > 0
468: extern struct streamtab chdinfo;
469: #else
470: #define chdinfo *(struct streamtab *)NULL
471: #endif
472:
473: struct cdevsw cdevsw[] =
474: {
475: /*cn*/ nodev, nodev, nodev, nodev, /*0*/
476: nodev, nulldev, &cninfo,
477: /*dz*/ nodev, nodev, nodev, nodev, /*1*/
478: nodev, nulldev, &dzinfo,
479: /*ctu*/ ctuopen, ctuclose, cturead, ctuwrite, /*2*/
480: nodev, nodev, NULL,
481: /*mem*/ nulldev, nulldev, mmread, mmwrite, /*3*/
482: nodev, nulldev, NULL,
483: /*hp*/ nulldev, nulldev, hpread, hpwrite, /*4*/
484: hpioctl, nulldev, NULL,
485: /*ht*/ htopen, htclose, htread, htwrite, /*5*/
486: htioctl, nulldev, NULL,
487: /*vp*/ vpopen, vpclose, nodev, vpwrite, /*6*/
488: vpioctl, vpreset, NULL,
489: /*sw*/ nulldev, nulldev, swread, swwrite, /*7*/
490: nodev, nulldev, NULL,
491: #if VAX780
492: /*fl*/ flopen, flclose, flread, flwrite, /*8*/
493: nodev, nulldev, NULL,
494: #else
495: /*fl*/ nodev, nodev, nodev, nodev, /*8*/
496: nodev, nodev, NULL,
497: #endif
498: /*xx*/ nodev, nodev, nodev, nodev, /*9mx*/
499: nodev, nulldev, NULL,
500: /*va*/ vaopen, vaclose, nodev, vawrite, /*10*/
501: vaioctl, vareset, NULL,
502: /*rk*/ nulldev, nulldev, rkread, rkwrite, /*11*/
503: nodev, rkreset, NULL,
504: /*xx*/ nodev, nodev, nodev, nodev, /*12dh*/
505: nodev, nodev, NULL,
506: /*up*/ nulldev, nulldev, upread, upwrite, /*13*/
507: nodev, upreset, NULL,
508: /*tm*/ tmopen, tmclose, tmread, tmwrite, /*14*/
509: tmioctl, tmreset, NULL,
510: /*lp*/ lpopen, lpclose, nodev, lpwrite, /*15*/
511: nodev, lpreset, NULL,
512: /*ts*/ tsopen, tsclose, tsread, tswrite, /*16*/
513: tsioctl, tsreset, NULL,
514: /*dk*/ nodev, nodev, nodev, nodev, /*17*/
515: #if NDK > 0
516: nodev, nulldev, &dkinfo,
517: #else
518: nodev, dkreset, NULL,
519: #endif
520: /*sp*/ nodev, nodev, nodev, nodev, /*18*/
521: nodev, nulldev, &spinfo,
522: /*dn*/ dnopen, dnclose, nodev, dnwrite, /*19*/
523: nodev, nulldev, NULL,
524: /*ptm*/ nodev, nodev, nodev, nodev, /*20pt*/
525: nodev, nulldev, NULL,
526: /*pts*/ nodev, nodev, nodev, nodev, /*21pt*/
527: nodev, nulldev, NULL,
528: /*mt*/ mtopen, mtclose, mtread, mtwrite, /*22*/
529: mtioctl, nulldev, NULL,
530: /*tri*/ triopen, triclose, nodev, triwrite, /*23*/
531: nodev, nulldev, NULL,
532: /*xx*/ nodev, nodev, nodev, nodev, /*24*/
533: nodev, nulldev, NULL,
534: /* 25-29 reserved to local sites */
535: /*rtk*/ rtkopen, rtkclose, rtkread, rtkwrite, /*25*/
536: rtkioctl, nulldev, NULL,
537: /*kmc*/ kmcopen, kmcclose, kmcread, kmcwrite, /*26*/
538: kmcioctl, nulldev, NULL,
539: /*ec*/ nodev, nodev, nodev, nodev, /*27*/
540: nodev, nulldev, &ecsinfo,
541: /*uda*/ nulldev, nulldev, udread, udwrite, /*28*/
542: udioctl, nulldev, NULL,
543: /*ekx*/ ekxopen, ekxclose, ekxread, ekxwrite, /*29*/
544: ekxioctl, nulldev, NULL,
545: /*cv*/ cvopen, cvclose, cvread, cvwrite, /*30*/
546: cvioctl, cvreset, NULL,
547: /*kdi*/ nodev, nodev, nodev, nodev, /*31*/
548: nodev, kdishutdown, kdi,
549: /*mg*/ nodev, nodev, nodev, nodev, /*32*/
550: nodev, nulldev, mg,
551: /*ju*/ juopen, juclose, juread, juwrite, /*33*/
552: juioctl, nulldev, NULL,
553: /*chr*/ chropen, chrclose, chrread, chrwrite, /*34*/
554: chrioctl, chreset, NULL,
555: /*cht*/ chtopen, chtclose, chtread, chtwrite, /*35*/
556: chtioctl, nulldev, cht_tty,
557: /*chil*/chilopen, chilclose, chilread, chilwrite, /*36*/
558: chilioctl, chilreset, NULL,
559: /*lex*/ lexopen, lexclose, lexread, lexwrite, /*37*/
560: lexioctl, nulldev, NULL,
561: /*bpd*/ bpdopen, bpdclose, bpdread, nulldev, /*38*/
562: bpdioctl, nulldev, NULL,
563: /*om*/ omopen, omclose, omread, omwrite, /*39*/
564: omioctl, nulldev, NULL,
565: /*std*/ nodev, nodev, nodev, nodev, /*40*/
566: nodev, nulldev, NULL,
567: /*ds*/ dsopen, dsclose, dsread, dswrite, /*41*/
568: dsioctl, nulldev, NULL,
569: /*ip*/ nodev, nodev, nodev, nodev, /*42*/
570: nodev, nulldev, &ipdinfo,
571: /*tcp*/ nodev, nodev, nodev, nodev, /*43*/
572: nodev, nulldev, &tcpdinfo,
573: /*il*/ nodev, nodev, nodev, nodev, /*44*/
574: nodev, nulldev, &ilsinfo,
575: /*scn*/ scnopen, scnclose, scnread, scnwrite, /*45*/
576: scnioctl, nulldev, NULL,
577: /*sn*/ snopen, snclose, nodev, nodev, /*46*/
578: snioctl, nulldev, NULL,
579: /*an*/ anopen, anclose, anread, anwrite, /*47*/
580: anioctl, nulldev, NULL,
581: /*ch*/ nodev, nodev, nodev, nodev, /*48*/
582: nodev, nodev, &chdinfo,
583: /*iti*/ itiopen, iticlose, nodev, nodev, /*49*/
584: itiioctl, nulldev, NULL,
585: /*udp*/ nodev, nodev, nodev, nodev, /*50*/
586: nodev, nulldev, &udpdinfo,
587: 0
588: };
589:
590: int nchrdev = sizeof(cdevsw)/sizeof(struct cdevsw) - 1;
591:
592: extern int rnami(), smount();
593: extern int naput(), nafree(), naupdat(), naread(), nawrite(), natrunc();
594: extern int nastat(), nanami(), namount();
595: extern struct inode *naget();
596: extern int prput(), prfree(), prupdat(), prread(), prwrite(), prtrunc();
597: extern int prstat(), prnami(), prmount(), prioctl();
598: extern struct inode *prget();
599: extern int mpput(), mpfree(), mpupdat(), mpread(), mpwrite();
600: extern int mptrunc(), mpstat(), mpnami(), mpioctl();
601: extern struct inode *mpget();
602: struct fstypsw fstypsw[] = {
603: { 0, 0, 0, 0, 0, 0, 0, 0, rnami, smount, 0},
604: { naput, naget, nafree, naupdat, naread, nawrite, natrunc,
605: nastat, nanami, namount, 0},
606: { prput, prget, prfree, prupdat, prread, prwrite, prtrunc,
607: prstat, prnami, prmount, prioctl},
608: { mpput, mpget, mpfree, mpupdat, mpread, mpwrite, mptrunc,
609: mpstat, mpnami, mpmount, mpioctl}
610: };
611: int nfstyp = 4;
612: int tty_no = 2; /* major device number of /dev/tty special file */
613: int mem_no = 3; /* major device number of memory special file */
614: int stdio_no = 40; /* major device number of stdio special file */
615:
616: extern struct streamtab ttyinfo;
617: extern struct streamtab rdkinfo;
618: extern struct streamtab pkinfo;
619: extern struct streamtab msginfo;
620: extern struct streamtab dkpinfo;
621: extern struct streamtab cdkpinfo;
622: extern struct streamtab nttyinfo;
623: extern struct streamtab trcinfo;
624: extern struct streamtab bufinfo;
625: extern struct streamtab rmsginfo;
626: extern struct streamtab ipinfo;
627: extern struct streamtab tcpinfo;
628: extern struct streamtab chrouteinfo;
629: extern struct streamtab arpinfo;
630: extern struct streamtab udpinfo;
631: extern struct streamtab chinfo;
632: extern struct streamtab filtinfo;
633: extern struct streamtab dumpinfo;
634:
635: #include "pk.h"
636: #include "dkp.h"
637: #include "cm.h"
638: #include "ntty.h"
639: #include "trc.h"
640: #include "bf.h"
641: #include "inet.h"
642: #include "chroute.h"
643: #include "arp.h"
644: #include "udp.h"
645: #include "ch.h"
646: #include "filter.h"
647: #include "dumpld.h"
648:
649: struct streamtab *streamtab[] = {
650: &ttyinfo, /* 0 */
651: #if NDKP > 0
652: &cdkpinfo, /* 1 */
653: #else
654: NULL,
655: #endif
656: #if NCM > 0
657: &rdkinfo, /* 2 */
658: #else
659: NULL,
660: #endif
661: #if NPK > 0
662: &pkinfo, /* 3 */
663: #else
664: NULL,
665: #endif
666: &msginfo, /* 4 */
667: #if NDKP > 0
668: &dkpinfo, /* 5 */
669: #else
670: NULL,
671: #endif
672: #if NNTTY > 0
673: &nttyinfo, /* 6 */
674: #else
675: NULL,
676: #endif
677: #if NBF > 0
678: &bufinfo, /* 7 */
679: #else
680: NULL,
681: #endif
682: #if NTRC > 0
683: &trcinfo, /* 8 */
684: #else
685: NULL,
686: #endif
687: &rmsginfo, /* 9 */
688: #if NINET > 0
689: &ipinfo, /* 10 */
690: &tcpinfo, /* 11 */
691: #else
692: NULL,
693: NULL,
694: #endif
695: #if NCHROUTE > 0
696: &chrouteinfo, /* 12 */
697: #else
698: NULL,
699: #endif
700: #if NARP > 0
701: &arpinfo, /* 13 */
702: #else
703: NULL,
704: #endif
705: #if NUDP > 0
706: &udpinfo, /* 14 */
707: #else
708: NULL,
709: #endif
710: #if NCH > 0
711: &chinfo, /* 15 */
712: #else
713: NULL,
714: #endif
715: #if NFILTER > 0
716: &filtinfo, /* 16 */
717: #else
718: NULL,
719: #endif
720: #if NDUMPLD > 0
721: &dumpinfo, /* 17 */
722: #else
723: NULL,
724: #endif
725: };
726:
727: int nstream = sizeof(streamtab)/sizeof(struct streamtab *);
728:
729: struct buf bfreelist[BQUEUES]; /* buffer chain headers */
730: struct buf bswlist; /* free list of swap headers */
731: struct buf *bclnlist; /* header for list of cleaned pages */
732: struct acct acctbuf;
733: struct inode *acctp;
734:
735: /*
736: * Swapdev is a fake device implemented
737: * in sw.c used only internally to get to swstrategy.
738: * It cannot be provided to the users, because the
739: * swstrategy routine munches the b_dev and b_blkno entries
740: * before calling the appropriate driver. This would horribly
741: * confuse, e.g. the hashing routines. Instead, /dev/drum is
742: * provided as a character (raw) device.
743: */
744: dev_t swapdev = makedev(4, 0);
745:
746: extern struct user u;
747:
748: /*
749: * Fetchable stream parameters
750: */
751: int Nqueue = NQUEUE;
752: int Nstream = NSTREAM;
753: int Nblk64 = NBLK64;
754: int Nblk16 = NBLK16;
755: int Nblk4 = NBLK4;
756: #ifndef NBLKBIG
757: #define NBLKBIG 0
758: #endif
759: int Nblkbig = NBLKBIG;
760: int Nblock = (NBLKBIG+NBLK64+NBLK16+NBLK4);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.