Annotation of 41BSD/4.0.upgrade/sys/dev/conf.c, revision 1.1.1.1

1.1       root        1: /*     conf.c  4.40-   81/11/11        */
                      2: 
                      3: #include "../h/param.h"
                      4: #include "../h/systm.h"
                      5: #include "../h/buf.h"
                      6: #include "../h/tty.h"
                      7: #include "../h/conf.h"
                      8: #include "../h/text.h"
                      9: #include "../h/dir.h"
                     10: #include "../h/user.h"
                     11: #include "../h/proc.h"
                     12: #include "../h/file.h"
                     13: #include "../h/inode.h"
                     14: #include "../h/acct.h"
                     15: #include "../h/pte.h"
                     16: 
                     17: int    nulldev();
                     18: int    nodev();
                     19: 
                     20: #include "hp.h"
                     21: #if NHP > 0
                     22: int    hpstrategy(),hpread(),hpwrite(),hpintr(),hpdump();
                     23: #else
                     24: #define        hpstrategy      nodev
                     25: #define        hpread          nodev
                     26: #define        hpwrite         nodev
                     27: #define        hpintr          nodev
                     28: #define        hpdump          nodev
                     29: #endif
                     30:  
                     31: #include "tu.h"
                     32: #if NHT > 0
                     33: int    htopen(),htclose(),htstrategy(),htread(),htwrite(),htdump(),htioctl();
                     34: #else
                     35: #define        htopen          nodev
                     36: #define        htclose         nodev
                     37: #define        htstrategy      nodev
                     38: #define        htread          nodev
                     39: #define        htwrite         nodev
                     40: #define        htdump          nodev
                     41: #define        htioctl         nodev
                     42: #endif
                     43: 
                     44: #include "rk.h"
                     45: #if NHK > 0
                     46: int    rkstrategy(),rkread(),rkwrite(),rkintr(),rkdump(),rkreset();
                     47: #else
                     48: #define        rkstrategy      nodev
                     49: #define        rkread          nodev
                     50: #define        rkwrite         nodev
                     51: #define        rkintr          nodev
                     52: #define        rkdump          nodev
                     53: #define        rkreset         nodev
                     54: #endif
                     55: 
                     56: #include "te.h"
                     57: #if NTE > 0
                     58: int    tmopen(),tmclose(),tmstrategy(),tmread(),tmwrite();
                     59: int    tmioctl(),tmdump(),tmreset();
                     60: #else
                     61: #define        tmopen          nodev
                     62: #define        tmclose         nodev
                     63: #define        tmstrategy      nodev
                     64: #define        tmread          nodev
                     65: #define        tmwrite         nodev
                     66: #define        tmioctl         nodev
                     67: #define        tmdump          nodev
                     68: #define        tmreset         nodev
                     69: #endif
                     70: 
                     71: #include "ts.h"
                     72: #if NTS > 0
                     73: int    tsopen(),tsclose(),tsstrategy(),tsread(),tswrite();
                     74: int    tsioctl(),tsdump(),tsreset();
                     75: #else
                     76: #define        tsopen          nodev
                     77: #define        tsclose         nodev
                     78: #define        tsstrategy      nodev
                     79: #define        tsread          nodev
                     80: #define        tswrite         nodev
                     81: #define        tsioctl         nodev
                     82: #define        tsdump          nodev
                     83: #define        tsreset         nodev
                     84: #endif
                     85: 
                     86: #include "mu.h"
                     87: #if NMT > 0
                     88: int    mtopen(),mtclose(),mtstrategy(),mtread(),mtwrite();
                     89: int    mtioctl(),mtdump();
                     90: #else
                     91: #define        mtopen          nodev
                     92: #define        mtclose         nodev
                     93: #define        mtstrategy      nodev
                     94: #define        mtread          nodev
                     95: #define        mtwrite         nodev
                     96: #define        mtioctl         nodev
                     97: #define        mtdump          nodev
                     98: #endif
                     99: 
                    100: #include "ra.h"
                    101: #if NUDA > 0
                    102: int    udopen(),udstrategy(),udread(),udwrite(),udreset(),uddump();
                    103: #else
                    104: #define        udopen          nodev
                    105: #define        udstrategy      nodev
                    106: #define        udread          nodev
                    107: #define        udwrite         nodev
                    108: #define        udreset         nulldev
                    109: #define        uddump          nodev
                    110: #endif
                    111: 
                    112: #include "up.h"
                    113: #if NSC > 0
                    114: int    upstrategy(),upread(),upwrite(),upreset(),updump();
                    115: #else
                    116: #define        upstrategy      nodev
                    117: #define        upread          nodev
                    118: #define        upwrite         nodev
                    119: #define        upreset         nulldev
                    120: #define        updump          nodev
                    121: #endif
                    122: 
                    123: #if defined(VAX750) || defined(VAX7ZZ)
                    124: int    tuopen(),tuclose(),tustrategy();
                    125: #else
                    126: #define        tuopen          nodev
                    127: #define        tuclose         nodev
                    128: #define        tustrategy      nodev
                    129: #endif
                    130: 
                    131: int    swstrategy(),swread(),swwrite();
                    132: 
                    133: struct bdevsw  bdevsw[] =
                    134: {
                    135:        nulldev,        nulldev,        hpstrategy,     hpdump, 0,      /*0*/
                    136:        htopen,         htclose,        htstrategy,     htdump, B_TAPE, /*1*/
                    137:        nulldev,        nulldev,        upstrategy,     updump, 0,      /*2*/
                    138:        nulldev,        nulldev,        rkstrategy,     rkdump, 0,      /*3*/
                    139:        nodev,          nodev,          swstrategy,     nodev,  0,      /*4*/
                    140:        tmopen,         tmclose,        tmstrategy,     tmdump, B_TAPE, /*5*/
                    141:        tsopen,         tsclose,        tsstrategy,     tsdump, B_TAPE, /*6*/
                    142:        mtopen,         mtclose,        mtstrategy,     mtdump, B_TAPE, /*7*/
                    143:        tuopen,         tuclose,        tustrategy,     nodev,  B_TAPE, /*8*/
                    144:        udopen,         nulldev,        udstrategy,     uddump, 0,      /*9*/
                    145:        nodev,          nodev,          nodev,          nodev,  0,      /*10*/
                    146:        0,
                    147: };
                    148: 
                    149: int    cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
                    150: struct tty cons;
                    151: 
                    152: #include "ct.h"
                    153: #if NCT > 0
                    154: int    ctopen(),ctclose(),ctwrite();
                    155: #else
                    156: #define        ctopen  nulldev
                    157: #define        ctclose nulldev
                    158: #define        ctwrite nulldev
                    159: #endif
                    160: 
                    161: #include "dh.h"
                    162: #if NDH == 0
                    163: #define        dhopen  nodev
                    164: #define        dhclose nodev
                    165: #define        dhread  nodev
                    166: #define        dhwrite nodev
                    167: #define        dhioctl nodev
                    168: #define        dhstop  nodev
                    169: #define        dhreset nulldev
                    170: #define        dh11    0
                    171: #else
                    172: int    dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset();
                    173: struct tty dh11[];
                    174: #endif
                    175: 
                    176: #if VAX780
                    177: int    flopen(),flclose(),flread(),flwrite();
                    178: #endif
                    179: 
                    180: #include "dz.h"
                    181: #if NDZ == 0
                    182: #define        dzopen  nodev
                    183: #define        dzclose nodev
                    184: #define        dzread  nodev
                    185: #define        dzwrite nodev
                    186: #define        dzioctl nodev
                    187: #define        dzstop  nodev
                    188: #define        dzreset nulldev
                    189: #define        dz_tty  0
                    190: #else
                    191: int    dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset();
                    192: struct tty dz_tty[];
                    193: #endif
                    194: 
                    195: #include "lp.h"
                    196: #if NLP > 0
                    197: int    lpopen(),lpclose(),lpwrite(),lpreset();
                    198: #else
                    199: #define        lpopen          nodev
                    200: #define        lpclose         nodev
                    201: #define        lpwrite         nodev
                    202: #define        lpreset         nulldev
                    203: #endif
                    204: 
                    205: int    syopen(),syread(),sywrite(),syioctl();
                    206: 
                    207: int    mmread(),mmwrite();
                    208: 
                    209: #include "va.h"
                    210: #if NVA > 0
                    211: int    vaopen(),vaclose(),vawrite(),vaioctl(),vareset();
                    212: #else
                    213: #define        vaopen  nodev
                    214: #define        vaclose nodev
                    215: #define        vawrite nodev
                    216: #define        vaopen  nodev
                    217: #define        vaioctl nodev
                    218: #define        vareset nulldev
                    219: #endif
                    220: 
                    221: #include "vp.h"
                    222: #if NVP > 0
                    223: int    vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset();
                    224: #else
                    225: #define        vpopen  nodev
                    226: #define        vpclose nodev
                    227: #define        vpwrite nodev
                    228: #define        vpioctl nodev
                    229: #define        vpreset nulldev
                    230: #endif
                    231: 
                    232: int    mxopen(),mxclose(),mxread(),mxwrite(),mxioctl();
                    233: int    mcread();
                    234: char   *mcwrite();
                    235: 
                    236: #include "pty.h"
                    237: #if NPTY > 0
                    238: int    ptsopen(), ptsclose(), ptsread(), ptswrite();
                    239: int    ptcopen(), ptcclose(), ptcread(), ptcwrite();
                    240: int    ptyioctl();
                    241: struct tty pt_tty[];
                    242: #else
                    243: #define ptsopen nodev
                    244: #define ptsclose nodev
                    245: #define ptsread nodev
                    246: #define ptswrite nodev
                    247: #define ptcopen nodev
                    248: #define ptcclose nodev
                    249: #define ptcread nodev
                    250: #define ptcwrite nodev
                    251: #define ptyioctl nodev
                    252: #define        pt_tty  0
                    253: #endif
                    254: 
                    255: #include "dn.h"
                    256: #if NDN > 0
                    257: int    dnopen(), dnclose(), dnwrite();
                    258: #else
                    259: #define        dnopen  nodev
                    260: #define        dnclose nodev
                    261: #define        dnwrite nodev
                    262: #endif
                    263: 
                    264: struct cdevsw  cdevsw[] =
                    265: {
                    266:        cnopen,         cnclose,        cnread,         cnwrite,        /*0*/
                    267:        cnioctl,        nulldev,        nulldev,        &cons,
                    268:        dzopen,         dzclose,        dzread,         dzwrite,        /*1*/
                    269:        dzioctl,        dzstop,         dzreset,        dz_tty,
                    270:        syopen,         nulldev,        syread,         sywrite,        /*2*/
                    271:        syioctl,        nulldev,        nulldev,        0,
                    272:        nulldev,        nulldev,        mmread,         mmwrite,        /*3*/
                    273:        nodev,          nulldev,        nulldev,        0,
                    274:        nulldev,        nulldev,        hpread,         hpwrite,        /*4*/
                    275:        nodev,          nodev,          nulldev,        0,
                    276:        htopen,         htclose,        htread,         htwrite,        /*5*/
                    277:        htioctl,        nodev,          nulldev,        0,
                    278:        vpopen,         vpclose,        nodev,          vpwrite,        /*6*/
                    279:        vpioctl,        nulldev,        vpreset,        0,
                    280:        nulldev,        nulldev,        swread,         swwrite,        /*7*/
                    281:        nodev,          nodev,          nulldev,        0,
                    282: #if VAX780
                    283:        flopen,         flclose,        flread,         flwrite,        /*8*/
                    284:        nodev,          nodev,          nulldev,        0,
                    285: #else
                    286:        nodev,          nodev,          nodev,          nodev,          /*8*/
                    287:        nodev,          nodev,          nodev,          0,
                    288: #endif
                    289:        mxopen,         mxclose,        mxread,         mxwrite,        /*9*/
                    290:        mxioctl,        nulldev,        nulldev,        0,
                    291:        vaopen,         vaclose,        nodev,          vawrite,        /*10*/
                    292:        vaioctl,        nulldev,        vareset,        0,
                    293:        nulldev,        nulldev,        rkread,         rkwrite,        /*11*/
                    294:        nodev,          nodev,          rkreset,        0,
                    295:        dhopen,         dhclose,        dhread,         dhwrite,        /*12*/
                    296:        dhioctl,        dhstop,         dhreset,        dh11,
                    297:        nulldev,        nulldev,        upread,         upwrite,        /*13*/
                    298:        nodev,          nodev,          upreset,        0,
                    299:        tmopen,         tmclose,        tmread,         tmwrite,        /*14*/
                    300:        tmioctl,        nodev,          tmreset,        0,
                    301:        lpopen,         lpclose,        nodev,          lpwrite,        /*15*/
                    302:        nodev,          nodev,          lpreset,        0,
                    303:        tsopen,         tsclose,        tsread,         tswrite,        /*16*/
                    304:        tsioctl,        nodev,          tsreset,        0,
                    305:        nodev,          nodev,          nodev,          nodev,          /*17*/
                    306:        nodev,          nodev,          nulldev,        0,
                    307:        ctopen,         ctclose,        nodev,          ctwrite,        /*18*/
                    308:        nodev,          nodev,          nulldev,        0,
                    309:        mtopen,         mtclose,        mtread,         mtwrite,        /*19*/
                    310:        mtioctl,        nodev,          nodev,          0,
                    311:        ptsopen,        ptsclose,       ptsread,        ptswrite,       /*20*/
                    312:        ptyioctl,       nulldev,        nodev,          pt_tty,
                    313:        ptcopen,        ptcclose,       ptcread,        ptcwrite,       /*21*/
                    314:        ptyioctl,       nulldev,        nodev,          pt_tty,
                    315:        dnopen,         dnclose,        nodev,          dnwrite,        /*22*/
                    316:        nodev,          nodev,          nodev,          0,
                    317:        nodev,          nodev,          nodev,          nodev,          /*23*/
                    318:        nodev,          nodev,          nodev,          0,
                    319:        udopen,         nulldev,        udread,         udwrite,        /*24*/
                    320:        nodev,          nodev,          udreset,        0,
                    321:        nodev,          nodev,          nodev,          nodev,          /*25*/
                    322:        nodev,          nodev,          nodev,          0,
                    323: /* 25-29 reserved to local sites */
                    324:        0,      
                    325: };
                    326: 
                    327: int    ttyopen(),ttread(),nullioctl(),ttstart();
                    328: char   *ttwrite();
                    329: int    ttyinput(),ttyrend();
                    330: 
                    331: #include "bk.h"
                    332: #if NBK > 0
                    333: int    bkopen(),bkclose(),bkread(),bkinput(),bkioctl();
                    334: #endif
                    335: 
                    336: int    ntyopen(),ntyclose(),ntread();
                    337: char   *ntwrite();
                    338: int    ntyinput(),ntyrend();
                    339: 
                    340: struct linesw linesw[] =
                    341: {
                    342:        ttyopen, nulldev, ttread, ttwrite, nullioctl,
                    343:        ttyinput, ttyrend, nulldev, nulldev, nulldev,           /* 0 */
                    344: #if NBK > 0
                    345:        bkopen, bkclose, bkread, ttwrite, bkioctl,
                    346:        bkinput, nodev, nulldev, ttstart, nulldev,              /* 1 */
                    347: #else
                    348:        nodev, nodev, nodev, (char *(*)())nodev, nodev,
                    349:        nodev, nodev, nodev, nodev, nodev,
                    350: #endif
                    351:        ntyopen, ntyclose, ntread, ntwrite, nullioctl,
                    352:        ntyinput, ntyrend, nulldev, ttstart, nulldev,           /* 2 */
                    353: 
                    354:        mxopen, mxclose, mcread, mcwrite, mxioctl,
                    355:        nulldev, nulldev, nulldev, nulldev, nulldev,            /* 3 */
                    356:        0
                    357: };
                    358: 
                    359: int    nldisp = 3;
                    360: 
                    361: struct buf     bfreelist[BQUEUES];     /* buffer chain headers */
                    362: struct buf     bswlist;        /* free list of swap headers */
                    363: struct buf     *bclnlist;      /* header for list of cleaned pages */
                    364: struct acct    acctbuf;
                    365: struct inode   *acctp;
                    366: 
                    367: int    mem_no = 3;     /* major device number of memory special file */
                    368: 
                    369: /*
                    370:  * Swapdev is a fake device implemented
                    371:  * in sw.c used only internally to get to swstrategy.
                    372:  * It cannot be provided to the users, because the
                    373:  * swstrategy routine munches the b_dev and b_blkno entries
                    374:  * before calling the appropriate driver.  This would horribly
                    375:  * confuse, e.g. the hashing routines. Instead, /dev/drum is
                    376:  * provided as a character (raw) device.
                    377:  */
                    378: dev_t  swapdev = makedev(4, 0);
                    379: 
                    380: extern struct user u;

unix.superglobalmegacorp.com

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