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