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 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: device_types.defs,v $
29 * Revision 2.10 93/08/10 15:11:12 mrt
30 * Doubled size of filter_array_t.
31 * [93/07/06 cmaeda]
32 *
33 * Revision 2.9 93/01/14 17:26:46 danner
34 * Added dev_flavor_t, use int32 instead of 'int'.
35 * [92/11/30 af]
36 *
37 * Revision 2.8 91/06/25 10:26:40 rpd
38 * Changed the port-based type declarations
39 * to use mach_port_t as the C type name.
40 * [91/05/23 rpd]
41 *
42 * Revision 2.7 91/05/14 15:43:07 mrt
43 * Correcting copyright
44 *
45 * Revision 2.6 91/03/16 14:42:54 rpd
46 * Added filter_t.
47 * [91/02/12 rpd]
48 *
49 * Revision 2.5 91/02/05 17:09:10 mrt
50 * Changed to new Mach copyright
51 * [91/01/31 17:28:27 mrt]
52 *
53 * Revision 2.4 90/06/02 14:47:48 rpd
54 * Converted to new IPC.
55 * [90/03/26 21:53:33 rpd]
56 *
57 * Revision 2.3 89/09/08 11:23:52 dbg
58 * Add device_t and translation functions.
59 * [89/08/01 dbg]
60 *
61 * Revision 2.2 89/08/05 16:06:27 rwd
62 * Added io_buf_ptr_inband_t
63 * [89/08/04 rwd]
64 *
65 * Created.
66 * [89/03/03 dbg]
67 *
68 */
69 /*
70 * Author: David B. Golub, Carnegie Mellon University
71 * Date: 3/89
72 *
73 * Common definitions for device interface types.
74 */
75
76 #ifndef _DEVICE_DEVICE_TYPES_DEFS_
77 #define _DEVICE_DEVICE_TYPES_DEFS_
78
79 /*
80 * Basic types
81 */
82
83 #include <mach/std_types.defs>
84
85 type recnum_t = unsigned32;
86 type dev_mode_t = unsigned32;
87 type dev_flavor_t = unsigned32;
88 type dev_name_t = (MACH_MSG_TYPE_STRING_C, 8*128);
89 type dev_status_t = array[*:1024] of int;
90 type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8;
91 type io_buf_ptr_inband_t= array[*:128] of char;
92 type filter_t = short;
93 type filter_array_t = array[*:128] of filter_t;
94
95 type device_t = mach_port_t
96 ctype: mach_port_t
97 #if KERNEL_SERVER
98 intran: device_t dev_port_lookup(mach_port_t)
99 outtran: mach_port_t convert_device_to_port(device_t)
100 destructor: device_deallocate(device_t)
101 #endif KERNEL_SERVER
102 ;
103
104 import <device/device_types.h>;
105 import <device/net_status.h>;
106
107 #endif _DEVICE_DEVICE_TYPES_DEFS_
Cache object: ba5c7759fc74c2bff0a8fe9a1da6ffa6
|