xref: /NextBSD/include/mach/host_priv.h (revision 33da5adc555b3bc29986eeadca03829e4ad06b1e)
1 #ifndef	_host_priv_user_
2 #define	_host_priv_user_
3 
4 /* Module host_priv */
5 
6 #include <sys/cdefs.h>
7 #include <sys/types.h>
8 #ifdef _KERNEL
9 #include <sys/mach/ndr.h>
10 #include <sys/mach/kern_return.h>
11 #include <sys/mach/notify.h>
12 #include <sys/mach/mach_types.h>
13 #include <sys/mach/message.h>
14 #include <sys/mach/mig_errors.h>
15 #else /* !_KERNEL */
16 #include <string.h>
17 #include <mach/ndr.h>
18 #include <mach/boolean.h>
19 #include <mach/kern_return.h>
20 #include <mach/notify.h>
21 #include <mach/mach_types.h>
22 #include <mach/message.h>
23 #include <mach/mig_errors.h>
24 #endif /*_KERNEL */
25 
26 #ifdef AUTOTEST
27 #ifndef FUNCTION_PTR_T
28 #define FUNCTION_PTR_T
29 typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
30 typedef struct {
31         char            *name;
32         function_ptr_t  function;
33 } function_table_entry;
34 typedef function_table_entry   *function_table_t;
35 #endif /* FUNCTION_PTR_T */
36 #endif /* AUTOTEST */
37 
38 #ifndef	host_priv_MSG_COUNT
39 #define	host_priv_MSG_COUNT	26
40 #endif	/* host_priv_MSG_COUNT */
41 
42 #include <sys/mach/std_types.h>
43 #include <sys/mach/mig.h>
44 #include <sys/mach/thread_status.h>
45 #include <sys/mach/mig.h>
46 #include <sys/mach/mach_types.h>
47 #include <sys/mach/mach_types.h>
48 #include <sys/mach_debug/mach_debug_types.h>
49 #include <sys/mach/vm_types.h>
50 
51 #ifdef __BeforeMigUserHeader
52 __BeforeMigUserHeader
53 #endif /* __BeforeMigUserHeader */
54 
55 #include <sys/cdefs.h>
56 __BEGIN_DECLS
57 
58 
59 /* Routine host_get_boot_info */
60 #ifdef	mig_external
61 mig_external
62 #else
63 extern
64 #endif	/* mig_external */
host_get_boot_info(host_priv,boot_info)65 kern_return_t host_get_boot_info
66 #if	defined(LINTLIBRARY)
67     (host_priv, boot_info)
68 	host_priv_t host_priv;
69 	kernel_boot_info_t boot_info;
70 { return host_get_boot_info(host_priv, boot_info); }
71 #else
72 (
73 	host_priv_t host_priv,
74 	kernel_boot_info_t boot_info
75 );
76 #endif	/* defined(LINTLIBRARY) */
77 
78 /* Routine host_reboot */
79 #ifdef	mig_external
80 mig_external
81 #else
82 extern
83 #endif	/* mig_external */
host_reboot(host_priv,options)84 kern_return_t host_reboot
85 #if	defined(LINTLIBRARY)
86     (host_priv, options)
87 	host_priv_t host_priv;
88 	int options;
89 { return host_reboot(host_priv, options); }
90 #else
91 (
92 	host_priv_t host_priv,
93 	int options
94 );
95 #endif	/* defined(LINTLIBRARY) */
96 
97 /* Routine host_priv_statistics */
98 #ifdef	mig_external
99 mig_external
100 #else
101 extern
102 #endif	/* mig_external */
host_priv_statistics(host_priv,flavor,host_info_out,host_info_outCnt)103 kern_return_t host_priv_statistics
104 #if	defined(LINTLIBRARY)
105     (host_priv, flavor, host_info_out, host_info_outCnt)
106 	host_priv_t host_priv;
107 	host_flavor_t flavor;
108 	host_info_t host_info_out;
109 	mach_msg_type_number_t *host_info_outCnt;
110 { return host_priv_statistics(host_priv, flavor, host_info_out, host_info_outCnt); }
111 #else
112 (
113 	host_priv_t host_priv,
114 	host_flavor_t flavor,
115 	host_info_t host_info_out,
116 	mach_msg_type_number_t *host_info_outCnt
117 );
118 #endif	/* defined(LINTLIBRARY) */
119 
120 /* Routine host_default_memory_manager */
121 #ifdef	mig_external
122 mig_external
123 #else
124 extern
125 #endif	/* mig_external */
host_default_memory_manager(host_priv,default_manager,cluster_size)126 kern_return_t host_default_memory_manager
127 #if	defined(LINTLIBRARY)
128     (host_priv, default_manager, cluster_size)
129 	host_priv_t host_priv;
130 	memory_object_default_t *default_manager;
131 	memory_object_cluster_size_t cluster_size;
132 { return host_default_memory_manager(host_priv, default_manager, cluster_size); }
133 #else
134 (
135 	host_priv_t host_priv,
136 	memory_object_default_t *default_manager,
137 	memory_object_cluster_size_t cluster_size
138 );
139 #endif	/* defined(LINTLIBRARY) */
140 
141 /* Routine vm_wire */
142 #ifdef	mig_external
143 mig_external
144 #else
145 extern
146 #endif	/* mig_external */
vm_wire(host_priv,task,address,size,desired_access)147 kern_return_t vm_wire
148 #if	defined(LINTLIBRARY)
149     (host_priv, task, address, size, desired_access)
150 	host_priv_t host_priv;
151 	mach_vm_map_t task;
152 	vm_address_t address;
153 	vm_size_t size;
154 	vm_prot_t desired_access;
155 { return vm_wire(host_priv, task, address, size, desired_access); }
156 #else
157 (
158 	host_priv_t host_priv,
159 	mach_vm_map_t task,
160 	vm_address_t address,
161 	vm_size_t size,
162 	vm_prot_t desired_access
163 );
164 #endif	/* defined(LINTLIBRARY) */
165 
166 /* Routine thread_wire */
167 #ifdef	mig_external
168 mig_external
169 #else
170 extern
171 #endif	/* mig_external */
thread_wire(host_priv,thread,wired)172 kern_return_t thread_wire
173 #if	defined(LINTLIBRARY)
174     (host_priv, thread, wired)
175 	host_priv_t host_priv;
176 	thread_act_t thread;
177 	boolean_t wired;
178 { return thread_wire(host_priv, thread, wired); }
179 #else
180 (
181 	host_priv_t host_priv,
182 	thread_act_t thread,
183 	boolean_t wired
184 );
185 #endif	/* defined(LINTLIBRARY) */
186 
187 /* Routine vm_allocate_cpm */
188 #ifdef	mig_external
189 mig_external
190 #else
191 extern
192 #endif	/* mig_external */
vm_allocate_cpm(host_priv,task,address,size,flags)193 kern_return_t vm_allocate_cpm
194 #if	defined(LINTLIBRARY)
195     (host_priv, task, address, size, flags)
196 	host_priv_t host_priv;
197 	mach_vm_map_t task;
198 	vm_address_t *address;
199 	vm_size_t size;
200 	int flags;
201 { return vm_allocate_cpm(host_priv, task, address, size, flags); }
202 #else
203 (
204 	host_priv_t host_priv,
205 	mach_vm_map_t task,
206 	vm_address_t *address,
207 	vm_size_t size,
208 	int flags
209 );
210 #endif	/* defined(LINTLIBRARY) */
211 
212 /* Routine host_processors */
213 #ifdef	mig_external
214 mig_external
215 #else
216 extern
217 #endif	/* mig_external */
host_processors(host_priv,out_processor_list,out_processor_listCnt)218 kern_return_t host_processors
219 #if	defined(LINTLIBRARY)
220     (host_priv, out_processor_list, out_processor_listCnt)
221 	host_priv_t host_priv;
222 	processor_array_t *out_processor_list;
223 	mach_msg_type_number_t *out_processor_listCnt;
224 { return host_processors(host_priv, out_processor_list, out_processor_listCnt); }
225 #else
226 (
227 	host_priv_t host_priv,
228 	processor_array_t *out_processor_list,
229 	mach_msg_type_number_t *out_processor_listCnt
230 );
231 #endif	/* defined(LINTLIBRARY) */
232 
233 /* Routine host_get_clock_control */
234 #ifdef	mig_external
235 mig_external
236 #else
237 extern
238 #endif	/* mig_external */
host_get_clock_control(host_priv,clock_id,clock_ctrl)239 kern_return_t host_get_clock_control
240 #if	defined(LINTLIBRARY)
241     (host_priv, clock_id, clock_ctrl)
242 	host_priv_t host_priv;
243 	clock_id_t clock_id;
244 	clock_ctrl_t *clock_ctrl;
245 { return host_get_clock_control(host_priv, clock_id, clock_ctrl); }
246 #else
247 (
248 	host_priv_t host_priv,
249 	clock_id_t clock_id,
250 	clock_ctrl_t *clock_ctrl
251 );
252 #endif	/* defined(LINTLIBRARY) */
253 
254 /* Routine host_get_special_port */
255 #ifdef	mig_external
256 mig_external
257 #else
258 extern
259 #endif	/* mig_external */
host_get_special_port(host_priv,node,which,port)260 kern_return_t host_get_special_port
261 #if	defined(LINTLIBRARY)
262     (host_priv, node, which, port)
263 	host_priv_t host_priv;
264 	int node;
265 	int which;
266 	mach_port_t *port;
267 { return host_get_special_port(host_priv, node, which, port); }
268 #else
269 (
270 	host_priv_t host_priv,
271 	int node,
272 	int which,
273 	mach_port_t *port
274 );
275 #endif	/* defined(LINTLIBRARY) */
276 
277 /* Routine host_set_special_port */
278 #ifdef	mig_external
279 mig_external
280 #else
281 extern
282 #endif	/* mig_external */
host_set_special_port(host_priv,which,port)283 kern_return_t host_set_special_port
284 #if	defined(LINTLIBRARY)
285     (host_priv, which, port)
286 	host_priv_t host_priv;
287 	int which;
288 	mach_port_t port;
289 { return host_set_special_port(host_priv, which, port); }
290 #else
291 (
292 	host_priv_t host_priv,
293 	int which,
294 	mach_port_t port
295 );
296 #endif	/* defined(LINTLIBRARY) */
297 
298 /* Routine host_set_exception_ports */
299 #ifdef	mig_external
300 mig_external
301 #else
302 extern
303 #endif	/* mig_external */
host_set_exception_ports(host_priv,exception_mask,new_port,behavior,new_flavor)304 kern_return_t host_set_exception_ports
305 #if	defined(LINTLIBRARY)
306     (host_priv, exception_mask, new_port, behavior, new_flavor)
307 	host_priv_t host_priv;
308 	exception_mask_t exception_mask;
309 	mach_port_t new_port;
310 	exception_behavior_t behavior;
311 	thread_state_flavor_t new_flavor;
312 { return host_set_exception_ports(host_priv, exception_mask, new_port, behavior, new_flavor); }
313 #else
314 (
315 	host_priv_t host_priv,
316 	exception_mask_t exception_mask,
317 	mach_port_t new_port,
318 	exception_behavior_t behavior,
319 	thread_state_flavor_t new_flavor
320 );
321 #endif	/* defined(LINTLIBRARY) */
322 
323 /* Routine host_get_exception_ports */
324 #ifdef	mig_external
325 mig_external
326 #else
327 extern
328 #endif	/* mig_external */
host_get_exception_ports(host_priv,exception_mask,masks,masksCnt,old_handlers,old_behaviors,old_flavors)329 kern_return_t host_get_exception_ports
330 #if	defined(LINTLIBRARY)
331     (host_priv, exception_mask, masks, masksCnt, old_handlers, old_behaviors, old_flavors)
332 	host_priv_t host_priv;
333 	exception_mask_t exception_mask;
334 	exception_mask_array_t masks;
335 	mach_msg_type_number_t *masksCnt;
336 	exception_handler_array_t old_handlers;
337 	exception_behavior_array_t old_behaviors;
338 	exception_flavor_array_t old_flavors;
339 { return host_get_exception_ports(host_priv, exception_mask, masks, masksCnt, old_handlers, old_behaviors, old_flavors); }
340 #else
341 (
342 	host_priv_t host_priv,
343 	exception_mask_t exception_mask,
344 	exception_mask_array_t masks,
345 	mach_msg_type_number_t *masksCnt,
346 	exception_handler_array_t old_handlers,
347 	exception_behavior_array_t old_behaviors,
348 	exception_flavor_array_t old_flavors
349 );
350 #endif	/* defined(LINTLIBRARY) */
351 
352 /* Routine host_swap_exception_ports */
353 #ifdef	mig_external
354 mig_external
355 #else
356 extern
357 #endif	/* mig_external */
host_swap_exception_ports(host_priv,exception_mask,new_port,behavior,new_flavor,masks,masksCnt,old_handlerss,old_behaviors,old_flavors)358 kern_return_t host_swap_exception_ports
359 #if	defined(LINTLIBRARY)
360     (host_priv, exception_mask, new_port, behavior, new_flavor, masks, masksCnt, old_handlerss, old_behaviors, old_flavors)
361 	host_priv_t host_priv;
362 	exception_mask_t exception_mask;
363 	mach_port_t new_port;
364 	exception_behavior_t behavior;
365 	thread_state_flavor_t new_flavor;
366 	exception_mask_array_t masks;
367 	mach_msg_type_number_t *masksCnt;
368 	exception_handler_array_t old_handlerss;
369 	exception_behavior_array_t old_behaviors;
370 	exception_flavor_array_t old_flavors;
371 { return host_swap_exception_ports(host_priv, exception_mask, new_port, behavior, new_flavor, masks, masksCnt, old_handlerss, old_behaviors, old_flavors); }
372 #else
373 (
374 	host_priv_t host_priv,
375 	exception_mask_t exception_mask,
376 	mach_port_t new_port,
377 	exception_behavior_t behavior,
378 	thread_state_flavor_t new_flavor,
379 	exception_mask_array_t masks,
380 	mach_msg_type_number_t *masksCnt,
381 	exception_handler_array_t old_handlerss,
382 	exception_behavior_array_t old_behaviors,
383 	exception_flavor_array_t old_flavors
384 );
385 #endif	/* defined(LINTLIBRARY) */
386 
387 /* Routine mach_vm_wire */
388 #ifdef	mig_external
389 mig_external
390 #else
391 extern
392 #endif	/* mig_external */
mach_vm_wire(host_priv,task,address,size,desired_access)393 kern_return_t mach_vm_wire
394 #if	defined(LINTLIBRARY)
395     (host_priv, task, address, size, desired_access)
396 	host_priv_t host_priv;
397 	mach_vm_map_t task;
398 	mach_vm_address_t address;
399 	mach_vm_size_t size;
400 	vm_prot_t desired_access;
401 { return mach_vm_wire(host_priv, task, address, size, desired_access); }
402 #else
403 (
404 	host_priv_t host_priv,
405 	mach_vm_map_t task,
406 	mach_vm_address_t address,
407 	mach_vm_size_t size,
408 	vm_prot_t desired_access
409 );
410 #endif	/* defined(LINTLIBRARY) */
411 
412 /* Routine host_processor_sets */
413 #ifdef	mig_external
414 mig_external
415 #else
416 extern
417 #endif	/* mig_external */
host_processor_sets(host_priv,processor_sets,processor_setsCnt)418 kern_return_t host_processor_sets
419 #if	defined(LINTLIBRARY)
420     (host_priv, processor_sets, processor_setsCnt)
421 	host_priv_t host_priv;
422 	processor_set_name_array_t *processor_sets;
423 	mach_msg_type_number_t *processor_setsCnt;
424 { return host_processor_sets(host_priv, processor_sets, processor_setsCnt); }
425 #else
426 (
427 	host_priv_t host_priv,
428 	processor_set_name_array_t *processor_sets,
429 	mach_msg_type_number_t *processor_setsCnt
430 );
431 #endif	/* defined(LINTLIBRARY) */
432 
433 /* Routine host_processor_set_priv */
434 #ifdef	mig_external
435 mig_external
436 #else
437 extern
438 #endif	/* mig_external */
host_processor_set_priv(host_priv,set_name,set)439 kern_return_t host_processor_set_priv
440 #if	defined(LINTLIBRARY)
441     (host_priv, set_name, set)
442 	host_priv_t host_priv;
443 	processor_set_name_t set_name;
444 	processor_set_t *set;
445 { return host_processor_set_priv(host_priv, set_name, set); }
446 #else
447 (
448 	host_priv_t host_priv,
449 	processor_set_name_t set_name,
450 	processor_set_t *set
451 );
452 #endif	/* defined(LINTLIBRARY) */
453 
454 /* Routine set_dp_control_port */
455 #ifdef	mig_external
456 mig_external
457 #else
458 extern
459 #endif	/* mig_external */
set_dp_control_port(host,control_port)460 kern_return_t set_dp_control_port
461 #if	defined(LINTLIBRARY)
462     (host, control_port)
463 	host_priv_t host;
464 	mach_port_t control_port;
465 { return set_dp_control_port(host, control_port); }
466 #else
467 (
468 	host_priv_t host,
469 	mach_port_t control_port
470 );
471 #endif	/* defined(LINTLIBRARY) */
472 
473 /* Routine get_dp_control_port */
474 #ifdef	mig_external
475 mig_external
476 #else
477 extern
478 #endif	/* mig_external */
get_dp_control_port(host,contorl_port)479 kern_return_t get_dp_control_port
480 #if	defined(LINTLIBRARY)
481     (host, contorl_port)
482 	host_priv_t host;
483 	mach_port_t *contorl_port;
484 { return get_dp_control_port(host, contorl_port); }
485 #else
486 (
487 	host_priv_t host,
488 	mach_port_t *contorl_port
489 );
490 #endif	/* defined(LINTLIBRARY) */
491 
492 /* Routine host_set_UNDServer */
493 #ifdef	mig_external
494 mig_external
495 #else
496 extern
497 #endif	/* mig_external */
host_set_UNDServer(host,server)498 kern_return_t host_set_UNDServer
499 #if	defined(LINTLIBRARY)
500     (host, server)
501 	host_priv_t host;
502 	UNDServerRef server;
503 { return host_set_UNDServer(host, server); }
504 #else
505 (
506 	host_priv_t host,
507 	UNDServerRef server
508 );
509 #endif	/* defined(LINTLIBRARY) */
510 
511 /* Routine host_get_UNDServer */
512 #ifdef	mig_external
513 mig_external
514 #else
515 extern
516 #endif	/* mig_external */
host_get_UNDServer(host,server)517 kern_return_t host_get_UNDServer
518 #if	defined(LINTLIBRARY)
519     (host, server)
520 	host_priv_t host;
521 	UNDServerRef *server;
522 { return host_get_UNDServer(host, server); }
523 #else
524 (
525 	host_priv_t host,
526 	UNDServerRef *server
527 );
528 #endif	/* defined(LINTLIBRARY) */
529 
530 /* Routine kext_request */
531 #ifdef	mig_external
532 mig_external
533 #else
534 extern
535 #endif	/* mig_external */
kext_request(host_priv,user_log_flags,request_data,request_dataCnt,response_data,response_dataCnt,log_data,log_dataCnt,op_result)536 kern_return_t kext_request
537 #if	defined(LINTLIBRARY)
538     (host_priv, user_log_flags, request_data, request_dataCnt, response_data, response_dataCnt, log_data, log_dataCnt, op_result)
539 	host_priv_t host_priv;
540 	uint32_t user_log_flags;
541 	vm_offset_t request_data;
542 	mach_msg_type_number_t request_dataCnt;
543 	vm_offset_t *response_data;
544 	mach_msg_type_number_t *response_dataCnt;
545 	vm_offset_t *log_data;
546 	mach_msg_type_number_t *log_dataCnt;
547 	kern_return_t *op_result;
548 { return kext_request(host_priv, user_log_flags, request_data, request_dataCnt, response_data, response_dataCnt, log_data, log_dataCnt, op_result); }
549 #else
550 (
551 	host_priv_t host_priv,
552 	uint32_t user_log_flags,
553 	vm_offset_t request_data,
554 	mach_msg_type_number_t request_dataCnt,
555 	vm_offset_t *response_data,
556 	mach_msg_type_number_t *response_dataCnt,
557 	vm_offset_t *log_data,
558 	mach_msg_type_number_t *log_dataCnt,
559 	kern_return_t *op_result
560 );
561 #endif	/* defined(LINTLIBRARY) */
562 
563 __END_DECLS
564 
565 /********************** Caution **************************/
566 /* The following data types should be used to calculate  */
567 /* maximum message sizes only. The actual message may be */
568 /* smaller, and the position of the arguments within the */
569 /* message layout may vary from what is presented here.  */
570 /* For example, if any of the arguments are variable-    */
571 /* sized, and less than the maximum is sent, the data    */
572 /* will be packed tight in the actual message to reduce  */
573 /* the presence of holes.                                */
574 /********************** Caution **************************/
575 
576 /* typedefs for all requests */
577 
578 #ifndef __Request__host_priv_subsystem__defined
579 #define __Request__host_priv_subsystem__defined
580 
581 #ifdef  __MigPackStructs
582 #pragma pack(4)
583 #endif
584 	typedef struct {
585 		mach_msg_header_t Head;
586 		/* start of the kernel processed data */
587 		mach_msg_body_t msgh_body;
588 		/* end of the kernel processed data */
589 	} __Request__host_get_boot_info_t;
590 #ifdef  __MigPackStructs
591 #pragma pack()
592 #endif
593 
594 #ifdef  __MigPackStructs
595 #pragma pack(4)
596 #endif
597 	typedef struct {
598 		mach_msg_header_t Head;
599 		/* start of the kernel processed data */
600 		mach_msg_body_t msgh_body;
601 		/* end of the kernel processed data */
602 		NDR_record_t NDR;
603 		int options;
604 	} __Request__host_reboot_t;
605 #ifdef  __MigPackStructs
606 #pragma pack()
607 #endif
608 
609 #ifdef  __MigPackStructs
610 #pragma pack(4)
611 #endif
612 	typedef struct {
613 		mach_msg_header_t Head;
614 		/* start of the kernel processed data */
615 		mach_msg_body_t msgh_body;
616 		/* end of the kernel processed data */
617 		NDR_record_t NDR;
618 		host_flavor_t flavor;
619 		mach_msg_type_number_t host_info_outCnt;
620 	} __Request__host_priv_statistics_t;
621 #ifdef  __MigPackStructs
622 #pragma pack()
623 #endif
624 
625 #ifdef  __MigPackStructs
626 #pragma pack(4)
627 #endif
628 	typedef struct {
629 		mach_msg_header_t Head;
630 		/* start of the kernel processed data */
631 		mach_msg_body_t msgh_body;
632 		mach_msg_port_descriptor_t default_manager;
633 		/* end of the kernel processed data */
634 		NDR_record_t NDR;
635 		memory_object_cluster_size_t cluster_size;
636 	} __Request__host_default_memory_manager_t;
637 #ifdef  __MigPackStructs
638 #pragma pack()
639 #endif
640 
641 #ifdef  __MigPackStructs
642 #pragma pack(4)
643 #endif
644 	typedef struct {
645 		mach_msg_header_t Head;
646 		/* start of the kernel processed data */
647 		mach_msg_body_t msgh_body;
648 		mach_msg_port_descriptor_t task;
649 		/* end of the kernel processed data */
650 		NDR_record_t NDR;
651 		vm_address_t address;
652 		vm_size_t size;
653 		vm_prot_t desired_access;
654 	} __Request__vm_wire_t;
655 #ifdef  __MigPackStructs
656 #pragma pack()
657 #endif
658 
659 #ifdef  __MigPackStructs
660 #pragma pack(4)
661 #endif
662 	typedef struct {
663 		mach_msg_header_t Head;
664 		/* start of the kernel processed data */
665 		mach_msg_body_t msgh_body;
666 		mach_msg_port_descriptor_t thread;
667 		/* end of the kernel processed data */
668 		NDR_record_t NDR;
669 		boolean_t wired;
670 	} __Request__thread_wire_t;
671 #ifdef  __MigPackStructs
672 #pragma pack()
673 #endif
674 
675 #ifdef  __MigPackStructs
676 #pragma pack(4)
677 #endif
678 	typedef struct {
679 		mach_msg_header_t Head;
680 		/* start of the kernel processed data */
681 		mach_msg_body_t msgh_body;
682 		mach_msg_port_descriptor_t task;
683 		/* end of the kernel processed data */
684 		NDR_record_t NDR;
685 		vm_address_t address;
686 		vm_size_t size;
687 		int flags;
688 	} __Request__vm_allocate_cpm_t;
689 #ifdef  __MigPackStructs
690 #pragma pack()
691 #endif
692 
693 #ifdef  __MigPackStructs
694 #pragma pack(4)
695 #endif
696 	typedef struct {
697 		mach_msg_header_t Head;
698 		/* start of the kernel processed data */
699 		mach_msg_body_t msgh_body;
700 		/* end of the kernel processed data */
701 	} __Request__host_processors_t;
702 #ifdef  __MigPackStructs
703 #pragma pack()
704 #endif
705 
706 #ifdef  __MigPackStructs
707 #pragma pack(4)
708 #endif
709 	typedef struct {
710 		mach_msg_header_t Head;
711 		/* start of the kernel processed data */
712 		mach_msg_body_t msgh_body;
713 		/* end of the kernel processed data */
714 		NDR_record_t NDR;
715 		clock_id_t clock_id;
716 	} __Request__host_get_clock_control_t;
717 #ifdef  __MigPackStructs
718 #pragma pack()
719 #endif
720 
721 #ifdef  __MigPackStructs
722 #pragma pack(4)
723 #endif
724 	typedef struct {
725 		mach_msg_header_t Head;
726 		/* start of the kernel processed data */
727 		mach_msg_body_t msgh_body;
728 		/* end of the kernel processed data */
729 		NDR_record_t NDR;
730 		int node;
731 		int which;
732 	} __Request__host_get_special_port_t;
733 #ifdef  __MigPackStructs
734 #pragma pack()
735 #endif
736 
737 #ifdef  __MigPackStructs
738 #pragma pack(4)
739 #endif
740 	typedef struct {
741 		mach_msg_header_t Head;
742 		/* start of the kernel processed data */
743 		mach_msg_body_t msgh_body;
744 		mach_msg_port_descriptor_t port;
745 		/* end of the kernel processed data */
746 		NDR_record_t NDR;
747 		int which;
748 	} __Request__host_set_special_port_t;
749 #ifdef  __MigPackStructs
750 #pragma pack()
751 #endif
752 
753 #ifdef  __MigPackStructs
754 #pragma pack(4)
755 #endif
756 	typedef struct {
757 		mach_msg_header_t Head;
758 		/* start of the kernel processed data */
759 		mach_msg_body_t msgh_body;
760 		mach_msg_port_descriptor_t new_port;
761 		/* end of the kernel processed data */
762 		NDR_record_t NDR;
763 		exception_mask_t exception_mask;
764 		exception_behavior_t behavior;
765 		thread_state_flavor_t new_flavor;
766 	} __Request__host_set_exception_ports_t;
767 #ifdef  __MigPackStructs
768 #pragma pack()
769 #endif
770 
771 #ifdef  __MigPackStructs
772 #pragma pack(4)
773 #endif
774 	typedef struct {
775 		mach_msg_header_t Head;
776 		/* start of the kernel processed data */
777 		mach_msg_body_t msgh_body;
778 		/* end of the kernel processed data */
779 		NDR_record_t NDR;
780 		exception_mask_t exception_mask;
781 	} __Request__host_get_exception_ports_t;
782 #ifdef  __MigPackStructs
783 #pragma pack()
784 #endif
785 
786 #ifdef  __MigPackStructs
787 #pragma pack(4)
788 #endif
789 	typedef struct {
790 		mach_msg_header_t Head;
791 		/* start of the kernel processed data */
792 		mach_msg_body_t msgh_body;
793 		mach_msg_port_descriptor_t new_port;
794 		/* end of the kernel processed data */
795 		NDR_record_t NDR;
796 		exception_mask_t exception_mask;
797 		exception_behavior_t behavior;
798 		thread_state_flavor_t new_flavor;
799 	} __Request__host_swap_exception_ports_t;
800 #ifdef  __MigPackStructs
801 #pragma pack()
802 #endif
803 
804 #ifdef  __MigPackStructs
805 #pragma pack(4)
806 #endif
807 	typedef struct {
808 		mach_msg_header_t Head;
809 		/* start of the kernel processed data */
810 		mach_msg_body_t msgh_body;
811 		mach_msg_port_descriptor_t task;
812 		/* end of the kernel processed data */
813 		NDR_record_t NDR;
814 		mach_vm_address_t address;
815 		mach_vm_size_t size;
816 		vm_prot_t desired_access;
817 	} __Request__mach_vm_wire_t;
818 #ifdef  __MigPackStructs
819 #pragma pack()
820 #endif
821 
822 #ifdef  __MigPackStructs
823 #pragma pack(4)
824 #endif
825 	typedef struct {
826 		mach_msg_header_t Head;
827 		/* start of the kernel processed data */
828 		mach_msg_body_t msgh_body;
829 		/* end of the kernel processed data */
830 	} __Request__host_processor_sets_t;
831 #ifdef  __MigPackStructs
832 #pragma pack()
833 #endif
834 
835 #ifdef  __MigPackStructs
836 #pragma pack(4)
837 #endif
838 	typedef struct {
839 		mach_msg_header_t Head;
840 		/* start of the kernel processed data */
841 		mach_msg_body_t msgh_body;
842 		mach_msg_port_descriptor_t set_name;
843 		/* end of the kernel processed data */
844 	} __Request__host_processor_set_priv_t;
845 #ifdef  __MigPackStructs
846 #pragma pack()
847 #endif
848 
849 #ifdef  __MigPackStructs
850 #pragma pack(4)
851 #endif
852 	typedef struct {
853 		mach_msg_header_t Head;
854 		/* start of the kernel processed data */
855 		mach_msg_body_t msgh_body;
856 		mach_msg_port_descriptor_t control_port;
857 		/* end of the kernel processed data */
858 	} __Request__set_dp_control_port_t;
859 #ifdef  __MigPackStructs
860 #pragma pack()
861 #endif
862 
863 #ifdef  __MigPackStructs
864 #pragma pack(4)
865 #endif
866 	typedef struct {
867 		mach_msg_header_t Head;
868 		/* start of the kernel processed data */
869 		mach_msg_body_t msgh_body;
870 		/* end of the kernel processed data */
871 	} __Request__get_dp_control_port_t;
872 #ifdef  __MigPackStructs
873 #pragma pack()
874 #endif
875 
876 #ifdef  __MigPackStructs
877 #pragma pack(4)
878 #endif
879 	typedef struct {
880 		mach_msg_header_t Head;
881 		/* start of the kernel processed data */
882 		mach_msg_body_t msgh_body;
883 		mach_msg_port_descriptor_t server;
884 		/* end of the kernel processed data */
885 	} __Request__host_set_UNDServer_t;
886 #ifdef  __MigPackStructs
887 #pragma pack()
888 #endif
889 
890 #ifdef  __MigPackStructs
891 #pragma pack(4)
892 #endif
893 	typedef struct {
894 		mach_msg_header_t Head;
895 		/* start of the kernel processed data */
896 		mach_msg_body_t msgh_body;
897 		/* end of the kernel processed data */
898 	} __Request__host_get_UNDServer_t;
899 #ifdef  __MigPackStructs
900 #pragma pack()
901 #endif
902 
903 #ifdef  __MigPackStructs
904 #pragma pack(4)
905 #endif
906 	typedef struct {
907 		mach_msg_header_t Head;
908 		/* start of the kernel processed data */
909 		mach_msg_body_t msgh_body;
910 		mach_msg_ool_descriptor_t request_data;
911 		/* end of the kernel processed data */
912 		NDR_record_t NDR;
913 		uint32_t user_log_flags;
914 		mach_msg_type_number_t request_dataCnt;
915 	} __Request__kext_request_t;
916 #ifdef  __MigPackStructs
917 #pragma pack()
918 #endif
919 #endif /* !__Request__host_priv_subsystem__defined */
920 
921 /* union of all requests */
922 
923 #ifndef __RequestUnion__host_priv_subsystem__defined
924 #define __RequestUnion__host_priv_subsystem__defined
925 union __RequestUnion__host_priv_subsystem {
926 	__Request__host_get_boot_info_t Request_host_get_boot_info;
927 	__Request__host_reboot_t Request_host_reboot;
928 	__Request__host_priv_statistics_t Request_host_priv_statistics;
929 	__Request__host_default_memory_manager_t Request_host_default_memory_manager;
930 	__Request__vm_wire_t Request_vm_wire;
931 	__Request__thread_wire_t Request_thread_wire;
932 	__Request__vm_allocate_cpm_t Request_vm_allocate_cpm;
933 	__Request__host_processors_t Request_host_processors;
934 	__Request__host_get_clock_control_t Request_host_get_clock_control;
935 	__Request__host_get_special_port_t Request_host_get_special_port;
936 	__Request__host_set_special_port_t Request_host_set_special_port;
937 	__Request__host_set_exception_ports_t Request_host_set_exception_ports;
938 	__Request__host_get_exception_ports_t Request_host_get_exception_ports;
939 	__Request__host_swap_exception_ports_t Request_host_swap_exception_ports;
940 	__Request__mach_vm_wire_t Request_mach_vm_wire;
941 	__Request__host_processor_sets_t Request_host_processor_sets;
942 	__Request__host_processor_set_priv_t Request_host_processor_set_priv;
943 	__Request__set_dp_control_port_t Request_set_dp_control_port;
944 	__Request__get_dp_control_port_t Request_get_dp_control_port;
945 	__Request__host_set_UNDServer_t Request_host_set_UNDServer;
946 	__Request__host_get_UNDServer_t Request_host_get_UNDServer;
947 	__Request__kext_request_t Request_kext_request;
948 };
949 #endif /* !__RequestUnion__host_priv_subsystem__defined */
950 /* typedefs for all replies */
951 
952 #ifndef __Reply__host_priv_subsystem__defined
953 #define __Reply__host_priv_subsystem__defined
954 
955 #ifdef  __MigPackStructs
956 #pragma pack(4)
957 #endif
958 	typedef struct {
959 		mach_msg_header_t Head;
960 		NDR_record_t NDR;
961 		kern_return_t RetCode;
962 		mach_msg_type_number_t boot_infoOffset; /* MiG doesn't use it */
963 		mach_msg_type_number_t boot_infoCnt;
964 		char boot_info[4096];
965 	} __Reply__host_get_boot_info_t;
966 #ifdef  __MigPackStructs
967 #pragma pack()
968 #endif
969 
970 #ifdef  __MigPackStructs
971 #pragma pack(4)
972 #endif
973 	typedef struct {
974 		mach_msg_header_t Head;
975 		NDR_record_t NDR;
976 		kern_return_t RetCode;
977 	} __Reply__host_reboot_t;
978 #ifdef  __MigPackStructs
979 #pragma pack()
980 #endif
981 
982 #ifdef  __MigPackStructs
983 #pragma pack(4)
984 #endif
985 	typedef struct {
986 		mach_msg_header_t Head;
987 		NDR_record_t NDR;
988 		kern_return_t RetCode;
989 		mach_msg_type_number_t host_info_outCnt;
990 		integer_t host_info_out[68];
991 	} __Reply__host_priv_statistics_t;
992 #ifdef  __MigPackStructs
993 #pragma pack()
994 #endif
995 
996 #ifdef  __MigPackStructs
997 #pragma pack(4)
998 #endif
999 	typedef struct {
1000 		mach_msg_header_t Head;
1001 		/* start of the kernel processed data */
1002 		mach_msg_body_t msgh_body;
1003 		mach_msg_port_descriptor_t default_manager;
1004 		/* end of the kernel processed data */
1005 	} __Reply__host_default_memory_manager_t;
1006 #ifdef  __MigPackStructs
1007 #pragma pack()
1008 #endif
1009 
1010 #ifdef  __MigPackStructs
1011 #pragma pack(4)
1012 #endif
1013 	typedef struct {
1014 		mach_msg_header_t Head;
1015 		NDR_record_t NDR;
1016 		kern_return_t RetCode;
1017 	} __Reply__vm_wire_t;
1018 #ifdef  __MigPackStructs
1019 #pragma pack()
1020 #endif
1021 
1022 #ifdef  __MigPackStructs
1023 #pragma pack(4)
1024 #endif
1025 	typedef struct {
1026 		mach_msg_header_t Head;
1027 		NDR_record_t NDR;
1028 		kern_return_t RetCode;
1029 	} __Reply__thread_wire_t;
1030 #ifdef  __MigPackStructs
1031 #pragma pack()
1032 #endif
1033 
1034 #ifdef  __MigPackStructs
1035 #pragma pack(4)
1036 #endif
1037 	typedef struct {
1038 		mach_msg_header_t Head;
1039 		NDR_record_t NDR;
1040 		kern_return_t RetCode;
1041 		vm_address_t address;
1042 	} __Reply__vm_allocate_cpm_t;
1043 #ifdef  __MigPackStructs
1044 #pragma pack()
1045 #endif
1046 
1047 #ifdef  __MigPackStructs
1048 #pragma pack(4)
1049 #endif
1050 	typedef struct {
1051 		mach_msg_header_t Head;
1052 		/* start of the kernel processed data */
1053 		mach_msg_body_t msgh_body;
1054 		mach_msg_ool_ports_descriptor_t out_processor_list;
1055 		/* end of the kernel processed data */
1056 		NDR_record_t NDR;
1057 		mach_msg_type_number_t out_processor_listCnt;
1058 	} __Reply__host_processors_t;
1059 #ifdef  __MigPackStructs
1060 #pragma pack()
1061 #endif
1062 
1063 #ifdef  __MigPackStructs
1064 #pragma pack(4)
1065 #endif
1066 	typedef struct {
1067 		mach_msg_header_t Head;
1068 		/* start of the kernel processed data */
1069 		mach_msg_body_t msgh_body;
1070 		mach_msg_port_descriptor_t clock_ctrl;
1071 		/* end of the kernel processed data */
1072 	} __Reply__host_get_clock_control_t;
1073 #ifdef  __MigPackStructs
1074 #pragma pack()
1075 #endif
1076 
1077 #ifdef  __MigPackStructs
1078 #pragma pack(4)
1079 #endif
1080 	typedef struct {
1081 		mach_msg_header_t Head;
1082 		/* start of the kernel processed data */
1083 		mach_msg_body_t msgh_body;
1084 		mach_msg_port_descriptor_t port;
1085 		/* end of the kernel processed data */
1086 	} __Reply__host_get_special_port_t;
1087 #ifdef  __MigPackStructs
1088 #pragma pack()
1089 #endif
1090 
1091 #ifdef  __MigPackStructs
1092 #pragma pack(4)
1093 #endif
1094 	typedef struct {
1095 		mach_msg_header_t Head;
1096 		NDR_record_t NDR;
1097 		kern_return_t RetCode;
1098 	} __Reply__host_set_special_port_t;
1099 #ifdef  __MigPackStructs
1100 #pragma pack()
1101 #endif
1102 
1103 #ifdef  __MigPackStructs
1104 #pragma pack(4)
1105 #endif
1106 	typedef struct {
1107 		mach_msg_header_t Head;
1108 		NDR_record_t NDR;
1109 		kern_return_t RetCode;
1110 	} __Reply__host_set_exception_ports_t;
1111 #ifdef  __MigPackStructs
1112 #pragma pack()
1113 #endif
1114 
1115 #ifdef  __MigPackStructs
1116 #pragma pack(4)
1117 #endif
1118 	typedef struct {
1119 		mach_msg_header_t Head;
1120 		/* start of the kernel processed data */
1121 		mach_msg_body_t msgh_body;
1122 		mach_msg_port_descriptor_t old_handlers[32];
1123 		/* end of the kernel processed data */
1124 		NDR_record_t NDR;
1125 		mach_msg_type_number_t masksCnt;
1126 		exception_mask_t masks[32];
1127 		exception_behavior_t old_behaviors[32];
1128 		thread_state_flavor_t old_flavors[32];
1129 	} __Reply__host_get_exception_ports_t;
1130 #ifdef  __MigPackStructs
1131 #pragma pack()
1132 #endif
1133 
1134 #ifdef  __MigPackStructs
1135 #pragma pack(4)
1136 #endif
1137 	typedef struct {
1138 		mach_msg_header_t Head;
1139 		/* start of the kernel processed data */
1140 		mach_msg_body_t msgh_body;
1141 		mach_msg_port_descriptor_t old_handlerss[32];
1142 		/* end of the kernel processed data */
1143 		NDR_record_t NDR;
1144 		mach_msg_type_number_t masksCnt;
1145 		exception_mask_t masks[32];
1146 		exception_behavior_t old_behaviors[32];
1147 		thread_state_flavor_t old_flavors[32];
1148 	} __Reply__host_swap_exception_ports_t;
1149 #ifdef  __MigPackStructs
1150 #pragma pack()
1151 #endif
1152 
1153 #ifdef  __MigPackStructs
1154 #pragma pack(4)
1155 #endif
1156 	typedef struct {
1157 		mach_msg_header_t Head;
1158 		NDR_record_t NDR;
1159 		kern_return_t RetCode;
1160 	} __Reply__mach_vm_wire_t;
1161 #ifdef  __MigPackStructs
1162 #pragma pack()
1163 #endif
1164 
1165 #ifdef  __MigPackStructs
1166 #pragma pack(4)
1167 #endif
1168 	typedef struct {
1169 		mach_msg_header_t Head;
1170 		/* start of the kernel processed data */
1171 		mach_msg_body_t msgh_body;
1172 		mach_msg_ool_ports_descriptor_t processor_sets;
1173 		/* end of the kernel processed data */
1174 		NDR_record_t NDR;
1175 		mach_msg_type_number_t processor_setsCnt;
1176 	} __Reply__host_processor_sets_t;
1177 #ifdef  __MigPackStructs
1178 #pragma pack()
1179 #endif
1180 
1181 #ifdef  __MigPackStructs
1182 #pragma pack(4)
1183 #endif
1184 	typedef struct {
1185 		mach_msg_header_t Head;
1186 		/* start of the kernel processed data */
1187 		mach_msg_body_t msgh_body;
1188 		mach_msg_port_descriptor_t set;
1189 		/* end of the kernel processed data */
1190 	} __Reply__host_processor_set_priv_t;
1191 #ifdef  __MigPackStructs
1192 #pragma pack()
1193 #endif
1194 
1195 #ifdef  __MigPackStructs
1196 #pragma pack(4)
1197 #endif
1198 	typedef struct {
1199 		mach_msg_header_t Head;
1200 		NDR_record_t NDR;
1201 		kern_return_t RetCode;
1202 	} __Reply__set_dp_control_port_t;
1203 #ifdef  __MigPackStructs
1204 #pragma pack()
1205 #endif
1206 
1207 #ifdef  __MigPackStructs
1208 #pragma pack(4)
1209 #endif
1210 	typedef struct {
1211 		mach_msg_header_t Head;
1212 		/* start of the kernel processed data */
1213 		mach_msg_body_t msgh_body;
1214 		mach_msg_port_descriptor_t contorl_port;
1215 		/* end of the kernel processed data */
1216 	} __Reply__get_dp_control_port_t;
1217 #ifdef  __MigPackStructs
1218 #pragma pack()
1219 #endif
1220 
1221 #ifdef  __MigPackStructs
1222 #pragma pack(4)
1223 #endif
1224 	typedef struct {
1225 		mach_msg_header_t Head;
1226 		NDR_record_t NDR;
1227 		kern_return_t RetCode;
1228 	} __Reply__host_set_UNDServer_t;
1229 #ifdef  __MigPackStructs
1230 #pragma pack()
1231 #endif
1232 
1233 #ifdef  __MigPackStructs
1234 #pragma pack(4)
1235 #endif
1236 	typedef struct {
1237 		mach_msg_header_t Head;
1238 		/* start of the kernel processed data */
1239 		mach_msg_body_t msgh_body;
1240 		mach_msg_port_descriptor_t server;
1241 		/* end of the kernel processed data */
1242 	} __Reply__host_get_UNDServer_t;
1243 #ifdef  __MigPackStructs
1244 #pragma pack()
1245 #endif
1246 
1247 #ifdef  __MigPackStructs
1248 #pragma pack(4)
1249 #endif
1250 	typedef struct {
1251 		mach_msg_header_t Head;
1252 		/* start of the kernel processed data */
1253 		mach_msg_body_t msgh_body;
1254 		mach_msg_ool_descriptor_t response_data;
1255 		mach_msg_ool_descriptor_t log_data;
1256 		/* end of the kernel processed data */
1257 		NDR_record_t NDR;
1258 		mach_msg_type_number_t response_dataCnt;
1259 		mach_msg_type_number_t log_dataCnt;
1260 		kern_return_t op_result;
1261 	} __Reply__kext_request_t;
1262 #ifdef  __MigPackStructs
1263 #pragma pack()
1264 #endif
1265 #endif /* !__Reply__host_priv_subsystem__defined */
1266 
1267 /* union of all replies */
1268 
1269 #ifndef __ReplyUnion__host_priv_subsystem__defined
1270 #define __ReplyUnion__host_priv_subsystem__defined
1271 union __ReplyUnion__host_priv_subsystem {
1272 	__Reply__host_get_boot_info_t Reply_host_get_boot_info;
1273 	__Reply__host_reboot_t Reply_host_reboot;
1274 	__Reply__host_priv_statistics_t Reply_host_priv_statistics;
1275 	__Reply__host_default_memory_manager_t Reply_host_default_memory_manager;
1276 	__Reply__vm_wire_t Reply_vm_wire;
1277 	__Reply__thread_wire_t Reply_thread_wire;
1278 	__Reply__vm_allocate_cpm_t Reply_vm_allocate_cpm;
1279 	__Reply__host_processors_t Reply_host_processors;
1280 	__Reply__host_get_clock_control_t Reply_host_get_clock_control;
1281 	__Reply__host_get_special_port_t Reply_host_get_special_port;
1282 	__Reply__host_set_special_port_t Reply_host_set_special_port;
1283 	__Reply__host_set_exception_ports_t Reply_host_set_exception_ports;
1284 	__Reply__host_get_exception_ports_t Reply_host_get_exception_ports;
1285 	__Reply__host_swap_exception_ports_t Reply_host_swap_exception_ports;
1286 	__Reply__mach_vm_wire_t Reply_mach_vm_wire;
1287 	__Reply__host_processor_sets_t Reply_host_processor_sets;
1288 	__Reply__host_processor_set_priv_t Reply_host_processor_set_priv;
1289 	__Reply__set_dp_control_port_t Reply_set_dp_control_port;
1290 	__Reply__get_dp_control_port_t Reply_get_dp_control_port;
1291 	__Reply__host_set_UNDServer_t Reply_host_set_UNDServer;
1292 	__Reply__host_get_UNDServer_t Reply_host_get_UNDServer;
1293 	__Reply__kext_request_t Reply_kext_request;
1294 };
1295 #endif /* !__RequestUnion__host_priv_subsystem__defined */
1296 
1297 #ifndef subsystem_to_name_map_host_priv
1298 #define subsystem_to_name_map_host_priv \
1299     { "host_get_boot_info", 400 },\
1300     { "host_reboot", 401 },\
1301     { "host_priv_statistics", 402 },\
1302     { "host_default_memory_manager", 403 },\
1303     { "vm_wire", 404 },\
1304     { "thread_wire", 405 },\
1305     { "vm_allocate_cpm", 406 },\
1306     { "host_processors", 407 },\
1307     { "host_get_clock_control", 408 },\
1308     { "host_get_special_port", 412 },\
1309     { "host_set_special_port", 413 },\
1310     { "host_set_exception_ports", 414 },\
1311     { "host_get_exception_ports", 415 },\
1312     { "host_swap_exception_ports", 416 },\
1313     { "mach_vm_wire", 418 },\
1314     { "host_processor_sets", 419 },\
1315     { "host_processor_set_priv", 420 },\
1316     { "set_dp_control_port", 421 },\
1317     { "get_dp_control_port", 422 },\
1318     { "host_set_UNDServer", 423 },\
1319     { "host_get_UNDServer", 424 },\
1320     { "kext_request", 425 }
1321 #endif
1322 
1323 #ifdef __AfterMigUserHeader
1324 __AfterMigUserHeader
1325 #endif /* __AfterMigUserHeader */
1326 
1327 #endif	 /* _host_priv_user_ */
1328