Annotation of 43BSDReno/sys/tahoe/conf.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1988 Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution is only permitted until one year after the first shipment
                      6:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
                      7:  * binary forms are permitted provided that: (1) source distributions retain
                      8:  * this entire copyright notice and comment, and (2) distributions including
                      9:  * binaries display the following acknowledgement:  This product includes
                     10:  * software developed by the University of California, Berkeley and its
                     11:  * contributors'' in the documentation or other materials provided with the
                     12:  * distribution and in all advertising materials mentioning features or use
                     13:  * of this software.  Neither the name of the University nor the names of
                     14:  * its contributors may be used to endorse or promote products derived from
                     15:  * this software without specific prior written permission.
                     16:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     17:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     18:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     19:  *
                     20:  *     @(#)conf.c      7.6 (Berkeley) 6/28/90
                     21:  */
                     22: 
                     23: #include "param.h"
                     24: #include "systm.h"
                     25: #include "buf.h"
                     26: #include "ioctl.h"
                     27: #include "tty.h"
                     28: #include "conf.h"
                     29: 
                     30: int nulldev(), nodev(), rawread(), rawwrite(), swstrategy();
                     31: 
                     32: #include "dk.h"
                     33: #if NVD > 0
                     34: int    vdopen(),vdclose(),vdstrategy(),vdioctl();
                     35: int    vddump(),vdsize();
                     36: #else
                     37: #define        vdopen          nodev
                     38: #define        vdclose         nodev
                     39: #define        vdstrategy      nodev
                     40: #define        vdioctl         nodev
                     41: #define        vddump          nodev
                     42: #define        vdsize          0
                     43: #endif
                     44: 
                     45: #include "hd.h"
                     46: #if NHD > 0
                     47: int    hdopen(),hdclose(),hdstrategy(),hdioctl();
                     48: int    hddump(),hdsize();
                     49: #else
                     50: #define        hdopen          nodev
                     51: #define        hdclose         nodev
                     52: #define        hdstrategy      nodev
                     53: #define        hdioctl         nodev
                     54: #define        hddump          nodev
                     55: #define        hdsize          0
                     56: #endif
                     57: 
                     58: #include "yc.h"
                     59: #if NCY > 0
                     60: int    cyopen(),cyclose(),cystrategy(),cydump();
                     61: int    cyioctl(),cyreset();
                     62: #else
                     63: #define        cyopen          nodev
                     64: #define        cyclose         nodev
                     65: #define        cystrategy      nodev
                     66: #define        cydump          nodev
                     67: #define        cyioctl         nodev
                     68: #define        cyreset         nulldev
                     69: #endif
                     70: 
                     71: struct bdevsw  bdevsw[] =
                     72: {
                     73:        { nodev,        nulldev,        nodev,          nodev,          /*0*/
                     74:          nodev,        0,              0 },
                     75:        { vdopen,       vdclose,        vdstrategy,     vdioctl,        /*1*/
                     76:          vddump,       vdsize,         0 },
                     77:        { hdopen,       hdclose,        hdstrategy,     hdioctl,        /*2*/
                     78:          hddump,       hdsize,         0 },
                     79:        { cyopen,       cyclose,        cystrategy,     cyioctl,        /*3*/
                     80:          cydump,       0,              B_TAPE },
                     81:        { nodev,        nodev,          swstrategy,     nodev,          /*4*/
                     82:          nodev,        0,              0 },
                     83: };
                     84: int    nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
                     85: 
                     86: int    cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
                     87: extern struct tty cons;
                     88: 
                     89: #include "vx.h"
                     90: #if NVX == 0
                     91: #define        vxopen  nodev
                     92: #define        vxclose nodev
                     93: #define        vxread  nodev
                     94: #define        vxwrite nodev
                     95: #define        vxioctl nodev
                     96: #define        vxstop  nodev
                     97: #define        vxreset nulldev
                     98: #define        vx_tty  0
                     99: #else
                    100: int    vxopen(),vxclose(),vxread(),vxwrite(),vxioctl(),vxstop(),vxreset();
                    101: struct tty vx_tty[];
                    102: #endif
                    103: 
                    104: int    syopen(),syread(),sywrite(),syioctl(),syselect();
                    105: 
                    106: int    mmrw();
                    107: #define        mmselect        seltrue
                    108: 
                    109: #include "pty.h"
                    110: #if NPTY > 0
                    111: int    ptsopen(),ptsclose(),ptsread(),ptswrite(),ptsstop();
                    112: int    ptcopen(),ptcclose(),ptcread(),ptcwrite(),ptcselect();
                    113: int    ptyioctl();
                    114: struct tty pt_tty[];
                    115: #else
                    116: #define ptsopen                nodev
                    117: #define ptsclose       nodev
                    118: #define ptsread                nodev
                    119: #define ptswrite       nodev
                    120: #define ptcopen                nodev
                    121: #define ptcclose       nodev
                    122: #define ptcread                nodev
                    123: #define ptcwrite       nodev
                    124: #define ptyioctl       nodev
                    125: #define        pt_tty          0
                    126: #define        ptcselect       nodev
                    127: #define        ptsstop         nulldev
                    128: #endif
                    129: 
                    130: #include "mp.h"
                    131: #if NMP > 0
                    132: int    mpopen(), mpclose(), mpread(), mpwrite(), mpioctl(), mpstop();
                    133: int    mpdlopen(), mpdlclose(), mpdlwrite(), mpdlioctl();
                    134: extern struct tty mp_tty[];
                    135: #else
                    136: #define        mpopen          nodev
                    137: #define        mpclose         nodev
                    138: #define        mpread          nodev
                    139: #define        mpwrite         nodev
                    140: #define        mpioctl         nodev
                    141: #define        mpstop          nodev
                    142: #define        mpdlopen        nodev
                    143: #define        mpdlclose       nodev
                    144: #define        mpdlwrite       nodev
                    145: #define        mpdlioctl       nodev
                    146: #define        mp_tty          0
                    147: #endif
                    148: 
                    149: #if NII > 0
                    150: int    iiioctl(), iiclose(), iiopen();
                    151: #else
                    152: #define        iiopen  nodev
                    153: #define        iiclose nodev
                    154: #define        iiioctl nodev
                    155: #endif
                    156: 
                    157: #include "enp.h"
                    158: #if NENP > 0
                    159: int    enpr_open(), enpr_close(), enpr_read(), enpr_write(), enpr_ioctl();
                    160: #else
                    161: #define enpr_open      nodev
                    162: #define enpr_close     nodev
                    163: #define enpr_read      nodev
                    164: #define enpr_write     nodev
                    165: #define enpr_ioctl     nodev
                    166: #endif
                    167: 
                    168: #include "dr.h"
                    169: #if NDR > 0
                    170: int     dropen(),drclose(),drread(),drwrite(),drioctl(),drreset();
                    171: #else
                    172: #define dropen nodev
                    173: #define drclose nodev
                    174: #define drread nodev
                    175: #define drwrite nodev
                    176: #define drioctl nodev
                    177: #define drreset nodev
                    178: #endif
                    179: 
                    180: #include "ik.h"
                    181: #if NIK > 0
                    182: int     ikopen(),ikclose(),ikread(),ikwrite(),ikioctl();
                    183: #else
                    184: #define ikopen nodev
                    185: #define ikclose nodev
                    186: #define ikread nodev
                    187: #define ikwrite nodev
                    188: #define ikioctl nodev
                    189: #endif
                    190: 
                    191: int    logopen(),logclose(),logread(),logioctl(),logselect();
                    192: 
                    193: int    fdopen();
                    194: 
                    195: int    ttselect(), seltrue();
                    196: 
                    197: struct cdevsw  cdevsw[] =
                    198: {
                    199:        cnopen,         cnclose,        cnread,         cnwrite,        /*0*/
                    200:        cnioctl,        nulldev,        nulldev,        &cons,
                    201:        ttselect,       nodev,          NULL,
                    202:        vxopen,         vxclose,        vxread,         vxwrite,        /*1*/
                    203:        vxioctl,        vxstop,         vxreset,        vx_tty,
                    204:        ttselect,       nodev,          NULL,
                    205:        syopen,         nulldev,        syread,         sywrite,        /*2*/
                    206:        syioctl,        nulldev,        nulldev,        NULL,
                    207:        syselect,       nodev,          NULL,
                    208:        nulldev,        nulldev,        mmrw,           mmrw,           /*3*/
                    209:        nodev,          nulldev,        nulldev,        NULL,
                    210:        mmselect,       nodev,          NULL,
                    211:        nodev,          nulldev,        nodev,          nodev,          /*4*/
                    212:        nodev,          nodev,          nulldev,        NULL,
                    213:        seltrue,        nodev,          NULL,
                    214:        vdopen,         vdclose,        rawread,        rawwrite,       /*5*/
                    215:        vdioctl,        nodev,          nulldev,        NULL,
                    216:        seltrue,        nodev,          vdstrategy,
                    217:        hdopen,         hdclose,        rawread,        rawwrite,       /*6*/
                    218:        hdioctl,        nodev,          nulldev,        NULL,
                    219:        seltrue,        nodev,          hdstrategy,
                    220:        cyopen,         cyclose,        rawread,        rawwrite,       /*7*/
                    221:        cyioctl,        nodev,          cyreset,        NULL,
                    222:        seltrue,        nodev,          cystrategy,
                    223:        nulldev,        nulldev,        rawread,        rawwrite,       /*8*/
                    224:        nodev,          nodev,          nulldev,        NULL,
                    225:        nodev,          nodev,          swstrategy,
                    226:        ptsopen,        ptsclose,       ptsread,        ptswrite,       /*9*/
                    227:        ptyioctl,       ptsstop,        nodev,          pt_tty,
                    228:        ttselect,       nodev,          NULL,
                    229:        ptcopen,        ptcclose,       ptcread,        ptcwrite,       /*10*/
                    230:        ptyioctl,       nulldev,        nodev,          pt_tty,
                    231:        ptcselect,      nodev,          NULL,
                    232:        mpdlopen,       mpdlclose,      nodev,          mpdlwrite,      /*11*/
                    233:        mpdlioctl,      nodev,          nulldev,        NULL,
                    234:        seltrue,        nodev,          NULL,
                    235:        mpopen,         mpclose,        mpread,         mpwrite,        /*12*/
                    236:        mpioctl,        mpstop,         nulldev,        mp_tty,
                    237:        ttselect,       nodev,          NULL,
                    238:        nodev,          nodev,          nodev,          nodev,          /*13*/
                    239:        nodev,          nodev,          nulldev,        NULL,
                    240:        nodev,          nodev,          NULL,
                    241:        iiopen,         iiclose,        nulldev,        nulldev,        /*14*/
                    242:        iiioctl,        nulldev,        nulldev,        NULL,
                    243:        seltrue,        nodev,          NULL,
                    244:        logopen,        logclose,       logread,        nodev,          /*15*/
                    245:        logioctl,       nodev,          nulldev,        NULL,
                    246:        logselect,      nodev,          NULL,
                    247:        enpr_open,      enpr_close,     enpr_read,      enpr_write,     /*16*/
                    248:        enpr_ioctl,     nodev,          nulldev,        NULL,
                    249:        nodev,          nodev,          NULL,
                    250:        nodev,          nodev,          nodev,          nodev,          /*17*/
                    251:        nodev,          nodev,          nulldev,        NULL,
                    252:        nodev,          nodev,          NULL,
                    253:        dropen,         drclose,        drread,         drwrite,        /*18*/
                    254:        drioctl,        nodev,          drreset,        NULL,
                    255:        nodev,          nodev,          NULL,
                    256:        nodev,          nodev,          nodev,          nodev,          /*19*/
                    257:        nodev,          nodev,          nulldev,        NULL,
                    258:        nodev,          nodev,          NULL,
                    259: /* 20-30 are reserved for local use */
                    260:        ikopen,         ikclose,        ikread,         ikwrite,        /*20*/
                    261:        ikioctl,        nodev,          nulldev,        NULL,
                    262:        nodev,          nodev,          NULL,
                    263:        fdopen,         nodev,          nodev,          nodev,          /*21*/
                    264:        nodev,          nodev,          nodev,          NULL,
                    265:        nodev,          nodev,          NULL,
                    266: };
                    267: int    nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
                    268: 
                    269: int    mem_no = 3;     /* major device number of memory special file */
                    270: 
                    271: /*
                    272:  * Swapdev is a fake device implemented
                    273:  * in sw.c used only internally to get to swstrategy.
                    274:  * It cannot be provided to the users, because the
                    275:  * swstrategy routine munches the b_dev and b_blkno entries
                    276:  * before calling the appropriate driver.  This would horribly
                    277:  * confuse, e.g. the hashing routines. Instead, /dev/drum is
                    278:  * provided as a character (raw) device.
                    279:  */
                    280: dev_t  swapdev = makedev(4, 0);

unix.superglobalmegacorp.com

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