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