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