Annotation of OSKit-Mach/include/device/device.defs, revision 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.