Annotation of Gnu-Mach/include/device/device.defs, revision 1.1.1.1

1.1       root        1: /* 
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,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:  * File:       device/device.defs
                     28:  * Author:     Douglas Orr
                     29:  *             Feb 10, 1988
                     30:  * Abstract:
                     31:  *     Mach device support.  Mach devices are accessed through
                     32:  *     block and character device interfaces to the kernel.
                     33:  */
                     34: 
                     35: #ifdef MACH_KERNEL
                     36: simport <kern/compat_xxx_defs.h>;      /* for obsolete routines */
                     37: #endif
                     38: 
                     39: subsystem
                     40: #if    KERNEL_SERVER
                     41:          KernelServer
                     42: #endif
                     43:                       device 2800;
                     44: 
                     45: #include <mach/std_types.defs>
                     46: #include <mach/mach_types.defs>
                     47: #include <device/device_types.defs>
                     48: 
                     49: serverprefix   ds_;
                     50: 
                     51: type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic
                     52:        ctype: mach_port_t;
                     53: 
                     54: routine device_open(
                     55:                master_port     : mach_port_t;
                     56:        sreplyport reply_port   : reply_port_t;
                     57:                mode            : dev_mode_t;
                     58:                name            : dev_name_t;
                     59:        out     device          : device_t
                     60:        );
                     61: 
                     62: routine device_close(
                     63:                device          : device_t
                     64:        );
                     65: 
                     66: routine device_write(
                     67:                device          : device_t;
                     68:        sreplyport reply_port   : reply_port_t;
                     69:        in      mode            : dev_mode_t;
                     70:        in      recnum          : recnum_t;
                     71:        in      data            : io_buf_ptr_t;
                     72:        out     bytes_written   : int
                     73:        );
                     74: 
                     75: routine device_write_inband(
                     76:                device          : device_t;
                     77:        sreplyport reply_port   : reply_port_t;
                     78:        in      mode            : dev_mode_t;
                     79:        in      recnum          : recnum_t;
                     80:        in      data            : io_buf_ptr_inband_t;
                     81:        out     bytes_written   : int
                     82:        );
                     83: 
                     84: routine        device_read(
                     85:                device          : device_t;
                     86:        sreplyport reply_port   : reply_port_t;
                     87:        in      mode            : dev_mode_t;
                     88:        in      recnum          : recnum_t;
                     89:        in      bytes_wanted    : int;
                     90:        out     data            : io_buf_ptr_t
                     91:        );
                     92: 
                     93: routine        device_read_inband(
                     94:                device          : device_t;
                     95:        sreplyport reply_port   : reply_port_t;
                     96:        in      mode            : dev_mode_t;
                     97:        in      recnum          : recnum_t;
                     98:        in      bytes_wanted    : int;
                     99:        out     data            : io_buf_ptr_inband_t
                    100:        );
                    101: 
                    102: /* obsolete */
                    103: routine        xxx_device_set_status(
                    104:                device          : device_t;
                    105:        in      flavor          : dev_flavor_t;
                    106:        in      status          : dev_status_t, IsLong
                    107:        );
                    108: 
                    109: /* obsolete */
                    110: routine        xxx_device_get_status(
                    111:                device          : device_t;
                    112:        in      flavor          : dev_flavor_t;
                    113:        out     status          : dev_status_t, IsLong
                    114:        );
                    115: 
                    116: /* obsolete */
                    117: routine xxx_device_set_filter(
                    118:                device          : device_t;
                    119:        in      receive_port    : mach_port_send_t;
                    120:        in      priority        : int;
                    121:        in      filter          : filter_array_t, IsLong
                    122:        );
                    123: 
                    124: routine device_map(
                    125:                device          : device_t;
                    126:        in      prot            : vm_prot_t;
                    127:        in      offset          : vm_offset_t;
                    128:        in      size            : vm_size_t;
                    129:        out     pager           : memory_object_t;
                    130:        in      unmap           : int
                    131:        );
                    132: 
                    133: routine        device_set_status(
                    134:                device          : device_t;
                    135:        in      flavor          : dev_flavor_t;
                    136:        in      status          : dev_status_t
                    137:        );
                    138: 
                    139: routine        device_get_status(
                    140:                device          : device_t;
                    141:        in      flavor          : dev_flavor_t;
                    142:        out     status          : dev_status_t, CountInOut
                    143:        );
                    144: 
                    145: routine device_set_filter(
                    146:                device          : device_t;
                    147:        in      receive_port    : mach_port_send_t;
                    148:        in      priority        : int;
                    149:        in      filter          : filter_array_t
                    150:        );
                    151: 

unix.superglobalmegacorp.com

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