|
|
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.