Annotation of Gnu-Mach/i386/i386at/conf.c, revision 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.