Annotation of researchv8dc/sys/dev/conf.c, revision 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.