Annotation of Gnu-Mach/device/ds_routines.h, revision 1.1.1.4

1.1.1.2   root        1: /*
1.1       root        2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
                      4:  * All Rights Reserved.
1.1.1.2   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.2   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.2   root       15:  *
1.1       root       16:  * Carnegie Mellon requests users of this software to return to
1.1.1.2   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.2   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:  *     Author: David B. Golub, Carnegie Mellon University
                     28:  *     Date:   8/89
                     29:  *
                     30:  *     Device service utility routines.
                     31:  */
                     32: 
                     33: #ifndef        DS_ROUTINES_H
                     34: #define        DS_ROUTINES_H
                     35: 
                     36: #include <vm/vm_map.h>
                     37: #include <device/device_types.h>
1.1.1.3   root       38: #include <device/io_req.h>
                     39: #include <mach/machine/vm_types.h>
1.1       root       40: 
                     41: /*
                     42:  * Map for device IO memory.
                     43:  */
1.1.1.3   root       44: extern vm_map_t                device_io_map;
1.1       root       45: 
1.1.1.3   root       46: extern queue_head_t    io_done_list;
                     47: 
                     48: kern_return_t  device_read_alloc(io_req_t, vm_size_t);
                     49: kern_return_t  device_write_get(io_req_t, boolean_t *);
                     50: boolean_t      device_write_dealloc(io_req_t);
                     51: void           device_reference(device_t);
                     52: 
                     53: boolean_t      ds_notify(mach_msg_header_t *msg);
                     54: boolean_t      ds_open_done(io_req_t);
                     55: boolean_t      ds_read_done(io_req_t);
                     56: boolean_t      ds_write_done(io_req_t);
                     57: 
                     58: void           iowait (io_req_t ior);
                     59: 
                     60: kern_return_t  device_pager_setup(
1.1.1.4 ! root       61:        const mach_device_t     device,
        !            62:        int                     prot,
        !            63:        vm_offset_t             offset,
        !            64:        vm_size_t               size,
        !            65:        mach_port_t             *pager);
        !            66: 
        !            67: extern void mach_device_init(void);
        !            68: extern void dev_lookup_init(void);
        !            69: extern void device_pager_init(void);
        !            70: extern void io_done_thread(void) __attribute__ ((noreturn));
        !            71: 
        !            72: io_return_t ds_device_write_trap(
        !            73:        device_t        dev,
        !            74:        dev_mode_t      mode,
        !            75:        recnum_t        recnum,
        !            76:        vm_offset_t     data,
        !            77:        vm_size_t       count);
        !            78: 
        !            79: io_return_t ds_device_writev_trap(
        !            80:        device_t        dev,
        !            81:        dev_mode_t      mode,
        !            82:        recnum_t        recnum,
        !            83:        io_buf_vec_t    *iovec,
        !            84:        vm_size_t       count);
1.1       root       85: 
1.1.1.2   root       86: #endif /* DS_ROUTINES_H */

unix.superglobalmegacorp.com

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