Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/mach/mach_types.h

Source at commit 1146 created 12 years 11 months ago.
By azimutz, Sync with trunk (r1145). Add nVidia dev id's, 0DF4 for "GeForce GT 450M" (issue 99) and 1251 for "GeForce GTX 560M" (thanks to oSxFr33k for testing).
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 */
115typedef mach_port_ttask_t;
116typedef mach_port_ttask_name_t;
117typedef mach_port_tthread_t;
118typedefmach_port_tthread_act_t;
119typedef mach_port_tipc_space_t;
120typedef mach_port_thost_t;
121typedef mach_port_thost_priv_t;
122typedef mach_port_thost_security_t;
123typedef mach_port_tprocessor_t;
124typedef mach_port_tprocessor_set_t;
125typedef mach_port_tprocessor_set_control_t;
126typedef mach_port_tsemaphore_t;
127typedef mach_port_tlock_set_t;
128typedef mach_port_tledger_t;
129typedef mach_port_talarm_t;
130typedef mach_port_tclock_serv_t;
131typedef mach_port_tclock_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 */
139typedef processor_set_tprocessor_set_name_t;
140
141/*
142 * These types are just hard-coded as ports
143 */
144typedef mach_port_tclock_reply_t;
145typedef mach_port_tbootstrap_t;
146typedefmach_port_tmem_entry_name_port_t;
147typedef mach_port_texception_handler_t;
148typedef exception_handler_t*exception_handler_array_t;
149typedef mach_port_tvm_task_entry_t;
150typedef mach_port_tio_master_t;
151typedef mach_port_tUNDServerRef;
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 */
160typedef task_t*task_array_t;
161typedef thread_t*thread_array_t;
162typedef processor_set_t*processor_set_array_t;
163typedef processor_set_t*processor_set_name_array_t;
164typedef processor_t*processor_array_t;
165typedefthread_act_t*thread_act_array_t;
166typedef 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 */
174typedef task_ttask_port_t;
175typedeftask_array_ttask_port_array_t;
176typedef thread_tthread_port_t;
177typedefthread_array_tthread_port_array_t;
178typedef ipc_space_tipc_space_port_t;
179typedef host_thost_name_t;
180typedef host_thost_name_port_t;
181typedef processor_set_tprocessor_set_port_t;
182typedef processor_set_tprocessor_set_name_port_t;
183typedef processor_set_array_tprocessor_set_name_port_array_t;
184typedef processor_set_tprocessor_set_control_port_t;
185typedef processor_tprocessor_port_t;
186typedef processor_array_tprocessor_port_array_t;
187typedef thread_act_tthread_act_port_t;
188typedefthread_act_array_tthread_act_port_array_t;
189typedef semaphore_tsemaphore_port_t;
190typedef lock_set_tlock_set_port_t;
191typedef ledger_tledger_port_t;
192typedef ledger_array_tledger_port_array_t;
193typedef alarm_talarm_port_t;
194typedef clock_serv_tclock_serv_port_t;
195typedef clock_ctrl_tclock_ctrl_port_t;
196typedef exception_handler_texception_port_t;
197typedef 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
217typedef natural_t ledger_item_t;
218#define LEDGER_ITEM_INFINITY ((ledger_item_t) (~0))
219
220typedef mach_vm_offset_t*emulation_vector_t;
221typedef char*user_subsystem_t;
222
223typedef 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

Archive Download this file

Revision: 1146