Annotation of Gnu-Mach/i386/i386at/conf.c, revision 1.1.1.1

1.1       root        1: /* 
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1993-1989 Carnegie Mellon University
                      4:  * All Rights Reserved.
                      5:  * 
                      6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
                     11:  * 
                     12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     15:  * 
                     16:  * Carnegie Mellon requests users of this software to return to
                     17:  * 
                     18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
                     22:  * 
                     23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: /*
                     27:  * Device switch for i386 AT bus.
                     28:  */
                     29: 
                     30: #include <mach/machine/vm_types.h>
                     31: #include <device/conf.h>
                     32: 
                     33: extern vm_offset_t block_io_mmap();
                     34: 
                     35: extern int     timeopen(), timeclose();
                     36: extern vm_offset_t timemmap();
                     37: #define        timename                "time"
                     38: 
                     39: #include <hd.h>
                     40: #if    NHD > 0
                     41: extern int     hdopen(), hdclose(), hdread(), hdwrite();
                     42: extern int     hdgetstat(), hdsetstat(), hddevinfo();
                     43: #define        hdname                  "hd"
                     44: 
                     45: #if 0
                     46: extern int      pchdopen(),pchdread(),pchdwrite(),pchdgetstat(),pchdsetstat();
                     47: #define pchdname                "pchd"
                     48: #endif
                     49: 
                     50: #endif NHD > 0
                     51: 
                     52: #include <aha.h>
                     53: #if    NAHA > 0
                     54: int     rz_open(), rz_close(), rz_read(), rz_write();
                     55: int     rz_get_status(), rz_set_status(), rz_devinfo();
                     56: int    cd_open(), cd_close(), cd_read(), cd_write();
                     57: #define rzname "sd"
                     58: #define        tzname "st"
                     59: #define        scname "sc"     /* processors */
                     60: #define cdname "cd_audio"      /* CD-ROM DA */
                     61: 
                     62: #endif /*NAHA > 0*/
                     63: 
                     64: #include <fd.h>
                     65: #if    NFD > 0
                     66: extern int     fdopen(), fdclose(), fdread(), fdwrite();
                     67: extern int     fdgetstat(), fdsetstat(), fddevinfo();
                     68: #define        fdname                  "fd"
                     69: #endif NFD > 0
                     70: 
                     71: #include <wt.h>
                     72: #if    NWT > 0
                     73: extern int     wtopen(), wtread(), wtwrite(), wtclose();
                     74: #define        wtname                  "wt"
                     75: #endif NWT > 0
                     76: 
                     77: #include <pc586.h>
                     78: #if    NPC586 > 0
                     79: extern int     pc586open(), pc586output(), pc586getstat(), pc586setstat(),
                     80:                pc586setinput();
                     81: #define        pc586name               "pc"
                     82: #endif NPC586 > 0
                     83: 
                     84: #include <ne.h>
                     85: #if     NNE > 0
                     86: extern int      neopen(), neoutput(), negetstat(), nesetstat(), nesetinput();
                     87: #ifdef FIPC
                     88: extern int      nefoutput();
                     89: #endif /* FIPC */
                     90: #define nename                  "ne"
                     91: #endif  NNE > 0
                     92: 
                     93: #include <ns8390.h>
                     94: #if    NNS8390 > 0
                     95: extern int     wd8003open(), eliiopen();
                     96: extern int     ns8390output(), ns8390getstat(), ns8390setstat(), 
                     97:                ns8390setinput();
                     98: #define        ns8390wdname            "wd"
                     99: #define        ns8390elname            "el"
                    100: #endif NNS8390 > 0
                    101: 
                    102: #include <at3c501.h>
                    103: #if    NAT3C501 > 0
                    104: extern int     at3c501open(), at3c501output(),
                    105:                at3c501getstat(), at3c501setstat(),
                    106:                at3c501setinput();
                    107: #define        at3c501name             "et"
                    108: #endif NAT3C501 > 0
                    109: 
                    110: #include <ul.h>
                    111: #if NUL > 0
                    112: extern int    ulopen(), uloutput(), ulgetstat(), ulsetstat(),
                    113:                ulsetinput();
                    114: #define ulname                        "ul"
                    115: #endif NUL > 0
                    116: 
                    117: #include <wd.h>
                    118: #if NWD > 0
                    119: extern int    wdopen(), wdoutput(), wdgetstat(), wdsetstat(),
                    120:               wdsetinput();
                    121: #define wdname                        "wd"
                    122: #endif NWD > 0
                    123: 
                    124: #include <hpp.h>
                    125: #if NHPP > 0
                    126: extern int    hppopen(), hppoutput(), hppgetstat(), hppsetstat(),
                    127:                hppsetinput();
                    128: #define hppname                       "hpp"
                    129: #endif /* NHPP > 0 */
                    130: 
                    131: #include <par.h>
                    132: #if    NPAR > 0
                    133: extern int     paropen(), paroutput(), pargetstat(), parsetstat(),
                    134:                parsetinput();
                    135: #define        parname         "par"
                    136: #endif NPAR > 0
                    137: 
                    138: #include <de6c.h>
                    139: #if    NDE6C > 0
                    140: extern int     de6copen(), de6coutput(), de6cgetstat(), de6csetstat(),
                    141:                de6csetinput();
                    142: #define        de6cname                "de"
                    143: #endif NDE6C > 0
                    144: 
                    145: extern int     kdopen(), kdclose(), kdread(), kdwrite();
                    146: extern int     kdgetstat(), kdsetstat(), kdportdeath();
                    147: extern vm_offset_t kdmmap();
                    148: #define        kdname                  "kd"
                    149: 
                    150: #include <com.h>
                    151: #if    NCOM > 0
                    152: extern int     comopen(), comclose(), comread(), comwrite();
                    153: extern int     comgetstat(), comsetstat(), comportdeath();
                    154: #define        comname                 "com"
                    155: #endif NCOM > 0
                    156: 
                    157: #include <lpr.h>
                    158: #if    NLPR > 0
                    159: extern int     lpropen(), lprclose(), lprread(), lprwrite();
                    160: extern int     lprgetstat(), lprsetstat(), lprportdeath();
                    161: #define        lprname                 "lpr"
                    162: #endif NLPR > 0
                    163: 
                    164: #include <blit.h>
                    165: #if NBLIT > 0
                    166: extern int     blitopen(), blitclose(), blit_get_stat();
                    167: extern vm_offset_t blitmmap();
                    168: #define        blitname                "blit"
                    169: 
                    170: extern int     mouseinit(), mouseopen(), mouseclose();
                    171: extern int     mouseioctl(), mouseselect(), mouseread();
                    172: #endif
                    173: 
                    174: extern int     kbdopen(), kbdclose(), kbdread();
                    175: extern int     kbdgetstat(), kbdsetstat();
                    176: #define        kbdname                 "kbd"
                    177: 
                    178: extern int     mouseopen(), mouseclose(), mouseread();
                    179: #define        mousename               "mouse"
                    180: 
                    181: extern int     ioplopen(), ioplclose();
                    182: extern vm_offset_t ioplmmap();
                    183: #define        ioplname                "iopl"
                    184: 
                    185: /*
                    186:  * List of devices - console must be at slot 0
                    187:  */
                    188: struct dev_ops dev_name_list[] =
                    189: {
                    190:        /*name,         open,           close,          read,
                    191:          write,        getstat,        setstat,        mmap,
                    192:          async_in,     reset,          port_death,     subdev,
                    193:          dev_info */
                    194: 
                    195:        /* We don't assign a console here, when we find one via
                    196:           cninit() we stick something appropriate here through the
                    197:           indirect list */
                    198:        { "cn",         nulldev,        nulldev,        nulldev,
                    199:          nulldev,      nulldev,        nulldev,        nulldev,
                    200:          nodev,        nulldev,        nulldev,        0,
                    201:          nodev },
                    202: 
                    203:        { kdname,       kdopen,         kdclose,        kdread,
                    204:          kdwrite,      kdgetstat,      kdsetstat,      kdmmap,
                    205:          nodev,        nulldev,        kdportdeath,    0,
                    206:          nodev },
                    207: 
                    208:        { timename,     timeopen,       timeclose,      nulldev,
                    209:          nulldev,      nulldev,        nulldev,        timemmap,
                    210:          nodev,        nulldev,        nulldev,        0,
                    211:          nodev },
                    212: 
                    213: #ifndef LINUX_DEV
                    214: #if    NHD > 0
                    215:        { hdname,       hdopen,         hdclose,        hdread,
                    216:          hdwrite,      hdgetstat,      hdsetstat,      nomap,
                    217:          nodev,        nulldev,        nulldev,        1024,
                    218:          hddevinfo },
                    219: #endif NHD > 0
                    220: 
                    221: #if    NAHA > 0
                    222:        { rzname,       rz_open,        rz_close,       rz_read,
                    223:          rz_write,     rz_get_status,  rz_set_status,  nomap,
                    224:          nodev,        nulldev,        nulldev,        1024, /* 8 */
                    225:          rz_devinfo },
                    226: 
                    227:        { tzname,       rz_open,        rz_close,       rz_read,
                    228:          rz_write,     rz_get_status,  rz_set_status,  nomap,
                    229:          nodev,        nulldev,        nulldev,        8,
                    230:          nodev },
                    231: 
                    232:        { cdname,       cd_open,        cd_close,       cd_read,
                    233:          cd_write,     nodev,          nodev,          nomap,
                    234:          nodev,        nulldev,        nulldev,        8,
                    235:          nodev },
                    236: 
                    237:        { scname,       rz_open,        rz_close,       rz_read,
                    238:          rz_write,     rz_get_status,  rz_set_status,  nomap,
                    239:          nodev,        nulldev,        nulldev,        8,
                    240:          nodev },
                    241: 
                    242: #endif /*NAHA > 0*/
                    243: 
                    244: #if    NFD > 0
                    245:        { fdname,       fdopen,         fdclose,        fdread,
                    246:          fdwrite,      fdgetstat,      fdsetstat,      nomap,
                    247:          nodev,        nulldev,        nulldev,        64,
                    248:          fddevinfo },
                    249: #endif NFD > 0
                    250: 
                    251: #if    NWT > 0
                    252:        { wtname,       wtopen,         wtclose,        wtread,
                    253:          wtwrite,      nulldev,        nulldev,        nomap,
                    254:          nodev,        nulldev,        nulldev,        0,
                    255:          nodev },
                    256: #endif NWT > 0
                    257: 
                    258: #if    NPC586 > 0
                    259:        { pc586name,    pc586open,      nulldev,        nulldev,
                    260:          pc586output,  pc586getstat,   pc586setstat,   nomap,
                    261:          pc586setinput,nulldev,        nulldev,        0,
                    262:          nodev },
                    263: #endif
                    264: 
                    265: #if     NNE > 0
                    266:         { nename,       neopen,         nulldev,        nulldev,
                    267:           neoutput,     negetstat,      nesetstat,      nulldev,
                    268: #ifdef FIPC
                    269:           nesetinput,   nulldev,        nefoutput,      0,
                    270: #else
                    271:           nesetinput,   nulldev,        nulldev,        0,
                    272: #endif /* FIPC */
                    273:           nodev },
                    274: #endif
                    275: 
                    276: #if    NAT3C501 > 0
                    277:        { at3c501name,  at3c501open,    nulldev,        nulldev,
                    278:          at3c501output,at3c501getstat, at3c501setstat, nomap,
                    279:          at3c501setinput, nulldev,     nulldev,        0,
                    280:          nodev },
                    281: #endif
                    282: 
                    283: #if    NNS8390 > 0
                    284:        { ns8390wdname, wd8003open,     nulldev,        nulldev,
                    285:          ns8390output, ns8390getstat,  ns8390setstat,  nomap,
                    286:          ns8390setinput, nulldev,      nulldev,        0,
                    287:          nodev },
                    288: 
                    289:        { ns8390elname, eliiopen,       nulldev,        nulldev,
                    290:          ns8390output, ns8390getstat,  ns8390setstat,  nomap,
                    291:          ns8390setinput, nulldev,      nulldev,        0,
                    292:          nodev },
                    293: #endif
                    294: 
                    295: #if    NUL > 0
                    296:         { ulname,       ulopen,         nulldev,        nulldev,
                    297:           uloutput,     ulgetstat,      ulsetstat,      nulldev,
                    298:           ulsetinput,   nulldev,        nulldev,        0,
                    299:           nodev },
                    300: #endif
                    301: 
                    302: #if    NWD > 0
                    303:        { wdname,       wdopen,         nulldev,        nulldev,
                    304:           wdoutput,     wdgetstat,      wdsetstat,      nulldev,
                    305:           wdsetinput,   nulldev,        nulldev,        0,
                    306:          nodev },
                    307: #endif
                    308: 
                    309: #if    NHPP > 0
                    310:        { hppname,      hppopen,        nulldev,        nulldev,
                    311:          hppoutput,  hppgetstat,     hppsetstat,     nulldev,
                    312:          hppsetinput,  nulldev,        nulldev,        0,
                    313:           nodev },
                    314: #endif
                    315: 
                    316: #if    NPAR > 0
                    317:        { parname,      paropen,        nulldev,        nulldev,
                    318:          paroutput,    pargetstat,     parsetstat,     nomap,
                    319:          parsetinput,  nulldev,        nulldev,        0,
                    320:          nodev },
                    321: #endif
                    322: 
                    323: #if    NDE6C > 0
                    324:        { de6cname,     de6copen,       nulldev,        nulldev,
                    325:          de6coutput,   de6cgetstat,    de6csetstat,    nomap,
                    326:          de6csetinput, nulldev,        nulldev,        0,
                    327:          nodev },
                    328: #endif
                    329: #endif /* ! LINUX_DEV */
                    330: 
                    331: #if    NCOM > 0
                    332:        { comname,      comopen,        comclose,       comread,
                    333:          comwrite,     comgetstat,     comsetstat,     nomap,
                    334:          nodev,        nulldev,        comportdeath,   0,
                    335:          nodev },
                    336: #endif
                    337: 
                    338: #ifndef LINUX_DEV
                    339: #if    NLPR > 0
                    340:        { lprname,      lpropen,        lprclose,       lprread,
                    341:          lprwrite,     lprgetstat,     lprsetstat,     nomap,
                    342:          nodev,        nulldev,        lprportdeath,   0,
                    343:          nodev },
                    344: #endif
                    345: #endif /* ! LINUX_DEV */
                    346: 
                    347: #if    NBLIT > 0
                    348:        { blitname,     blitopen,       blitclose,      nodev,
                    349:          nodev,        blit_get_stat,  nodev,          blitmmap,
                    350:          nodev,        nodev,          nodev,          0,
                    351:          nodev },
                    352: #endif
                    353: 
                    354:        { mousename,    mouseopen,      mouseclose,     mouseread,
                    355:          nodev,        nulldev,        nulldev,        nomap,
                    356:          nodev,        nulldev,        nulldev,        0,
                    357:          nodev },
                    358: 
                    359:        { kbdname,      kbdopen,        kbdclose,       kbdread,
                    360:          nodev,        kbdgetstat,     kbdsetstat,     nomap,
                    361:          nodev,        nulldev,        nulldev,        0,
                    362:          nodev },
                    363: 
                    364:        { ioplname,     ioplopen,       ioplclose,      nodev,
                    365:          nodev,        nodev,          nodev,          ioplmmap,
                    366:          nodev,        nulldev,        nulldev,        0,
                    367:          nodev },
                    368: 
                    369: #if 0
                    370: #if    NHD > 0
                    371:        { pchdname,     pchdopen,       hdclose,        pchdread,
                    372:          pchdwrite,    pchdgetstat,    pchdsetstat,    nomap,
                    373:          nodev,        nulldev,        nulldev,        16,
                    374:          hddevinfo },
                    375: #endif NHD > 0
                    376: #endif
                    377: 
                    378: #if 0
                    379: #if     NHD > 0
                    380:         { hdname,       hdopen,         hdclose,        hdread,
                    381:           hdwrite,      hdgetstat,      hdsetstat,      nomap,
                    382:           nodev,        nulldev,        nulldev,        16,
                    383:           hddevinfo },
                    384: #endif  NHD > 0
                    385: #endif 0 /* Kevin doesn't know why this was here. */
                    386: 
                    387: };
                    388: int    dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
                    389: 
                    390: /*
                    391:  * Indirect list.
                    392:  */
                    393: struct dev_indirect dev_indirect_list[] = {
                    394: 
                    395:        /* console */
                    396:        { "console",    &dev_name_list[0],      0 }
                    397: };
                    398: int    dev_indirect_count = sizeof(dev_indirect_list)
                    399:                                / sizeof(dev_indirect_list[0]);

unix.superglobalmegacorp.com

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