FreeBSD/Linux Kernel Cross Reference
sys/mach/mach_types.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1993-1988 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: mach_types.h,v $
29 * Revision 2.12 93/11/17 17:41:23 dbg
30 * Include <mach/realtime_policy.h> for realtime policies.
31 * [93/11/16 dbg]
32 *
33 * Include mach/policy.h for policy_param_t.
34 * [93/05/11 dbg]
35 *
36 * Added types for new clocks and timers, and real-time attributes.
37 * [93/03/24 dbg]
38 *
39 * Revision 2.11 93/01/24 13:20:48 danner
40 * Include the pc_sample.h definition for everyone. The
41 * sample_control structure is included in task.h and thread.h.
42 * [93/01/12 rvb]
43 *
44 * Revision 2.10 93/01/14 17:44:36 danner
45 * Moved definition of vm_address_t to std_types.h.
46 * [92/12/14 pds]
47 * Cleanup.
48 * [92/06/10 pds]
49 *
50 * Revision 2.9 92/03/10 16:27:03 jsb
51 * NORMA_VM: define mach_xmm_obj_t and xmm_kobj_lookup().
52 * [92/02/10 08:47:29 jsb]
53 *
54 * Revision 2.8 91/06/25 10:30:20 rpd
55 * Added KERNEL-compilation includes for *_array_t types.
56 * [91/05/23 rpd]
57 *
58 * Revision 2.7 91/06/06 17:08:07 jsb
59 * Added emulation_vector_t for new get/set emulation vector calls.
60 * [91/05/24 17:46:31 jsb]
61 *
62 * Revision 2.6 91/05/14 16:55:17 mrt
63 * Correcting copyright
64 *
65 * Revision 2.5 91/02/05 17:33:43 mrt
66 * Changed to new Mach copyright
67 * [91/02/01 17:18:38 mrt]
68 *
69 * Revision 2.4 90/08/07 18:00:30 rpd
70 * Added processor_set_name_array_t.
71 * Removed vm_region_t, vm_region_array_t.
72 * [90/08/07 rpd]
73 *
74 * Revision 2.3 90/06/02 14:58:42 rpd
75 * Converted to new IPC.
76 * [90/03/26 22:33:59 rpd]
77 *
78 * Revision 2.2 90/01/22 23:05:48 af
79 * Added inclusion of vm_attributes.
80 * [89/12/09 af]
81 *
82 * Moved KERNEL type definitions into kern/mach_types_kernel.h, so
83 * that changing them will not affect user programs.
84 * [89/04/06 dbg]
85 *
86 * Removed io_buf_t, io_buf_ptr_t in favor of device interface.
87 * Removed include of ipc_netport.h. Removed vm_page_data_t
88 * (obsolete).
89 * [89/01/14 dbg]
90 *
91 * Revision 2.1 89/08/03 16:02:27 rwd
92 * Created.
93 *
94 * Revision 2.3 89/02/25 18:38:04 gm0w
95 * Changes for cleanup.
96 *
97 * Revision 2.2 89/01/15 16:30:50 rpd
98 * Moved from kern/ to mach/.
99 * [89/01/15 14:35:53 rpd]
100 *
101 * Revision 2.10 89/01/12 11:15:18 rpd
102 * Removed pointer_t declaration; it belongs in std_types.h.
103 *
104 * Revision 2.9 89/01/12 07:57:53 rpd
105 * Moved basic stuff to std_types.h. Removed debugging definitions.
106 * Moved io_buf definitions to device_types.h.
107 * [89/01/12 04:51:54 rpd]
108 *
109 * Revision 2.8 89/01/04 13:37:34 rpd
110 * Include <kern/fpa_counters.h>, for fpa_counters_t.
111 * [89/01/01 15:03:52 rpd]
112 *
113 * Revision 2.7 88/09/25 22:15:28 rpd
114 * Changed sys/callout.h to kern/callout_statistics.h.
115 * [88/09/09 14:00:19 rpd]
116 *
117 * Changed includes to the new style.
118 * Added include of sys/callout.h.
119 * [88/09/09 04:47:42 rpd]
120 *
121 * Revision 2.6 88/08/06 18:22:34 rpd
122 * Changed sys/mach_ipc_netport.h to kern/ipc_netport.h.
123 *
124 * Revision 2.5 88/07/21 00:36:06 rpd
125 * Added include of ipc_statistics.h.
126 *
127 * Revision 2.4 88/07/17 19:33:20 mwyoung
128 * *** empty log message ***
129 *
130 * 29-Jun-88 Michael Young (mwyoung) at Carnegie-Mellon University
131 * Use new <mach/memory_object.h>.
132 *
133 * 9-Apr-88 Daniel Julin (dpj) at Carnegie-Mellon University
134 * Changed mach_ipc_vmtp.h to mach_ipc_netport.h.
135 *
136 * 1-Mar-88 Mary Thompson (mrt) at Carnegie Mellon
137 * Added a conditional on _MACH_INIT_ before the include
138 * of mach_init.h so that the kernel make of mach_user_internal
139 * would not include mach_init.h
140 *
141 * 18-Jan-88 David Golub (dbg) at Carnegie-Mellon University
142 * Added includes of task_info, thread_info, task_special_ports,
143 * thread_special_ports for new interfaces.
144 *
145 * 12-Dec-87 Michael Young (mwyoung) at Carnegie-Mellon University
146 * Reduced old history.
147 */
148 /*
149 * File: mach/mach_types.h
150 * Author: Avadis Tevanian, Jr., Michael Wayne Young
151 * Date: 1986
152 *
153 * Mach external interface definitions.
154 *
155 */
156
157 #ifndef _MACH_MACH_TYPES_H_
158 #define _MACH_MACH_TYPES_H_
159
160 #include <mach/host_info.h>
161 #include <mach/machine.h>
162 #include <mach/machine/vm_types.h>
163 #include <mach/memory_object.h>
164 #include <mach/pc_sample.h>
165 #include <mach/policy.h>
166 #include <mach/port.h>
167 #include <mach/processor_info.h>
168 #include <mach/realtime_policy.h>
169 #include <mach/task_info.h>
170 #include <mach/task_special_ports.h>
171 #include <mach/thread_info.h>
172 #include <mach/thread_special_ports.h>
173 #include <mach/thread_status.h>
174 #include <mach/time_value.h>
175 #include <mach/timer.h>
176 #include <mach/time_spec.h>
177 #include <mach/vm_attributes.h>
178 #include <mach/vm_inherit.h>
179 #include <mach/vm_prot.h>
180 #include <mach/vm_statistics.h>
181
182 #ifdef KERNEL
183 #include <kern/task.h> /* for task_array_t */
184 #include <kern/thread.h> /* for thread_array_t */
185 #include <kern/processor.h> /* for processor_array_t,
186 processor_set_array_t,
187 processor_set_name_array_t */
188 #include <kern/syscall_emulation.h>
189 /* for emulation_vector_t */
190 #include <kern/clock.h> /* for mach_clock_t */
191 #include <kern/mach_timer.h> /* for mach_timer_t */
192
193 #include <norma_vm.h>
194 #if NORMA_VM
195 typedef struct xmm_obj *mach_xmm_obj_t;
196 extern mach_xmm_obj_t xmm_kobj_lookup();
197 #endif /* NORMA_VM */
198 #else /* KERNEL */
199 typedef mach_port_t task_t;
200 typedef task_t *task_array_t;
201 typedef task_t vm_task_t;
202 typedef task_t ipc_space_t;
203 typedef mach_port_t thread_t;
204 typedef thread_t *thread_array_t;
205 typedef mach_port_t host_t;
206 typedef mach_port_t host_priv_t;
207 typedef mach_port_t processor_t;
208 typedef mach_port_t *processor_array_t;
209 typedef mach_port_t processor_set_t;
210 typedef mach_port_t processor_set_name_t;
211 typedef mach_port_t *processor_set_array_t;
212 typedef mach_port_t *processor_set_name_array_t;
213 typedef vm_offset_t *emulation_vector_t;
214 typedef mach_port_t mach_clock_t;
215 #endif /* KERNEL */
216
217 /*
218 * Backwards compatibility, for those programs written
219 * before mach/{std,mach}_types.{defs,h} were set up.
220 */
221 #include <mach/std_types.h>
222
223 #endif /* _MACH_MACH_TYPES_H_ */
Cache object: 1f2b1fc5b0cb6b13a3fe75511e69e361
|