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>
17 #ifndef FUNCTION_PTR_T
18 #define FUNCTION_PTR_T
19 typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
22 function_ptr_t function;
23 } function_table_entry;
24 typedef function_table_entry *function_table_t;
25 #endif /* FUNCTION_PTR_T */
29 #define exc_MSG_COUNT 3
30 #endif /* exc_MSG_COUNT */
32 #include <mach/std_types.h>
35 #include <mach/mach_types.h>
37 #ifdef __BeforeMigUserHeader
39 #endif /* __BeforeMigUserHeader */
41 #include <sys/cdefs.h>
45 /* Routine exception_raise */
50 #endif /* mig_external */
51 kern_return_t exception_raise
53 mach_port_t exception_port,
56 exception_type_t exception,
57 exception_data_t code,
58 mach_msg_type_number_t codeCnt
61 /* Routine exception_raise_state */
66 #endif /* mig_external */
67 kern_return_t exception_raise_state
69 mach_port_t exception_port,
70 exception_type_t exception,
71 const exception_data_t code,
72 mach_msg_type_number_t codeCnt,
74 const thread_state_t old_state,
75 mach_msg_type_number_t old_stateCnt,
76 thread_state_t new_state,
77 mach_msg_type_number_t *new_stateCnt
80 /* Routine exception_raise_state_identity */
85 #endif /* mig_external */
86 kern_return_t exception_raise_state_identity
88 mach_port_t exception_port,
91 exception_type_t exception,
92 exception_data_t code,
93 mach_msg_type_number_t codeCnt,
95 thread_state_t old_state,
96 mach_msg_type_number_t old_stateCnt,
97 thread_state_t new_state,
98 mach_msg_type_number_t *new_stateCnt
103 /********************** Caution **************************/
104 /* The following data types should be used to calculate */
105 /* maximum message sizes only. The actual message may be */
106 /* smaller, and the position of the arguments within the */
107 /* message layout may vary from what is presented here. */
108 /* For example, if any of the arguments are variable- */
109 /* sized, and less than the maximum is sent, the data */
110 /* will be packed tight in the actual message to reduce */
111 /* the presence of holes. */
112 /********************** Caution **************************/
114 /* typedefs for all requests */
116 #ifndef __Request__exc_subsystem__defined
117 #define __Request__exc_subsystem__defined
119 #ifdef __MigPackStructs
123 mach_msg_header_t Head;
124 /* start of the kernel processed data */
125 mach_msg_body_t msgh_body;
126 mach_msg_port_descriptor_t thread;
127 mach_msg_port_descriptor_t task;
128 /* end of the kernel processed data */
130 exception_type_t exception;
131 mach_msg_type_number_t codeCnt;
133 } __Request__exception_raise_t;
134 #ifdef __MigPackStructs
138 #ifdef __MigPackStructs
142 mach_msg_header_t Head;
144 exception_type_t exception;
145 mach_msg_type_number_t codeCnt;
148 mach_msg_type_number_t old_stateCnt;
149 natural_t old_state[144];
150 } __Request__exception_raise_state_t;
151 #ifdef __MigPackStructs
155 #ifdef __MigPackStructs
159 mach_msg_header_t Head;
160 /* start of the kernel processed data */
161 mach_msg_body_t msgh_body;
162 mach_msg_port_descriptor_t thread;
163 mach_msg_port_descriptor_t task;
164 /* end of the kernel processed data */
166 exception_type_t exception;
167 mach_msg_type_number_t codeCnt;
170 mach_msg_type_number_t old_stateCnt;
171 natural_t old_state[144];
172 } __Request__exception_raise_state_identity_t;
173 #ifdef __MigPackStructs
176 #endif /* !__Request__exc_subsystem__defined */
178 /* union of all requests */
180 #ifndef __RequestUnion__exc_subsystem__defined
181 #define __RequestUnion__exc_subsystem__defined
182 union __RequestUnion__exc_subsystem {
183 __Request__exception_raise_t Request_exception_raise;
184 __Request__exception_raise_state_t Request_exception_raise_state;
185 __Request__exception_raise_state_identity_t Request_exception_raise_state_identity;
187 #endif /* !__RequestUnion__exc_subsystem__defined */
188 /* typedefs for all replies */
190 #ifndef __Reply__exc_subsystem__defined
191 #define __Reply__exc_subsystem__defined
193 #ifdef __MigPackStructs
197 mach_msg_header_t Head;
199 kern_return_t RetCode;
200 } __Reply__exception_raise_t;
201 #ifdef __MigPackStructs
205 #ifdef __MigPackStructs
209 mach_msg_header_t Head;
211 kern_return_t RetCode;
213 mach_msg_type_number_t new_stateCnt;
214 natural_t new_state[144];
215 } __Reply__exception_raise_state_t;
216 #ifdef __MigPackStructs
220 #ifdef __MigPackStructs
224 mach_msg_header_t Head;
226 kern_return_t RetCode;
228 mach_msg_type_number_t new_stateCnt;
229 natural_t new_state[144];
230 } __Reply__exception_raise_state_identity_t;
231 #ifdef __MigPackStructs
234 #endif /* !__Reply__exc_subsystem__defined */
236 /* union of all replies */
238 #ifndef __ReplyUnion__exc_subsystem__defined
239 #define __ReplyUnion__exc_subsystem__defined
240 union __ReplyUnion__exc_subsystem {
241 __Reply__exception_raise_t Reply_exception_raise;
242 __Reply__exception_raise_state_t Reply_exception_raise_state;
243 __Reply__exception_raise_state_identity_t Reply_exception_raise_state_identity;
245 #endif /* !__RequestUnion__exc_subsystem__defined */
247 #ifndef subsystem_to_name_map_exc
248 #define subsystem_to_name_map_exc \
249 { "exception_raise", 2401 },\
250 { "exception_raise_state", 2402 },\
251 { "exception_raise_state_identity", 2403 }
254 #ifdef __AfterMigUserHeader
256 #endif /* __AfterMigUserHeader */
258 #endif /* _exc_user_ */