|
|
1.1 ! root 1: /* conf.c 6.1 83/07/29 */ ! 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: ! 9: int nulldev(); ! 10: int nodev(); ! 11: ! 12: #include "hp.h" ! 13: #if NHP > 0 ! 14: int hpopen(),hpstrategy(),hpread(),hpwrite(),hpdump(),hpioctl(),hpsize(); ! 15: #else ! 16: #define hpopen nodev ! 17: #define hpstrategy nodev ! 18: #define hpread nodev ! 19: #define hpwrite nodev ! 20: #define hpdump nodev ! 21: #define hpioctl nodev ! 22: #define hpsize 0 ! 23: #endif ! 24: ! 25: #include "tu.h" ! 26: #if NHT > 0 ! 27: int htopen(),htclose(),htstrategy(),htread(),htwrite(),htdump(),htioctl(); ! 28: #else ! 29: #define htopen nodev ! 30: #define htclose nodev ! 31: #define htstrategy nodev ! 32: #define htread nodev ! 33: #define htwrite nodev ! 34: #define htdump nodev ! 35: #define htioctl nodev ! 36: #endif ! 37: ! 38: #include "rk.h" ! 39: #if NHK > 0 ! 40: int rkopen(),rkstrategy(),rkread(),rkwrite(),rkintr(); ! 41: int rkdump(),rkreset(),rksize(); ! 42: #else ! 43: #define rkopen nodev ! 44: #define rkstrategy nodev ! 45: #define rkread nodev ! 46: #define rkwrite nodev ! 47: #define rkintr nodev ! 48: #define rkdump nodev ! 49: #define rkreset nodev ! 50: #define rksize 0 ! 51: #endif ! 52: ! 53: #include "te.h" ! 54: #if NTE > 0 ! 55: int tmopen(),tmclose(),tmstrategy(),tmread(),tmwrite(); ! 56: int tmioctl(),tmdump(),tmreset(); ! 57: #else ! 58: #define tmopen nodev ! 59: #define tmclose nodev ! 60: #define tmstrategy nodev ! 61: #define tmread nodev ! 62: #define tmwrite nodev ! 63: #define tmioctl nodev ! 64: #define tmdump nodev ! 65: #define tmreset nodev ! 66: #endif ! 67: ! 68: #include "ts.h" ! 69: #if NTS > 0 ! 70: int tsopen(),tsclose(),tsstrategy(),tsread(),tswrite(); ! 71: int tsioctl(),tsdump(),tsreset(); ! 72: #else ! 73: #define tsopen nodev ! 74: #define tsclose nodev ! 75: #define tsstrategy nodev ! 76: #define tsread nodev ! 77: #define tswrite nodev ! 78: #define tsioctl nodev ! 79: #define tsdump nodev ! 80: #define tsreset nodev ! 81: #endif ! 82: ! 83: #include "mu.h" ! 84: #if NMT > 0 ! 85: int mtopen(),mtclose(),mtstrategy(),mtread(),mtwrite(); ! 86: int mtioctl(),mtdump(); ! 87: #else ! 88: #define mtopen nodev ! 89: #define mtclose nodev ! 90: #define mtstrategy nodev ! 91: #define mtread nodev ! 92: #define mtwrite nodev ! 93: #define mtioctl nodev ! 94: #define mtdump nodev ! 95: #endif ! 96: ! 97: #include "ra.h" ! 98: #if NUDA > 0 ! 99: int udopen(),udstrategy(),udread(),udwrite(),udreset(),uddump(),udsize(); ! 100: #else ! 101: #define udopen nodev ! 102: #define udstrategy nodev ! 103: #define udread nodev ! 104: #define udwrite nodev ! 105: #define udreset nulldev ! 106: #define uddump nodev ! 107: #define udsize 0 ! 108: #endif ! 109: ! 110: #include "up.h" ! 111: #if NSC > 0 ! 112: int upopen(),upstrategy(),upread(),upwrite(),upreset(),updump(),upsize(); ! 113: #else ! 114: #define upopen nodev ! 115: #define upstrategy nodev ! 116: #define upread nodev ! 117: #define upwrite nodev ! 118: #define upreset nulldev ! 119: #define updump nodev ! 120: #define upsize 0 ! 121: #endif ! 122: ! 123: #include "tj.h" ! 124: #if NUT > 0 ! 125: int utopen(),utclose(),utstrategy(),utread(),utwrite(),utioctl(); ! 126: int utreset(),utdump(); ! 127: #else ! 128: #define utopen nodev ! 129: #define utclose nodev ! 130: #define utread nodev ! 131: #define utstrategy nodev ! 132: #define utwrite nodev ! 133: #define utreset nulldev ! 134: #define utioctl nodev ! 135: #define utdump nodev ! 136: #endif ! 137: ! 138: #include "rb.h" ! 139: #if NIDC > 0 ! 140: int idcopen(),idcstrategy(),idcread(),idcwrite(); ! 141: int idcreset(),idcdump(),idcsize();; ! 142: #else ! 143: #define idcopen nodev ! 144: #define idcstrategy nodev ! 145: #define idcread nodev ! 146: #define idcwrite nodev ! 147: #define idcreset nulldev ! 148: #define idcdump nodev ! 149: #define idcsize 0 ! 150: #endif ! 151: ! 152: #if defined(VAX750) || defined(VAX730) ! 153: int tuopen(),tuclose(),tustrategy(); ! 154: #else ! 155: #define tuopen nodev ! 156: #define tuclose nodev ! 157: #define tustrategy nodev ! 158: #endif ! 159: ! 160: #include "rx.h" ! 161: #if NFX > 0 ! 162: int rxopen(),rxstrategy(),rxclose(),rxread(),rxwrite(),rxreset(),rxioctl(); ! 163: #else ! 164: #define rxopen nodev ! 165: #define rxstrategy nodev ! 166: #define rxclose nodev ! 167: #define rxread nodev ! 168: #define rxwrite nodev ! 169: #define rxreset nulldev ! 170: #define rxioctl nodev ! 171: #endif ! 172: ! 173: #include "uu.h" ! 174: #if NUU > 0 ! 175: int uuopen(),uustrategy(),uuclose(),uureset(),uuioctl(); ! 176: #else ! 177: #define uuopen nodev ! 178: #define uustrategy nodev ! 179: #define uuclose nodev ! 180: #define uureset nulldev ! 181: #define uuioctl nodev ! 182: #endif ! 183: ! 184: #include "rl.h" ! 185: #if NRL > 0 ! 186: int rlopen(),rlstrategy(),rlread(),rlwrite(); ! 187: int rlreset(),rldump(),rlsize(); ! 188: #else ! 189: #define rlopen nodev ! 190: #define rlstrategy nodev ! 191: #define rlread nodev ! 192: #define rlwrite nodev ! 193: #define rlreset nulldev ! 194: #define rldump nodev ! 195: #define rlsize 0 ! 196: #endif ! 197: ! 198: int swstrategy(),swread(),swwrite(); ! 199: ! 200: struct bdevsw bdevsw[] = ! 201: { ! 202: { hpopen, nulldev, hpstrategy, hpdump, /*0*/ ! 203: hpsize, 0 }, ! 204: { htopen, htclose, htstrategy, htdump, /*1*/ ! 205: 0, B_TAPE }, ! 206: { upopen, nulldev, upstrategy, updump, /*2*/ ! 207: upsize, 0 }, ! 208: { rkopen, nulldev, rkstrategy, rkdump, /*3*/ ! 209: rksize, 0 }, ! 210: { nodev, nodev, swstrategy, nodev, /*4*/ ! 211: 0, 0 }, ! 212: { tmopen, tmclose, tmstrategy, tmdump, /*5*/ ! 213: 0, B_TAPE }, ! 214: { tsopen, tsclose, tsstrategy, tsdump, /*6*/ ! 215: 0, B_TAPE }, ! 216: { mtopen, mtclose, mtstrategy, mtdump, /*7*/ ! 217: 0, B_TAPE }, ! 218: { tuopen, tuclose, tustrategy, nodev, /*8*/ ! 219: 0, B_TAPE }, ! 220: { udopen, nulldev, udstrategy, uddump, /*9*/ ! 221: udsize, 0 }, ! 222: { utopen, utclose, utstrategy, utdump, /*10*/ ! 223: 0, B_TAPE }, ! 224: { idcopen, nodev, idcstrategy, idcdump, /*11*/ ! 225: idcsize, 0 }, ! 226: { rxopen, rxclose, rxstrategy, nodev, /*12*/ ! 227: 0, 0 }, ! 228: { uuopen, uuclose, uustrategy, nodev, /*13*/ ! 229: 0, 0 }, ! 230: { rlopen, nodev, rlstrategy, rldump, /*14*/ ! 231: rlsize, 0 }, ! 232: }; ! 233: int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]); ! 234: ! 235: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl(); ! 236: struct tty cons; ! 237: ! 238: #include "acc.h" ! 239: #if NACC > 0 ! 240: int accreset(); ! 241: #else ! 242: #define accreset nulldev ! 243: #endif ! 244: ! 245: #include "ct.h" ! 246: #if NCT > 0 ! 247: int ctopen(),ctclose(),ctwrite(); ! 248: #else ! 249: #define ctopen nulldev ! 250: #define ctclose nulldev ! 251: #define ctwrite nulldev ! 252: #endif ! 253: ! 254: #include "dh.h" ! 255: #if NDH == 0 ! 256: #define dhopen nodev ! 257: #define dhclose nodev ! 258: #define dhread nodev ! 259: #define dhwrite nodev ! 260: #define dhioctl nodev ! 261: #define dhstop nodev ! 262: #define dhreset nulldev ! 263: #define dh11 0 ! 264: #else ! 265: int dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset(); ! 266: struct tty dh11[]; ! 267: #endif ! 268: ! 269: #include "dmf.h" ! 270: #if NDMF == 0 ! 271: #define dmfopen nodev ! 272: #define dmfclose nodev ! 273: #define dmfread nodev ! 274: #define dmfwrite nodev ! 275: #define dmfioctl nodev ! 276: #define dmfstop nodev ! 277: #define dmfreset nulldev ! 278: #define dmf_tty 0 ! 279: #else ! 280: int dmfopen(),dmfclose(),dmfread(),dmfwrite(),dmfioctl(),dmfstop(),dmfreset(); ! 281: struct tty dmf_tty[]; ! 282: #endif ! 283: ! 284: #if VAX780 ! 285: int flopen(),flclose(),flread(),flwrite(); ! 286: #else ! 287: #define flopen nodev ! 288: #define flclose nodev ! 289: #define flread nodev ! 290: #define flwrite nodev ! 291: #endif ! 292: ! 293: #include "dz.h" ! 294: #if NDZ == 0 ! 295: #define dzopen nodev ! 296: #define dzclose nodev ! 297: #define dzread nodev ! 298: #define dzwrite nodev ! 299: #define dzioctl nodev ! 300: #define dzstop nodev ! 301: #define dzreset nulldev ! 302: #define dz_tty 0 ! 303: #else ! 304: int dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset(); ! 305: struct tty dz_tty[]; ! 306: #endif ! 307: ! 308: #include "lp.h" ! 309: #if NLP > 0 ! 310: int lpopen(),lpclose(),lpwrite(),lpreset(); ! 311: #else ! 312: #define lpopen nodev ! 313: #define lpclose nodev ! 314: #define lpwrite nodev ! 315: #define lpreset nulldev ! 316: #endif ! 317: ! 318: int syopen(),syread(),sywrite(),syioctl(),syselect(); ! 319: ! 320: int mmread(),mmwrite(); ! 321: #define mmselect seltrue ! 322: ! 323: #include "va.h" ! 324: #if NVA > 0 ! 325: int vaopen(),vaclose(),vawrite(),vaioctl(),vareset(),vaselect(); ! 326: #else ! 327: #define vaopen nodev ! 328: #define vaclose nodev ! 329: #define vawrite nodev ! 330: #define vaopen nodev ! 331: #define vaioctl nodev ! 332: #define vareset nulldev ! 333: #define vaselect nodev ! 334: #endif ! 335: ! 336: #include "vp.h" ! 337: #if NVP > 0 ! 338: int vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset(),vpselect(); ! 339: #else ! 340: #define vpopen nodev ! 341: #define vpclose nodev ! 342: #define vpwrite nodev ! 343: #define vpioctl nodev ! 344: #define vpreset nulldev ! 345: #define vpselect nodev ! 346: #endif ! 347: ! 348: #include "pty.h" ! 349: #if NPTY > 0 ! 350: int ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop(); ! 351: int ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect(); ! 352: int ptyioctl(); ! 353: struct tty pt_tty[]; ! 354: #else ! 355: #define ptsopen nodev ! 356: #define ptsclose nodev ! 357: #define ptsread nodev ! 358: #define ptswrite nodev ! 359: #define ptcopen nodev ! 360: #define ptcclose nodev ! 361: #define ptcread nodev ! 362: #define ptcwrite nodev ! 363: #define ptyioctl nodev ! 364: #define pt_tty 0 ! 365: #define ptcselect nodev ! 366: #define ptsstop nulldev ! 367: #endif ! 368: ! 369: #include "lpa.h" ! 370: #if NLPA > 0 ! 371: int lpaopen(),lpaclose(),lparead(),lpawrite(),lpaioctl(); ! 372: #else ! 373: #define lpaopen nodev ! 374: #define lpaclose nodev ! 375: #define lparead nodev ! 376: #define lpawrite nodev ! 377: #define lpaioctl nodev ! 378: #endif ! 379: ! 380: #include "dn.h" ! 381: #if NDN > 0 ! 382: int dnopen(),dnclose(),dnwrite(); ! 383: #else ! 384: #define dnopen nodev ! 385: #define dnclose nodev ! 386: #define dnwrite nodev ! 387: #endif ! 388: ! 389: #include "gpib.h" ! 390: #if NGPIB > 0 ! 391: int gpibopen(),gpibclose(),gpibread(),gpibwrite(),gpibioctl(); ! 392: #else ! 393: #define gpibopen nodev ! 394: #define gpibclose nodev ! 395: #define gpibread nodev ! 396: #define gpibwrite nodev ! 397: #define gpibioctl nodev ! 398: #endif ! 399: ! 400: #include "ik.h" ! 401: #if NIK > 0 ! 402: int ikopen(),ikclose(),ikread(),ikwrite(),ikioctl(),ikreset(); ! 403: #else ! 404: #define ikopen nodev ! 405: #define ikclose nodev ! 406: #define ikread nodev ! 407: #define ikwrite nodev ! 408: #define ikioctl nodev ! 409: #define ikreset nodev ! 410: #endif ! 411: ! 412: #include "ps.h" ! 413: #if NPS > 0 ! 414: int psopen(),psclose(),psread(),pswrite(),psioctl(),psreset(); ! 415: #else ! 416: #define psopen nodev ! 417: #define psclose nodev ! 418: #define psread nodev ! 419: #define pswrite nodev ! 420: #define psopen nodev ! 421: #define psioctl nodev ! 422: #define psreset nodev ! 423: #endif ! 424: ! 425: #include "ib.h" ! 426: #if NIB > 0 ! 427: int ibopen(),ibclose(),ibread(),ibwrite(),ibioctl(); ! 428: #else ! 429: #define ibopen nodev ! 430: #define ibclose nodev ! 431: #define ibread nodev ! 432: #define ibwrite nodev ! 433: #define ibioctl nodev ! 434: #endif ! 435: ! 436: #include "ad.h" ! 437: #if NAD > 0 ! 438: int adopen(),adclose(),adioctl(),adreset(); ! 439: #else ! 440: #define adopen nodev ! 441: #define adclose nodev ! 442: #define adioctl nodev ! 443: #define adreset nodev ! 444: #endif ! 445: ! 446: int ttselect(), seltrue(); ! 447: ! 448: struct cdevsw cdevsw[] = ! 449: { ! 450: cnopen, cnclose, cnread, cnwrite, /*0*/ ! 451: cnioctl, nulldev, nulldev, &cons, ! 452: ttselect, nodev, ! 453: dzopen, dzclose, dzread, dzwrite, /*1*/ ! 454: dzioctl, dzstop, dzreset, dz_tty, ! 455: ttselect, nodev, ! 456: syopen, nulldev, syread, sywrite, /*2*/ ! 457: syioctl, nulldev, nulldev, 0, ! 458: syselect, nodev, ! 459: nulldev, nulldev, mmread, mmwrite, /*3*/ ! 460: nodev, nulldev, nulldev, 0, ! 461: mmselect, nodev, ! 462: hpopen, nulldev, hpread, hpwrite, /*4*/ ! 463: hpioctl, nodev, nulldev, 0, ! 464: seltrue, nodev, ! 465: htopen, htclose, htread, htwrite, /*5*/ ! 466: htioctl, nodev, nulldev, 0, ! 467: seltrue, nodev, ! 468: vpopen, vpclose, nodev, vpwrite, /*6*/ ! 469: vpioctl, nulldev, vpreset, 0, ! 470: vpselect, nodev, ! 471: nulldev, nulldev, swread, swwrite, /*7*/ ! 472: nodev, nodev, nulldev, 0, ! 473: nodev, nodev, ! 474: flopen, flclose, flread, flwrite, /*8*/ ! 475: nodev, nodev, nulldev, 0, ! 476: seltrue, nodev, ! 477: udopen, nulldev, udread, udwrite, /*9*/ ! 478: nodev, nodev, udreset, 0, ! 479: seltrue, nodev, ! 480: vaopen, vaclose, nodev, vawrite, /*10*/ ! 481: vaioctl, nulldev, vareset, 0, ! 482: vaselect, nodev, ! 483: rkopen, nulldev, rkread, rkwrite, /*11*/ ! 484: nodev, nodev, rkreset, 0, ! 485: seltrue, nodev, ! 486: dhopen, dhclose, dhread, dhwrite, /*12*/ ! 487: dhioctl, dhstop, dhreset, dh11, ! 488: ttselect, nodev, ! 489: upopen, nulldev, upread, upwrite, /*13*/ ! 490: nodev, nodev, upreset, 0, ! 491: seltrue, nodev, ! 492: tmopen, tmclose, tmread, tmwrite, /*14*/ ! 493: tmioctl, nodev, tmreset, 0, ! 494: seltrue, nodev, ! 495: lpopen, lpclose, nodev, lpwrite, /*15*/ ! 496: nodev, nodev, lpreset, 0, ! 497: seltrue, nodev, ! 498: tsopen, tsclose, tsread, tswrite, /*16*/ ! 499: tsioctl, nodev, tsreset, 0, ! 500: seltrue, nodev, ! 501: utopen, utclose, utread, utwrite, /*17*/ ! 502: utioctl, nodev, utreset, 0, ! 503: seltrue, nodev, ! 504: ctopen, ctclose, nodev, ctwrite, /*18*/ ! 505: nodev, nodev, nulldev, 0, ! 506: seltrue, nodev, ! 507: mtopen, mtclose, mtread, mtwrite, /*19*/ ! 508: mtioctl, nodev, nodev, 0, ! 509: seltrue, nodev, ! 510: ptsopen, ptsclose, ptsread, ptswrite, /*20*/ ! 511: ptyioctl, ptsstop, nodev, pt_tty, ! 512: ttselect, nodev, ! 513: ptcopen, ptcclose, ptcread, ptcwrite, /*21*/ ! 514: ptyioctl, nulldev, nodev, pt_tty, ! 515: ptcselect, nodev, ! 516: dmfopen, dmfclose, dmfread, dmfwrite, /*22*/ ! 517: dmfioctl, dmfstop, dmfreset, dmf_tty, ! 518: ttselect, nodev, ! 519: idcopen, nulldev, idcread, idcwrite, /*23*/ ! 520: nodev, nodev, idcreset, 0, ! 521: seltrue, nodev, ! 522: dnopen, dnclose, nodev, dnwrite, /*24*/ ! 523: nodev, nodev, nodev, 0, ! 524: seltrue, nodev, ! 525: /* 25-29 reserved to local sites */ ! 526: gpibopen, gpibclose, gpibread, gpibwrite, /*25*/ ! 527: gpibioctl, nulldev, nodev, 0, ! 528: seltrue, nodev, ! 529: lpaopen, lpaclose, lparead, lpawrite, /*26*/ ! 530: lpaioctl, nodev, nulldev, 0, ! 531: seltrue, nodev, ! 532: psopen, psclose, psread, pswrite, /*27*/ ! 533: psioctl, nodev, psreset, 0, ! 534: seltrue, nodev, ! 535: ibopen, ibclose, ibread, ibwrite, /*28*/ ! 536: ibioctl, nodev, nodev, 0, ! 537: seltrue, nodev, ! 538: adopen, adclose, nodev, nodev, /*29*/ ! 539: adioctl, nodev, adreset, 0, ! 540: seltrue, nodev, ! 541: rxopen, rxclose, rxread, rxwrite, /*30*/ ! 542: rxioctl, nodev, rxreset, 0, ! 543: seltrue, nodev, ! 544: ikopen, ikclose, ikread, ikwrite, /*31*/ ! 545: ikioctl, nodev, ikreset, 0, ! 546: seltrue, nodev, ! 547: rlopen, nodev, rlread, rlwrite, /* 32 */ ! 548: nodev, nodev, rlreset, 0, ! 549: seltrue, nodev, ! 550: }; ! 551: int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]); ! 552: ! 553: int mem_no = 3; /* major device number of memory special file */ ! 554: ! 555: /* ! 556: * Swapdev is a fake device implemented ! 557: * in sw.c used only internally to get to swstrategy. ! 558: * It cannot be provided to the users, because the ! 559: * swstrategy routine munches the b_dev and b_blkno entries ! 560: * before calling the appropriate driver. This would horribly ! 561: * confuse, e.g. the hashing routines. Instead, /dev/drum is ! 562: * provided as a character (raw) device. ! 563: */ ! 564: 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.