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

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: 
1.1.1.2 ! root      178: extern int     mouseopen(), mouseclose(), mouseread(), mousegetstat();
1.1       root      179: #define        mousename               "mouse"
                    180: 
                    181: extern int     ioplopen(), ioplclose();
                    182: extern vm_offset_t ioplmmap();
                    183: #define        ioplname                "iopl"
                    184: 
1.1.1.2 ! root      185: extern int     kmsgopen(), kmsgclose(), kmsgread(), kmsggetstat();
        !           186: #define kmsgname               "kmsg"
        !           187: 
1.1       root      188: /*
                    189:  * List of devices - console must be at slot 0
                    190:  */
                    191: struct dev_ops dev_name_list[] =
                    192: {
                    193:        /*name,         open,           close,          read,
                    194:          write,        getstat,        setstat,        mmap,
                    195:          async_in,     reset,          port_death,     subdev,
                    196:          dev_info */
                    197: 
                    198:        /* We don't assign a console here, when we find one via
                    199:           cninit() we stick something appropriate here through the
                    200:           indirect list */
                    201:        { "cn",         nulldev,        nulldev,        nulldev,
                    202:          nulldev,      nulldev,        nulldev,        nulldev,
                    203:          nodev,        nulldev,        nulldev,        0,
                    204:          nodev },
                    205: 
                    206:        { kdname,       kdopen,         kdclose,        kdread,
                    207:          kdwrite,      kdgetstat,      kdsetstat,      kdmmap,
                    208:          nodev,        nulldev,        kdportdeath,    0,
                    209:          nodev },
                    210: 
                    211:        { timename,     timeopen,       timeclose,      nulldev,
                    212:          nulldev,      nulldev,        nulldev,        timemmap,
                    213:          nodev,        nulldev,        nulldev,        0,
                    214:          nodev },
                    215: 
                    216: #ifndef LINUX_DEV
                    217: #if    NHD > 0
                    218:        { hdname,       hdopen,         hdclose,        hdread,
                    219:          hdwrite,      hdgetstat,      hdsetstat,      nomap,
                    220:          nodev,        nulldev,        nulldev,        1024,
                    221:          hddevinfo },
                    222: #endif NHD > 0
                    223: 
                    224: #if    NAHA > 0
                    225:        { rzname,       rz_open,        rz_close,       rz_read,
                    226:          rz_write,     rz_get_status,  rz_set_status,  nomap,
                    227:          nodev,        nulldev,        nulldev,        1024, /* 8 */
                    228:          rz_devinfo },
                    229: 
                    230:        { tzname,       rz_open,        rz_close,       rz_read,
                    231:          rz_write,     rz_get_status,  rz_set_status,  nomap,
                    232:          nodev,        nulldev,        nulldev,        8,
                    233:          nodev },
                    234: 
                    235:        { cdname,       cd_open,        cd_close,       cd_read,
                    236:          cd_write,     nodev,          nodev,          nomap,
                    237:          nodev,        nulldev,        nulldev,        8,
                    238:          nodev },
                    239: 
                    240:        { scname,       rz_open,        rz_close,       rz_read,
                    241:          rz_write,     rz_get_status,  rz_set_status,  nomap,
                    242:          nodev,        nulldev,        nulldev,        8,
                    243:          nodev },
                    244: 
                    245: #endif /*NAHA > 0*/
                    246: 
                    247: #if    NFD > 0
                    248:        { fdname,       fdopen,         fdclose,        fdread,
                    249:          fdwrite,      fdgetstat,      fdsetstat,      nomap,
                    250:          nodev,        nulldev,        nulldev,        64,
                    251:          fddevinfo },
                    252: #endif NFD > 0
                    253: 
                    254: #if    NWT > 0
                    255:        { wtname,       wtopen,         wtclose,        wtread,
                    256:          wtwrite,      nulldev,        nulldev,        nomap,
                    257:          nodev,        nulldev,        nulldev,        0,
                    258:          nodev },
                    259: #endif NWT > 0
                    260: 
                    261: #if    NPC586 > 0
                    262:        { pc586name,    pc586open,      nulldev,        nulldev,
                    263:          pc586output,  pc586getstat,   pc586setstat,   nomap,
                    264:          pc586setinput,nulldev,        nulldev,        0,
                    265:          nodev },
                    266: #endif
                    267: 
                    268: #if     NNE > 0
                    269:         { nename,       neopen,         nulldev,        nulldev,
                    270:           neoutput,     negetstat,      nesetstat,      nulldev,
                    271: #ifdef FIPC
                    272:           nesetinput,   nulldev,        nefoutput,      0,
                    273: #else
                    274:           nesetinput,   nulldev,        nulldev,        0,
                    275: #endif /* FIPC */
                    276:           nodev },
                    277: #endif
                    278: 
                    279: #if    NAT3C501 > 0
                    280:        { at3c501name,  at3c501open,    nulldev,        nulldev,
                    281:          at3c501output,at3c501getstat, at3c501setstat, nomap,
                    282:          at3c501setinput, nulldev,     nulldev,        0,
                    283:          nodev },
                    284: #endif
                    285: 
                    286: #if    NNS8390 > 0
                    287:        { ns8390wdname, wd8003open,     nulldev,        nulldev,
                    288:          ns8390output, ns8390getstat,  ns8390setstat,  nomap,
                    289:          ns8390setinput, nulldev,      nulldev,        0,
                    290:          nodev },
                    291: 
                    292:        { ns8390elname, eliiopen,       nulldev,        nulldev,
                    293:          ns8390output, ns8390getstat,  ns8390setstat,  nomap,
                    294:          ns8390setinput, nulldev,      nulldev,        0,
                    295:          nodev },
                    296: #endif
                    297: 
                    298: #if    NUL > 0
                    299:         { ulname,       ulopen,         nulldev,        nulldev,
                    300:           uloutput,     ulgetstat,      ulsetstat,      nulldev,
                    301:           ulsetinput,   nulldev,        nulldev,        0,
                    302:           nodev },
                    303: #endif
                    304: 
                    305: #if    NWD > 0
                    306:        { wdname,       wdopen,         nulldev,        nulldev,
                    307:           wdoutput,     wdgetstat,      wdsetstat,      nulldev,
                    308:           wdsetinput,   nulldev,        nulldev,        0,
                    309:          nodev },
                    310: #endif
                    311: 
                    312: #if    NHPP > 0
                    313:        { hppname,      hppopen,        nulldev,        nulldev,
                    314:          hppoutput,  hppgetstat,     hppsetstat,     nulldev,
                    315:          hppsetinput,  nulldev,        nulldev,        0,
                    316:           nodev },
                    317: #endif
                    318: 
                    319: #if    NPAR > 0
                    320:        { parname,      paropen,        nulldev,        nulldev,
                    321:          paroutput,    pargetstat,     parsetstat,     nomap,
                    322:          parsetinput,  nulldev,        nulldev,        0,
                    323:          nodev },
                    324: #endif
                    325: 
                    326: #if    NDE6C > 0
                    327:        { de6cname,     de6copen,       nulldev,        nulldev,
                    328:          de6coutput,   de6cgetstat,    de6csetstat,    nomap,
                    329:          de6csetinput, nulldev,        nulldev,        0,
                    330:          nodev },
                    331: #endif
                    332: #endif /* ! LINUX_DEV */
                    333: 
1.1.1.2 ! root      334: #ifdef MACH_COM
1.1       root      335:        { comname,      comopen,        comclose,       comread,
                    336:          comwrite,     comgetstat,     comsetstat,     nomap,
                    337:          nodev,        nulldev,        comportdeath,   0,
                    338:          nodev },
                    339: #endif
                    340: 
1.1.1.2 ! root      341: #ifdef MACH_LPR
1.1       root      342:        { lprname,      lpropen,        lprclose,       lprread,
                    343:          lprwrite,     lprgetstat,     lprsetstat,     nomap,
                    344:          nodev,        nulldev,        lprportdeath,   0,
                    345:          nodev },
                    346: #endif
                    347: 
                    348: #if    NBLIT > 0
                    349:        { blitname,     blitopen,       blitclose,      nodev,
                    350:          nodev,        blit_get_stat,  nodev,          blitmmap,
                    351:          nodev,        nodev,          nodev,          0,
                    352:          nodev },
                    353: #endif
                    354: 
                    355:        { mousename,    mouseopen,      mouseclose,     mouseread,
1.1.1.2 ! root      356:          nodev,        mousegetstat,   nulldev,        nomap,
1.1       root      357:          nodev,        nulldev,        nulldev,        0,
                    358:          nodev },
                    359: 
                    360:        { kbdname,      kbdopen,        kbdclose,       kbdread,
                    361:          nodev,        kbdgetstat,     kbdsetstat,     nomap,
                    362:          nodev,        nulldev,        nulldev,        0,
                    363:          nodev },
                    364: 
                    365:        { ioplname,     ioplopen,       ioplclose,      nodev,
                    366:          nodev,        nodev,          nodev,          ioplmmap,
                    367:          nodev,        nulldev,        nulldev,        0,
                    368:          nodev },
                    369: 
                    370: #if 0
                    371: #if    NHD > 0
                    372:        { pchdname,     pchdopen,       hdclose,        pchdread,
                    373:          pchdwrite,    pchdgetstat,    pchdsetstat,    nomap,
                    374:          nodev,        nulldev,        nulldev,        16,
                    375:          hddevinfo },
                    376: #endif NHD > 0
                    377: #endif
                    378: 
                    379: #if 0
                    380: #if     NHD > 0
                    381:         { hdname,       hdopen,         hdclose,        hdread,
                    382:           hdwrite,      hdgetstat,      hdsetstat,      nomap,
                    383:           nodev,        nulldev,        nulldev,        16,
                    384:           hddevinfo },
                    385: #endif  NHD > 0
                    386: #endif 0 /* Kevin doesn't know why this was here. */
                    387: 
1.1.1.2 ! root      388: #ifdef MACH_KMSG
        !           389:         { kmsgname,     kmsgopen,       kmsgclose,       kmsgread,
        !           390:           nodev,        kmsggetstat,    nodev,           nomap,
        !           391:           nodev,        nulldev,        nulldev,         0,
        !           392:           nodev },
        !           393: #endif
        !           394: 
1.1       root      395: };
                    396: int    dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
                    397: 
                    398: /*
                    399:  * Indirect list.
                    400:  */
                    401: struct dev_indirect dev_indirect_list[] = {
                    402: 
                    403:        /* console */
                    404:        { "console",    &dev_name_list[0],      0 }
                    405: };
                    406: int    dev_indirect_count = sizeof(dev_indirect_list)
                    407:                                / 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.