Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/Chameleon/i386/include/mach/exc.h

Source at commit 296 created 12 years 10 months ago.
By ifabio, add i386 folder
1#ifndef_exc_user_
2#define_exc_user_
3
4/* Module exc */
5
6#include <string.h>
7#include <mach/ndr.h>
8#include <mach/boolean.h>
9#include <mach/kern_return.h>
10#include <mach/notify.h>
11#include <mach/mach_types.h>
12#include <mach/message.h>
13#include <mach/mig_errors.h>
14#include <mach/port.h>
15
16#ifdef AUTOTEST
17#ifndef FUNCTION_PTR_T
18#define FUNCTION_PTR_T
19typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
20typedef struct {
21 char *name;
22 function_ptr_t function;
23} function_table_entry;
24typedef function_table_entry *function_table_t;
25#endif /* FUNCTION_PTR_T */
26#endif /* AUTOTEST */
27
28#ifndefexc_MSG_COUNT
29#defineexc_MSG_COUNT3
30#endif/* exc_MSG_COUNT */
31
32#include <mach/std_types.h>
33#include <mach/mig.h>
34#include <mach/mach_types.h>
35
36#ifdef __BeforeMigUserHeader
37__BeforeMigUserHeader
38#endif /* __BeforeMigUserHeader */
39
40#include <sys/cdefs.h>
41__BEGIN_DECLS
42
43
44/* Routine exception_raise */
45#ifdefmig_external
46mig_external
47#else
48extern
49#endif/* mig_external */
50kern_return_t exception_raise
51(
52mach_port_t exception_port,
53mach_port_t thread,
54mach_port_t task,
55exception_type_t exception,
56exception_data_t code,
57mach_msg_type_number_t codeCnt
58);
59
60/* Routine exception_raise_state */
61#ifdefmig_external
62mig_external
63#else
64extern
65#endif/* mig_external */
66kern_return_t exception_raise_state
67(
68mach_port_t exception_port,
69exception_type_t exception,
70const exception_data_t code,
71mach_msg_type_number_t codeCnt,
72int *flavor,
73const thread_state_t old_state,
74mach_msg_type_number_t old_stateCnt,
75thread_state_t new_state,
76mach_msg_type_number_t *new_stateCnt
77);
78
79/* Routine exception_raise_state_identity */
80#ifdefmig_external
81mig_external
82#else
83extern
84#endif/* mig_external */
85kern_return_t exception_raise_state_identity
86(
87mach_port_t exception_port,
88mach_port_t thread,
89mach_port_t task,
90exception_type_t exception,
91exception_data_t code,
92mach_msg_type_number_t codeCnt,
93int *flavor,
94thread_state_t old_state,
95mach_msg_type_number_t old_stateCnt,
96thread_state_t new_state,
97mach_msg_type_number_t *new_stateCnt
98);
99
100__END_DECLS
101
102/********************** Caution **************************/
103/* The following data types should be used to calculate */
104/* maximum message sizes only. The actual message may be */
105/* smaller, and the position of the arguments within the */
106/* message layout may vary from what is presented here. */
107/* For example, if any of the arguments are variable- */
108/* sized, and less than the maximum is sent, the data */
109/* will be packed tight in the actual message to reduce */
110/* the presence of holes. */
111/********************** Caution **************************/
112
113/* typedefs for all requests */
114
115#ifndef __Request__exc_subsystem__defined
116#define __Request__exc_subsystem__defined
117
118#ifdef __MigPackStructs
119#pragma pack(4)
120#endif
121typedef struct {
122mach_msg_header_t Head;
123/* start of the kernel processed data */
124mach_msg_body_t msgh_body;
125mach_msg_port_descriptor_t thread;
126mach_msg_port_descriptor_t task;
127/* end of the kernel processed data */
128NDR_record_t NDR;
129exception_type_t exception;
130mach_msg_type_number_t codeCnt;
131integer_t code[2];
132} __Request__exception_raise_t;
133#ifdef __MigPackStructs
134#pragma pack()
135#endif
136
137#ifdef __MigPackStructs
138#pragma pack(4)
139#endif
140typedef struct {
141mach_msg_header_t Head;
142NDR_record_t NDR;
143exception_type_t exception;
144mach_msg_type_number_t codeCnt;
145integer_t code[2];
146int flavor;
147mach_msg_type_number_t old_stateCnt;
148natural_t old_state[144];
149} __Request__exception_raise_state_t;
150#ifdef __MigPackStructs
151#pragma pack()
152#endif
153
154#ifdef __MigPackStructs
155#pragma pack(4)
156#endif
157typedef struct {
158mach_msg_header_t Head;
159/* start of the kernel processed data */
160mach_msg_body_t msgh_body;
161mach_msg_port_descriptor_t thread;
162mach_msg_port_descriptor_t task;
163/* end of the kernel processed data */
164NDR_record_t NDR;
165exception_type_t exception;
166mach_msg_type_number_t codeCnt;
167integer_t code[2];
168int flavor;
169mach_msg_type_number_t old_stateCnt;
170natural_t old_state[144];
171} __Request__exception_raise_state_identity_t;
172#ifdef __MigPackStructs
173#pragma pack()
174#endif
175#endif /* !__Request__exc_subsystem__defined */
176
177/* union of all requests */
178
179#ifndef __RequestUnion__exc_subsystem__defined
180#define __RequestUnion__exc_subsystem__defined
181union __RequestUnion__exc_subsystem {
182__Request__exception_raise_t Request_exception_raise;
183__Request__exception_raise_state_t Request_exception_raise_state;
184__Request__exception_raise_state_identity_t Request_exception_raise_state_identity;
185};
186#endif /* !__RequestUnion__exc_subsystem__defined */
187/* typedefs for all replies */
188
189#ifndef __Reply__exc_subsystem__defined
190#define __Reply__exc_subsystem__defined
191
192#ifdef __MigPackStructs
193#pragma pack(4)
194#endif
195typedef struct {
196mach_msg_header_t Head;
197NDR_record_t NDR;
198kern_return_t RetCode;
199} __Reply__exception_raise_t;
200#ifdef __MigPackStructs
201#pragma pack()
202#endif
203
204#ifdef __MigPackStructs
205#pragma pack(4)
206#endif
207typedef struct {
208mach_msg_header_t Head;
209NDR_record_t NDR;
210kern_return_t RetCode;
211int flavor;
212mach_msg_type_number_t new_stateCnt;
213natural_t new_state[144];
214} __Reply__exception_raise_state_t;
215#ifdef __MigPackStructs
216#pragma pack()
217#endif
218
219#ifdef __MigPackStructs
220#pragma pack(4)
221#endif
222typedef struct {
223mach_msg_header_t Head;
224NDR_record_t NDR;
225kern_return_t RetCode;
226int flavor;
227mach_msg_type_number_t new_stateCnt;
228natural_t new_state[144];
229} __Reply__exception_raise_state_identity_t;
230#ifdef __MigPackStructs
231#pragma pack()
232#endif
233#endif /* !__Reply__exc_subsystem__defined */
234
235/* union of all replies */
236
237#ifndef __ReplyUnion__exc_subsystem__defined
238#define __ReplyUnion__exc_subsystem__defined
239union __ReplyUnion__exc_subsystem {
240__Reply__exception_raise_t Reply_exception_raise;
241__Reply__exception_raise_state_t Reply_exception_raise_state;
242__Reply__exception_raise_state_identity_t Reply_exception_raise_state_identity;
243};
244#endif /* !__RequestUnion__exc_subsystem__defined */
245
246#ifndef subsystem_to_name_map_exc
247#define subsystem_to_name_map_exc \
248 { "exception_raise", 2401 },\
249 { "exception_raise_state", 2402 },\
250 { "exception_raise_state_identity", 2403 }
251#endif
252
253#ifdef __AfterMigUserHeader
254__AfterMigUserHeader
255#endif /* __AfterMigUserHeader */
256
257#endif /* _exc_user_ */
258

Archive Download this file

Revision: 296