Annotation of 40BSD/sys/conf/conf.c, revision 1.1.1.1

1.1       root        1: /*     conf.c  4.4     11/12/80        */
                      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: #include "../h/mba.h"
                     17: 
                     18: int    nulldev();
                     19: int    nodev();
                     20: 
                     21: #include "../conf/hp.h"
                     22: #if NHP > 0
                     23: int    hpstrategy(),hpread(),hpwrite(),hpintr();
                     24: struct buf     hptab;
                     25: #define        HPTAB   &hptab
                     26: #else
                     27: #define        hpstrategy      nodev
                     28: #define        hpread          nodev
                     29: #define        hpwrite         nodev
                     30: #define        hpintr          nodev
                     31: #define        HPTAB           0
                     32: #endif
                     33:  
                     34: #include "../conf/ht.h"
                     35: #if NHT > 0
                     36: int    htopen(),htclose(),htstrategy(),htread(),htwrite();
                     37: struct buf     httab;
                     38: #define        HTTAB   &httab
                     39: #else
                     40: #define        htopen          nodev
                     41: #define        htclose         nodev
                     42: #define        htstrategy      nodev
                     43: #define        htread          nodev
                     44: #define        htwrite         nodev
                     45: #define        HTTAB           0
                     46: #endif
                     47: 
                     48: #include "../conf/up.h"
                     49: #if NUP > 0
                     50: int    upstrategy(),upread(),upwrite(),upreset();
                     51: struct buf     uptab;
                     52: #define        UPTAB   &uptab
                     53: #else
                     54: #define        upstrategy      nodev
                     55: #define        upread          nodev
                     56: #define        upwrite         nodev
                     57: #define        upreset         nulldev
                     58: #define        UPTAB           0
                     59: #endif
                     60: 
                     61: int    swstrategy(),swread(),swwrite();
                     62: 
                     63: struct bdevsw  bdevsw[] =
                     64: {
                     65:        nulldev,        nulldev,        hpstrategy,     HPTAB,          /*0*/
                     66:        htopen,         htclose,        htstrategy,     HTTAB,          /*1*/
                     67:        nulldev,        nulldev,        upstrategy,     UPTAB,          /*2*/
                     68: /* 3 reserved for rk07 */
                     69:        nodev,          nodev,          nodev,          0,              /*3*/
                     70:        nodev,          nodev,          swstrategy,     0,              /*4*/
                     71: /* 5 reserved for tm03 */
                     72:        0,
                     73: };
                     74: 
                     75: int    cnopen(),cnclose(),cnread(),cnwrite(),cnioctl();
                     76: 
                     77: #include "../conf/dh.h"
                     78: #if NDH11 == 0
                     79: #define        dhopen  nodev
                     80: #define        dhclose nodev
                     81: #define        dhread  nodev
                     82: #define        dhwrite nodev
                     83: #define        dhioctl nodev
                     84: #define        dhstop  nodev
                     85: #define        dhreset nulldev
                     86: #define        dh11    0
                     87: #else
                     88: int    dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset();
                     89: struct tty dh11[];
                     90: #endif
                     91: 
                     92: int    flopen(),flclose(),flread(),flwrite();
                     93: 
                     94: #include "../conf/dz.h"
                     95: #if NDZ11 == 0
                     96: #define        dzopen  nodev
                     97: #define        dzclose nodev
                     98: #define        dzread  nodev
                     99: #define        dzwrite nodev
                    100: #define        dzioctl nodev
                    101: #define        dzstop  nodev
                    102: #define        dzreset nulldev
                    103: #define        dz_tty  0
                    104: #else
                    105: int    dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset();
                    106: struct tty dz_tty[];
                    107: #endif
                    108: 
                    109: int    syopen(),syread(),sywrite(),syioctl();
                    110: 
                    111: int    mmread(),mmwrite();
                    112: 
                    113: #include "../conf/va.h"
                    114: #if NVA > 0
                    115: int    vaopen(),vaclose(),vawrite(),vaioctl(),vareset();
                    116: #else
                    117: #define        vaopen  nodev
                    118: #define        vaclose nodev
                    119: #define        vawrite nodev
                    120: #define        vaopen  nodev
                    121: #define        vaioctl nodev
                    122: #define        vareset nulldev
                    123: #endif
                    124: 
                    125: #include "../conf/vp.h"
                    126: #if NVP > 0
                    127: int    vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset();
                    128: #else
                    129: #define        vpopen  nodev
                    130: #define        vpclose nodev
                    131: #define        vpwrite nodev
                    132: #define        vpioctl nodev
                    133: #define        vpreset nulldev
                    134: #endif
                    135: 
                    136: int    mxopen(),mxclose(),mxread(),mxwrite(),mxioctl();
                    137: int    mcread();
                    138: char   *mcwrite();
                    139: 
                    140: struct cdevsw  cdevsw[] =
                    141: {
                    142:        cnopen,         cnclose,        cnread,         cnwrite,        /*0*/
                    143:        cnioctl,        nulldev,        nulldev,        0,
                    144:        dzopen,         dzclose,        dzread,         dzwrite,        /*1*/
                    145:        dzioctl,        dzstop,         dzreset,        dz_tty,
                    146:        syopen,         nulldev,        syread,         sywrite,        /*2*/
                    147:        syioctl,        nulldev,        nulldev,        0,
                    148:        nulldev,        nulldev,        mmread,         mmwrite,        /*3*/
                    149:        nodev,          nulldev,        nulldev,        0,
                    150:        nulldev,        nulldev,        hpread,         hpwrite,        /*4*/
                    151:        nodev,          nodev,          nulldev,        0,
                    152:        htopen,         htclose,        htread,         htwrite,        /*5*/
                    153:        nodev,          nodev,          nulldev,        0,
                    154:        vpopen,         vpclose,        nodev,          vpwrite,        /*6*/
                    155:        vpioctl,        nulldev,        vpreset,        0,
                    156:        nulldev,        nulldev,        swread,         swwrite,        /*7*/
                    157:        nodev,          nodev,          nulldev,        0,
                    158:        flopen,         flclose,        flread,         flwrite,        /*8*/
                    159:        nodev,          nodev,          nulldev,        0,
                    160:        mxopen,         mxclose,        mxread,         mxwrite,        /*9*/
                    161:        mxioctl,        nulldev,        nulldev,        0,
                    162:        vaopen,         vaclose,        nodev,          vawrite,        /*10*/
                    163:        vaioctl,        nulldev,        vareset,        0,
                    164: /* 11 reserved for rk07 */
                    165:        nodev,          nodev,          nodev,          nodev,          /*11*/
                    166:        nodev,          nodev,          nulldev,        0,
                    167:        dhopen,         dhclose,        dhread,         dhwrite,        /*12*/
                    168:        dhioctl,        dhstop,         dhreset,        dh11,
                    169:        nulldev,        nulldev,        upread,         upwrite,        /*13*/
                    170:        nodev,          nodev,          upreset,        0,
                    171: /* 14 reserved for tm03 */
                    172: /* 15 reserved for lp11 */
                    173:        0,      
                    174: };
                    175: 
                    176: int    ttyopen(),ttread(),nullioctl(),ttstart();
                    177: char   *ttwrite();
                    178: int    ttyinput(),ttyrend();
                    179: int    bkopen(),bkclose(),bkread(),bkinput(),bkioctl();
                    180: int    ntyopen(),ntyclose(),ntread();
                    181: char   *ntwrite();
                    182: int    ntyinput(),ntyrend();
                    183:  
                    184: struct linesw linesw[] =
                    185: {
                    186:        ttyopen, nulldev, ttread, ttwrite, nullioctl,
                    187:        ttyinput, ttyrend, nulldev, nulldev, nulldev,   /* 0 */
                    188:        bkopen, bkclose, bkread, ttwrite, bkioctl,
                    189:        bkinput, nodev, nulldev, ttstart, nulldev,      /* 1 */
                    190:        ntyopen, ntyclose, ntread, ntwrite, nullioctl,
                    191:        ntyinput, ntyrend, nulldev, ttstart, nulldev,   /* 2 */
                    192:        mxopen, mxclose, mcread, mcwrite, mxioctl,
                    193:        nulldev, nulldev, nulldev, nulldev, nulldev,    /* 3 */
                    194:        0
                    195: };
                    196:  
                    197: int    nldisp = 3;
                    198:  
                    199: struct buf     buf[NBUF];
                    200: struct file    file[NFILE];
                    201: struct inode   inode[NINODE];
                    202: struct text    text[NTEXT];
                    203: struct proc    proc[NPROC];
                    204: struct buf     bfreelist;
                    205: struct buf     bswlist;        /* free list of swap headers */
                    206: struct buf     *bclnlist;      /* header for list of cleaned pages */
                    207: struct acct    acctbuf;
                    208: struct inode   *acctp;
                    209:  
                    210: int    mem_no = 3;     /* major device number of memory special file */
                    211: 
                    212: /*
                    213:  * Swapdev is a fake device implemented
                    214:  * in sw.c used only internally to get to swstrategy.
                    215:  * It cannot be provided to the users, because the
                    216:  * swstrategy routine munches the b_dev and b_blkno entries
                    217:  * before calling the appropriate driver.  This would horribly
                    218:  * confuse, e.g. the hashing routines as well as the placement
                    219:  * of the block on the d_tab chains.  Instead, /dev/drum is
                    220:  * provided as a character (raw) device.
                    221:  */
                    222: dev_t  swapdev = makedev(4, 0);
                    223: 
                    224: extern struct user u;
                    225: 
                    226: /*
                    227:  * This is stupid, and will go away soon.
                    228:  */
                    229: int    mbanum[] = {    /* mba number of major device */
                    230:        0,              /* disk */
                    231:        1,              /* tape */
                    232:        9999999,        /* unused */
                    233:        9999999,        /* unused */
                    234:        0,              /* disk, raw */
                    235:        1,              /* tape, raw */
                    236: };
                    237: 
                    238: extern struct pte MBA0map[], MBA1map[];
                    239: 
                    240: struct mba_info mbainfo[] = {
                    241:        MBA0,   PHYSMBA0,       MBA0map,
                    242:        MBA1,   PHYSMBA1,       MBA1map
                    243: };

unix.superglobalmegacorp.com

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