Annotation of OSKit-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: subsystem
                     36: #if    KERNEL_SERVER
                     37:          KernelServer
                     38: #endif
                     39:                       device 2800;
                     40: 
                     41: #include <mach/std_types.defs>
                     42: #include <mach/mach_types.defs>
                     43: #include <device/device_types.defs>
                     44: 
                     45: serverprefix   ds_;
                     46: 
                     47: type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic
                     48:        ctype: mach_port_t;
                     49: 
                     50: routine device_open(
                     51:                master_port     : mach_port_t;
                     52:        sreplyport reply_port   : reply_port_t;
                     53:                mode            : dev_mode_t;
                     54:                name            : dev_name_t;
                     55:        out     device          : device_t
                     56:        );
                     57: 
                     58: routine device_close(
                     59:                device          : device_t
                     60:        );
                     61: 
                     62: routine device_write(
                     63:                device          : device_t;
                     64:        sreplyport reply_port   : reply_port_t;
                     65:        in      mode            : dev_mode_t;
                     66:        in      recnum          : recnum_t;
                     67:        in      data            : io_buf_ptr_t;
                     68:        out     bytes_written   : int
                     69:        );
                     70: 
                     71: routine device_write_inband(
                     72:                device          : device_t;
                     73:        sreplyport reply_port   : reply_port_t;
                     74:        in      mode            : dev_mode_t;
                     75:        in      recnum          : recnum_t;
                     76:        in      data            : io_buf_ptr_inband_t;
                     77:        out     bytes_written   : int
                     78:        );
                     79: 
                     80: routine        device_read(
                     81:                device          : device_t;
                     82:        sreplyport reply_port   : reply_port_t;
                     83:        in      mode            : dev_mode_t;
                     84:        in      recnum          : recnum_t;
                     85:        in      bytes_wanted    : int;
                     86:        out     data            : io_buf_ptr_t
                     87:        );
                     88: 
                     89: routine        device_read_inband(
                     90:                device          : device_t;
                     91:        sreplyport reply_port   : reply_port_t;
                     92:        in      mode            : dev_mode_t;
                     93:        in      recnum          : recnum_t;
                     94:        in      bytes_wanted    : int;
                     95:        out     data            : io_buf_ptr_inband_t
                     96:        );
                     97: 
                     98: skip; /* obsolete device_set_status */
                     99: skip; /* obsolete device_get_status */
                    100: skip; /* obsolete device_set_filter */
                    101: 
                    102: routine device_map(
                    103:                device          : device_t;
                    104:        in      prot            : vm_prot_t;
                    105:        in      offset          : vm_offset_t;
                    106:        in      size            : vm_size_t;
                    107:        out     pager           : memory_object_t;
                    108:        in      unmap           : int
                    109:        );
                    110: 
                    111: routine        device_set_status(
                    112:                device          : device_t;
                    113:        in      flavor          : dev_flavor_t;
                    114:        in      status          : dev_status_t
                    115:        );
                    116: 
                    117: routine        device_get_status(
                    118:                device          : device_t;
                    119:        in      flavor          : dev_flavor_t;
                    120:        out     status          : dev_status_t, CountInOut
                    121:        );
                    122: 
                    123: routine device_set_filter(
                    124:                device          : device_t;
                    125:        in      receive_port    : mach_port_send_t;
                    126:        in      priority        : int;
                    127:        in      filter          : filter_array_t
                    128:        );

unix.superglobalmegacorp.com

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