1 /*
2 * Mach Operating System
3 * Copyright (c) 1993,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 Software.Distribution@CS.CMU.EDU
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 * HISTORY
28 * $Log: ds_routines.h,v $
29 * Revision 2.6 93/11/17 16:33:10 dbg
30 * Added ANSI function prototypes.
31 * [93/09/24 dbg]
32 *
33 * Revision 2.5 91/08/28 11:11:22 jsb
34 * Page list support: device_write_dealloc returns a boolean.
35 * [91/08/05 17:32:28 dlb]
36 *
37 * Revision 2.4 91/05/14 15:47:56 mrt
38 * Correcting copyright
39 *
40 * Revision 2.3 91/02/05 17:09:33 mrt
41 * Changed to new Mach copyright
42 * [91/01/31 17:29:15 mrt]
43 *
44 * Revision 2.2 89/09/08 11:24:24 dbg
45 * Created.
46 * [89/08/04 dbg]
47 *
48 */
49 /*
50 * Author: David B. Golub, Carnegie Mellon University
51 * Date: 8/89
52 *
53 * Device service utility routines.
54 */
55
56 #ifndef _DEVICE_DS_ROUTINES_H_
57 #define _DEVICE_DS_ROUTINES_H_
58
59 #include <mach/boolean.h>
60 #include <mach/message.h>
61 #include <mach/machine/vm_types.h>
62 #include <vm/vm_map.h>
63 #include <device/device_types.h>
64 #include <device/io_req.h>
65
66 /*
67 * Map for device IO memory.
68 */
69 extern vm_map_t device_io_map;
70
71 extern kern_return_t
72 device_read_alloc(
73 io_req_t ior,
74 vm_size_t size);
75
76 extern kern_return_t
77 device_write_get(
78 io_req_t ior,
79 boolean_t *wait);
80
81 extern boolean_t
82 device_write_dealloc(
83 io_req_t ior);
84
85 extern boolean_t
86 ds_open_done(
87 io_req_t ior);
88
89 extern boolean_t
90 ds_read_done(
91 io_req_t ior);
92
93 extern boolean_t
94 ds_write_done(
95 io_req_t ior);
96
97 extern boolean_t
98 ds_notify(
99 mach_msg_header_t *msg);
100
101 #endif /* _DEVICE_DS_ROUTINES_H_ */
Cache object: a10650507be2f7f8be93a74857bfb8ff
|