Annotation of researchv8dc/sys/dev/conf.c, revision 1.1.1.1

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);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.