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

1.1.1.3   root        1: /*
1.1       root        2:  * Mach Operating System
                      3:  * Copyright (c) 1993-1989 Carnegie Mellon University
                      4:  * All Rights Reserved.
1.1.1.3   root        5:  *
1.1       root        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.
1.1.1.3   root       11:  *
1.1       root       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.
1.1.1.3   root       15:  *
1.1       root       16:  * Carnegie Mellon requests users of this software to return to
1.1.1.3   root       17:  *
1.1       root       18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
1.1.1.3   root       22:  *
1.1       root       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 int     timeopen(), timeclose();
                     34: extern vm_offset_t timemmap();
                     35: #define        timename                "time"
                     36: 
1.1.1.4 ! root       37: #ifndef        MACH_HYP
1.1       root       38: extern int     kdopen(), kdclose(), kdread(), kdwrite();
                     39: extern int     kdgetstat(), kdsetstat(), kdportdeath();
                     40: extern vm_offset_t kdmmap();
                     41: #define        kdname                  "kd"
                     42: 
                     43: #if    NCOM > 0
                     44: extern int     comopen(), comclose(), comread(), comwrite();
                     45: extern int     comgetstat(), comsetstat(), comportdeath();
                     46: #define        comname                 "com"
1.1.1.3   root       47: #endif /* NCOM > 0 */
1.1       root       48: 
                     49: #if    NLPR > 0
                     50: extern int     lpropen(), lprclose(), lprread(), lprwrite();
                     51: extern int     lprgetstat(), lprsetstat(), lprportdeath();
                     52: #define        lprname                 "lpr"
1.1.1.3   root       53: #endif /* NLPR > 0 */
1.1.1.4 ! root       54: #endif /* MACH_HYP */
1.1       root       55: 
                     56: extern int     kbdopen(), kbdclose(), kbdread();
                     57: extern int     kbdgetstat(), kbdsetstat();
                     58: #define        kbdname                 "kbd"
                     59: 
1.1.1.4 ! root       60: #ifndef        MACH_HYP
1.1.1.2   root       61: extern int     mouseopen(), mouseclose(), mouseread(), mousegetstat();
1.1       root       62: #define        mousename               "mouse"
                     63: 
1.1.1.4 ! root       64: extern vm_offset_t memmmap();
        !            65: #define        memname                 "mem"
        !            66: #endif /* MACH_HYP */
1.1       root       67: 
1.1.1.2   root       68: extern int     kmsgopen(), kmsgclose(), kmsgread(), kmsggetstat();
                     69: #define kmsgname               "kmsg"
                     70: 
1.1.1.4 ! root       71: #ifdef MACH_HYP
        !            72: extern int     hypcnopen(), hypcnclose(), hypcnread(), hypcnwrite();
        !            73: extern int     hypcngetstat(), hypcnsetstat(), hypcnportdeath();
        !            74: #define hypcnname              "hyp"
        !            75: #endif /* MACH_HYP */
        !            76: 
1.1       root       77: /*
                     78:  * List of devices - console must be at slot 0
                     79:  */
                     80: struct dev_ops dev_name_list[] =
                     81: {
                     82:        /*name,         open,           close,          read,
                     83:          write,        getstat,        setstat,        mmap,
                     84:          async_in,     reset,          port_death,     subdev,
                     85:          dev_info */
                     86: 
                     87:        /* We don't assign a console here, when we find one via
                     88:           cninit() we stick something appropriate here through the
                     89:           indirect list */
                     90:        { "cn",         nulldev,        nulldev,        nulldev,
1.1.1.4 ! root       91:          nulldev,      nulldev,        nulldev,        nomap,
1.1       root       92:          nodev,        nulldev,        nulldev,        0,
                     93:          nodev },
                     94: 
1.1.1.4 ! root       95: #ifndef        MACH_HYP
1.1       root       96:        { kdname,       kdopen,         kdclose,        kdread,
                     97:          kdwrite,      kdgetstat,      kdsetstat,      kdmmap,
                     98:          nodev,        nulldev,        kdportdeath,    0,
                     99:          nodev },
1.1.1.4 ! root      100: #endif /* MACH_HYP */
1.1       root      101: 
                    102:        { timename,     timeopen,       timeclose,      nulldev,
                    103:          nulldev,      nulldev,        nulldev,        timemmap,
                    104:          nodev,        nulldev,        nulldev,        0,
                    105:          nodev },
                    106: 
1.1.1.4 ! root      107: #ifndef        MACH_HYP
1.1.1.3   root      108: #if    NCOM > 0
1.1       root      109:        { comname,      comopen,        comclose,       comread,
                    110:          comwrite,     comgetstat,     comsetstat,     nomap,
                    111:          nodev,        nulldev,        comportdeath,   0,
                    112:          nodev },
                    113: #endif
                    114: 
1.1.1.2   root      115: #ifdef MACH_LPR
1.1       root      116:        { lprname,      lpropen,        lprclose,       lprread,
                    117:          lprwrite,     lprgetstat,     lprsetstat,     nomap,
                    118:          nodev,        nulldev,        lprportdeath,   0,
                    119:          nodev },
                    120: #endif
                    121: 
                    122:        { mousename,    mouseopen,      mouseclose,     mouseread,
1.1.1.2   root      123:          nodev,        mousegetstat,   nulldev,        nomap,
1.1       root      124:          nodev,        nulldev,        nulldev,        0,
                    125:          nodev },
                    126: 
                    127:        { kbdname,      kbdopen,        kbdclose,       kbdread,
                    128:          nodev,        kbdgetstat,     kbdsetstat,     nomap,
                    129:          nodev,        nulldev,        nulldev,        0,
                    130:          nodev },
                    131: 
1.1.1.4 ! root      132:        { memname,      nulldev,        nulldev,        nodev,
        !           133:          nodev,        nodev,          nodev,          memmmap,
1.1       root      134:          nodev,        nulldev,        nulldev,        0,
                    135:          nodev },
1.1.1.4 ! root      136: #endif /* MACH_HYP */
1.1       root      137: 
1.1.1.2   root      138: #ifdef MACH_KMSG
                    139:         { kmsgname,     kmsgopen,       kmsgclose,       kmsgread,
                    140:           nodev,        kmsggetstat,    nodev,           nomap,
                    141:           nodev,        nulldev,        nulldev,         0,
                    142:           nodev },
                    143: #endif
                    144: 
1.1.1.4 ! root      145: #ifdef MACH_HYP
        !           146:        { hypcnname,    hypcnopen,      hypcnclose,     hypcnread,
        !           147:          hypcnwrite,   hypcngetstat,   hypcnsetstat,   nomap,
        !           148:          nodev,        nulldev,        hypcnportdeath, 0,
        !           149:          nodev },
        !           150: #endif /* MACH_HYP */
        !           151: 
1.1       root      152: };
                    153: int    dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
                    154: 
                    155: /*
                    156:  * Indirect list.
                    157:  */
                    158: struct dev_indirect dev_indirect_list[] = {
                    159: 
                    160:        /* console */
                    161:        { "console",    &dev_name_list[0],      0 }
                    162: };
                    163: int    dev_indirect_count = sizeof(dev_indirect_list)
                    164:                                / 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.