Root/
Source at commit 1444 created 12 years 11 months ago. By jrcs, Print the multiboot_magic | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. The rights granted to you under the License␊ |
10 | * may not be used to create, or enable the creation or redistribution of,␊ |
11 | * unlawful or unlicensed copies of an Apple operating system, or to␊ |
12 | * circumvent, violate, or enable the circumvention or violation of, any␊ |
13 | * terms of an Apple operating system software license agreement.␊ |
14 | * ␊ |
15 | * Please obtain a copy of the License at␊ |
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.␊ |
17 | * ␊ |
18 | * The Original Code and all software distributed under the License are␊ |
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
23 | * Please see the License for the specific language governing rights and␊ |
24 | * limitations under the License.␊ |
25 | * ␊ |
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@␊ |
27 | */␊ |
28 | /*␊ |
29 | * @OSF_COPYRIGHT@␊ |
30 | */␊ |
31 | /* ␊ |
32 | * Mach Operating System␊ |
33 | * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University␊ |
34 | * All Rights Reserved.␊ |
35 | * ␊ |
36 | * Permission to use, copy, modify and distribute this software and its␊ |
37 | * documentation is hereby granted, provided that both the copyright␊ |
38 | * notice and this permission notice appear in all copies of the␊ |
39 | * software, derivative works or modified versions, and any portions␊ |
40 | * thereof, and that both notices appear in supporting documentation.␊ |
41 | * ␊ |
42 | * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"␊ |
43 | * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR␊ |
44 | * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.␊ |
45 | * ␊ |
46 | * Carnegie Mellon requests users of this software to return to␊ |
47 | * ␊ |
48 | * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU␊ |
49 | * School of Computer Science␊ |
50 | * Carnegie Mellon University␊ |
51 | * Pittsburgh PA 15213-3890␊ |
52 | * ␊ |
53 | * any improvements or extensions that they make and grant Carnegie Mellon␊ |
54 | * the rights to redistribute these changes.␊ |
55 | */␊ |
56 | /*␊ |
57 | */␊ |
58 | /*␊ |
59 | * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce␊ |
60 | * support for mandatory and extensible security protections. This notice␊ |
61 | * is included in support of clause 2.2 (b) of the Apple Public License,␊ |
62 | * Version 2.0.␊ |
63 | */␊ |
64 | /*␊ |
65 | *␉File:␉mach/mach_types.h␊ |
66 | *␉Author:␉Avadis Tevanian, Jr., Michael Wayne Young␊ |
67 | *␉Date:␉1986␊ |
68 | *␊ |
69 | *␉Mach external interface definitions.␊ |
70 | *␊ |
71 | */␊ |
72 | ␊ |
73 | #ifndef␉_MACH_MACH_TYPES_H_␊ |
74 | #define _MACH_MACH_TYPES_H_␊ |
75 | ␊ |
76 | #include <stdint.h>␊ |
77 | ␊ |
78 | #include <sys/cdefs.h>␊ |
79 | ␊ |
80 | #include <mach/host_info.h>␊ |
81 | #include <mach/host_notify.h>␊ |
82 | #include <mach/host_special_ports.h>␊ |
83 | #include <mach/machine.h>␊ |
84 | #include <mach/machine/vm_types.h>␊ |
85 | #include <mach/memory_object_types.h>␊ |
86 | #include <mach/message.h>␊ |
87 | #include <mach/exception_types.h>␊ |
88 | #include <mach/port.h>␊ |
89 | #include <mach/processor_info.h>␊ |
90 | #include <mach/task_info.h>␊ |
91 | #include <mach/task_policy.h>␊ |
92 | #include <mach/task_special_ports.h>␊ |
93 | #include <mach/thread_info.h>␊ |
94 | #include <mach/thread_policy.h>␊ |
95 | #include <mach/thread_special_ports.h>␊ |
96 | #include <mach/thread_status.h>␊ |
97 | #include <mach/time_value.h>␊ |
98 | #include <mach/clock_types.h>␊ |
99 | #include <mach/vm_attributes.h>␊ |
100 | #include <mach/vm_inherit.h>␊ |
101 | #include <mach/vm_purgable.h>␊ |
102 | #include <mach/vm_behavior.h>␊ |
103 | #include <mach/vm_prot.h>␊ |
104 | #include <mach/vm_statistics.h>␊ |
105 | #include <mach/vm_sync.h>␊ |
106 | #include <mach/vm_types.h>␊ |
107 | #include <mach/vm_region.h>␊ |
108 | #include <mach/kmod.h>␊ |
109 | ␊ |
110 | ␊ |
111 | /*␊ |
112 | * If we are not in the kernel, then these will all be represented by␊ |
113 | * ports at user-space.␊ |
114 | */␊ |
115 | typedef mach_port_t␉␉task_t;␊ |
116 | typedef mach_port_t␉␉task_name_t;␊ |
117 | typedef mach_port_t␉␉thread_t;␊ |
118 | typedef␉mach_port_t␉␉thread_act_t;␊ |
119 | typedef mach_port_t␉␉ipc_space_t;␊ |
120 | typedef mach_port_t␉␉host_t;␊ |
121 | typedef mach_port_t␉␉host_priv_t;␊ |
122 | typedef mach_port_t␉␉host_security_t;␊ |
123 | typedef mach_port_t␉␉processor_t;␊ |
124 | typedef mach_port_t␉␉processor_set_t;␊ |
125 | typedef mach_port_t␉␉processor_set_control_t;␊ |
126 | typedef mach_port_t␉␉semaphore_t;␊ |
127 | typedef mach_port_t␉␉lock_set_t;␊ |
128 | typedef mach_port_t␉␉ledger_t;␊ |
129 | typedef mach_port_t␉␉alarm_t;␊ |
130 | typedef mach_port_t␉␉clock_serv_t;␊ |
131 | typedef mach_port_t␉␉clock_ctrl_t;␊ |
132 | ␊ |
133 | ␊ |
134 | /*␊ |
135 | * These aren't really unique types. They are just called␊ |
136 | * out as unique types at one point in history. So we list␊ |
137 | * them here for compatibility.␊ |
138 | */␊ |
139 | typedef processor_set_t␉␉processor_set_name_t;␊ |
140 | ␊ |
141 | /*␊ |
142 | * These types are just hard-coded as ports␊ |
143 | */␊ |
144 | typedef mach_port_t␉␉clock_reply_t;␊ |
145 | typedef mach_port_t␉␉bootstrap_t;␊ |
146 | typedef␉mach_port_t␉␉mem_entry_name_port_t;␊ |
147 | typedef mach_port_t␉␉exception_handler_t;␊ |
148 | typedef exception_handler_t␉*exception_handler_array_t;␊ |
149 | typedef mach_port_t␉␉vm_task_entry_t;␊ |
150 | typedef mach_port_t␉␉io_master_t;␊ |
151 | typedef mach_port_t␉␉UNDServerRef;␊ |
152 | ␊ |
153 | /*␊ |
154 | * Mig doesn't translate the components of an array.␊ |
155 | * For example, Mig won't use the thread_t translations␊ |
156 | * to translate a thread_array_t argument. So, these definitions␊ |
157 | * are not completely accurate at the moment for other kernel␊ |
158 | * components.␊ |
159 | */␊ |
160 | typedef task_t␉␉␉*task_array_t;␊ |
161 | typedef thread_t␉␉*thread_array_t;␊ |
162 | typedef processor_set_t␉␉*processor_set_array_t;␊ |
163 | typedef processor_set_t␉␉*processor_set_name_array_t;␊ |
164 | typedef processor_t␉␉*processor_array_t;␊ |
165 | typedef␉thread_act_t␉␉*thread_act_array_t;␊ |
166 | typedef ledger_t␉␉*ledger_array_t;␊ |
167 | ␊ |
168 | /*␊ |
169 | * However the real mach_types got declared, we also have to declare␊ |
170 | * types with "port" in the name for compatability with the way OSF␊ |
171 | * had declared the user interfaces at one point. Someday these should␊ |
172 | * go away.␊ |
173 | */␊ |
174 | typedef task_t␉␉␉task_port_t;␊ |
175 | typedef␉task_array_t␉␉task_port_array_t;␊ |
176 | typedef thread_t␉␉thread_port_t;␊ |
177 | typedef␉thread_array_t␉␉thread_port_array_t;␊ |
178 | typedef ipc_space_t␉␉ipc_space_port_t;␊ |
179 | typedef host_t␉␉␉host_name_t;␊ |
180 | typedef host_t␉␉␉host_name_port_t;␊ |
181 | typedef processor_set_t␉␉processor_set_port_t;␊ |
182 | typedef processor_set_t␉␉processor_set_name_port_t;␊ |
183 | typedef processor_set_array_t␉processor_set_name_port_array_t;␊ |
184 | typedef processor_set_t␉␉processor_set_control_port_t;␊ |
185 | typedef processor_t␉␉processor_port_t;␊ |
186 | typedef processor_array_t␉processor_port_array_t;␊ |
187 | typedef thread_act_t␉␉thread_act_port_t;␊ |
188 | typedef␉thread_act_array_t␉thread_act_port_array_t;␊ |
189 | typedef semaphore_t␉␉semaphore_port_t;␊ |
190 | typedef lock_set_t␉␉lock_set_port_t;␊ |
191 | typedef ledger_t␉␉ledger_port_t;␊ |
192 | typedef ledger_array_t␉␉ledger_port_array_t;␊ |
193 | typedef alarm_t␉␉␉alarm_port_t;␊ |
194 | typedef clock_serv_t␉␉clock_serv_port_t;␊ |
195 | typedef clock_ctrl_t␉␉clock_ctrl_port_t;␊ |
196 | typedef exception_handler_t␉exception_port_t;␊ |
197 | typedef exception_handler_array_t exception_port_arrary_t;␊ |
198 | ␊ |
199 | ␊ |
200 | #define TASK_NULL␉␉((task_t) 0)␊ |
201 | #define TASK_NAME_NULL␉␉((task_name_t) 0)␊ |
202 | #define THREAD_NULL␉␉((thread_t) 0)␊ |
203 | #define THR_ACT_NULL ␉␉((thread_act_t) 0)␊ |
204 | #define IPC_SPACE_NULL␉␉((ipc_space_t) 0)␊ |
205 | #define HOST_NULL␉␉((host_t) 0)␊ |
206 | #define HOST_PRIV_NULL␉␉((host_priv_t)0)␊ |
207 | #define HOST_SECURITY_NULL␉((host_security_t)0)␊ |
208 | #define PROCESSOR_SET_NULL␉((processor_set_t) 0)␊ |
209 | #define PROCESSOR_NULL␉␉((processor_t) 0)␊ |
210 | #define SEMAPHORE_NULL␉␉((semaphore_t) 0)␊ |
211 | #define LOCK_SET_NULL␉␉((lock_set_t) 0)␊ |
212 | #define LEDGER_NULL ␉␉((ledger_t) 0)␊ |
213 | #define ALARM_NULL␉␉((alarm_t) 0)␊ |
214 | #define CLOCK_NULL␉␉((clock_t) 0)␊ |
215 | #define UND_SERVER_NULL␉␉((UNDServerRef) 0)␊ |
216 | ␊ |
217 | typedef natural_t ␉␉ledger_item_t;␊ |
218 | #define LEDGER_ITEM_INFINITY ((ledger_item_t) (~0))␊ |
219 | ␊ |
220 | typedef mach_vm_offset_t␉*emulation_vector_t;␊ |
221 | typedef char␉␉␉*user_subsystem_t;␊ |
222 | ␊ |
223 | typedef char␉␉␉*labelstr_t;␊ |
224 | /*␊ |
225 | *␉Backwards compatibility, for those programs written␊ |
226 | *␉before mach/{std,mach}_types.{defs,h} were set up.␊ |
227 | */␊ |
228 | #include <mach/std_types.h>␊ |
229 | ␊ |
230 | #endif␉/* _MACH_MACH_TYPES_H_ */␊ |
231 |