1#ifndef _host_priv_server_
2#define _host_priv_server_
3
4/* Module host_priv */
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/* BEGIN MIG_STRNCPY_ZEROFILL CODE */
17
18#if defined(__has_include)
19#if __has_include(<mach/mig_strncpy_zerofill_support.h>)
20#ifndef USING_MIG_STRNCPY_ZEROFILL
21#define USING_MIG_STRNCPY_ZEROFILL
22#endif
23#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__
24#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__
25#ifdef __cplusplus
26extern "C" {
27#endif
28#ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS_CSTRING_ATTR
29#define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS_CSTRING_COUNTEDBY_ATTR(C) __unsafe_indexable
30#endif
31 extern int mig_strncpy_zerofill(char * dest, const char * src, int len) __attribute__((weak_import));
32#ifdef __cplusplus
33}
34#endif
35#endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */
36#endif /* __has_include(<mach/mig_strncpy_zerofill_support.h>) */
37#endif /* __has_include */
38
39/* END MIG_STRNCPY_ZEROFILL CODE */
40
41
42#ifdef AUTOTEST
43#ifndef FUNCTION_PTR_T
44#define FUNCTION_PTR_T
45typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
46typedef struct {
47 char * name;
48 function_ptr_t function;
49} function_table_entry;
50typedef function_table_entry *function_table_t;
51#endif /* FUNCTION_PTR_T */
52#endif /* AUTOTEST */
53
54#ifndef host_priv_MSG_COUNT
55#define host_priv_MSG_COUNT 26
56#endif /* host_priv_MSG_COUNT */
57
58#include <Availability.h>
59#include <mach/std_types.h>
60#include <mach/mig.h>
61#include <ipc/ipc_voucher.h>
62#include <kern/ipc_kobject.h>
63#include <kern/ipc_tt.h>
64#include <kern/ipc_host.h>
65#include <kern/ledger.h>
66#include <kern/processor.h>
67#include <kern/sync_sema.h>
68#include <ipc/ipc_eventlink.h>
69#include <vm/memory_object.h>
70#include <vm/vm_map.h>
71#include <kern/arcade.h>
72#include <kern/ipc_mig.h>
73#include <kern/task_ident.h>
74#include <kern/kern_cdata.h>
75#include <mach/mig.h>
76#include <mach/mach_types.h>
77#include <mach/mach_types.h>
78#include <mach_debug/mach_debug_types.h>
79
80#ifdef __BeforeMigServerHeader
81__BeforeMigServerHeader
82#endif /* __BeforeMigServerHeader */
83
84#ifndef MIG_SERVER_ROUTINE
85#define MIG_SERVER_ROUTINE
86#endif
87
88
89/* Routine host_get_boot_info */
90#ifdef mig_external
91mig_external
92#else
93extern
94#endif /* mig_external */
95MIG_SERVER_ROUTINE
96kern_return_t host_get_boot_info
97(
98 host_priv_t host_priv,
99 kernel_boot_info_t boot_info
100);
101
102/* Routine host_reboot */
103#ifdef mig_external
104mig_external
105#else
106extern
107#endif /* mig_external */
108MIG_SERVER_ROUTINE
109kern_return_t host_reboot
110(
111 host_priv_t host_priv,
112 int options
113);
114
115/* Routine host_priv_statistics */
116#ifdef mig_external
117mig_external
118#else
119extern
120#endif /* mig_external */
121MIG_SERVER_ROUTINE
122kern_return_t host_priv_statistics
123(
124 host_priv_t host_priv,
125 host_flavor_t flavor,
126 host_info_t host_info_out,
127 mach_msg_type_number_t *host_info_outCnt
128);
129
130/* Routine host_default_memory_manager */
131#ifdef mig_external
132mig_external
133#else
134extern
135#endif /* mig_external */
136MIG_SERVER_ROUTINE
137kern_return_t host_default_memory_manager
138(
139 host_priv_t host_priv,
140 memory_object_default_t *default_manager,
141 memory_object_cluster_size_t cluster_size
142);
143
144/* Routine vm_wire */
145#ifdef mig_external
146mig_external
147#else
148extern
149#endif /* mig_external */
150MIG_SERVER_ROUTINE
151kern_return_t vm_wire
152(
153 host_priv_t host_priv,
154 vm_map_t task,
155 vm_address_t address,
156 vm_size_t size,
157 vm_prot_t desired_access
158);
159
160/* Routine thread_wire */
161#ifdef mig_external
162mig_external
163#else
164extern
165#endif /* mig_external */
166MIG_SERVER_ROUTINE
167kern_return_t thread_wire
168(
169 host_priv_t host_priv,
170 thread_act_t thread,
171 boolean_t wired
172);
173
174/* Routine vm_allocate_cpm */
175#ifdef mig_external
176mig_external
177#else
178extern
179#endif /* mig_external */
180MIG_SERVER_ROUTINE
181kern_return_t vm_allocate_cpm
182(
183 host_priv_t host_priv,
184 vm_map_t task,
185 vm_address_t *address,
186 vm_size_t size,
187 int flags
188);
189
190/* Routine host_processors */
191#ifdef mig_external
192mig_external
193#else
194extern
195#endif /* mig_external */
196MIG_SERVER_ROUTINE
197kern_return_t host_processors
198(
199 host_priv_t host_priv,
200 processor_array_t *out_processor_list,
201 mach_msg_type_number_t *out_processor_listCnt
202);
203
204/* Routine host_get_special_port_from_user */
205#ifdef mig_external
206mig_external
207#else
208extern
209#endif /* mig_external */
210MIG_SERVER_ROUTINE
211kern_return_t host_get_special_port_from_user
212(
213 host_priv_t host_priv,
214 int node,
215 int which,
216 mach_port_t *port
217);
218
219/* Routine host_set_special_port_from_user */
220#ifdef mig_external
221mig_external
222#else
223extern
224#endif /* mig_external */
225MIG_SERVER_ROUTINE
226kern_return_t host_set_special_port_from_user
227(
228 host_priv_t host_priv,
229 int which,
230 mach_port_t port
231);
232
233/* Routine host_set_exception_ports */
234#ifdef mig_external
235mig_external
236#else
237extern
238#endif /* mig_external */
239MIG_SERVER_ROUTINE
240kern_return_t host_set_exception_ports
241(
242 host_priv_t host_priv,
243 exception_mask_t exception_mask,
244 mach_port_t new_port,
245 exception_behavior_t behavior,
246 thread_state_flavor_t new_flavor
247);
248
249/* Routine host_get_exception_ports */
250#ifdef mig_external
251mig_external
252#else
253extern
254#endif /* mig_external */
255MIG_SERVER_ROUTINE
256kern_return_t host_get_exception_ports
257(
258 host_priv_t host_priv,
259 exception_mask_t exception_mask,
260 exception_mask_array_t masks,
261 mach_msg_type_number_t *masksCnt,
262 exception_handler_array_t old_handlers,
263 exception_behavior_array_t old_behaviors,
264 exception_flavor_array_t old_flavors
265);
266
267/* Routine host_swap_exception_ports */
268#ifdef mig_external
269mig_external
270#else
271extern
272#endif /* mig_external */
273MIG_SERVER_ROUTINE
274kern_return_t host_swap_exception_ports
275(
276 host_priv_t host_priv,
277 exception_mask_t exception_mask,
278 mach_port_t new_port,
279 exception_behavior_t behavior,
280 thread_state_flavor_t new_flavor,
281 exception_mask_array_t masks,
282 mach_msg_type_number_t *masksCnt,
283 exception_handler_array_t old_handlerss,
284 exception_behavior_array_t old_behaviors,
285 exception_flavor_array_t old_flavors
286);
287
288/* Routine mach_vm_wire_external */
289#ifdef mig_external
290mig_external
291#else
292extern
293#endif /* mig_external */
294MIG_SERVER_ROUTINE
295kern_return_t mach_vm_wire_external
296(
297 host_priv_t host_priv,
298 vm_map_t task,
299 mach_vm_address_t address,
300 mach_vm_size_t size,
301 vm_prot_t desired_access
302);
303
304/* Routine host_processor_sets */
305#ifdef mig_external
306mig_external
307#else
308extern
309#endif /* mig_external */
310MIG_SERVER_ROUTINE
311kern_return_t host_processor_sets
312(
313 host_priv_t host_priv,
314 processor_set_name_array_t *processor_sets,
315 mach_msg_type_number_t *processor_setsCnt
316);
317
318/* Routine host_processor_set_priv */
319#ifdef mig_external
320mig_external
321#else
322extern
323#endif /* mig_external */
324MIG_SERVER_ROUTINE
325kern_return_t host_processor_set_priv
326(
327 host_priv_t host_priv,
328 processor_set_name_t set_name,
329 processor_set_t *set
330);
331
332/* Routine host_set_UNDServer */
333#ifdef mig_external
334mig_external
335#else
336extern
337#endif /* mig_external */
338MIG_SERVER_ROUTINE
339kern_return_t host_set_UNDServer
340(
341 host_priv_t host,
342 UNDServerRef server
343);
344
345/* Routine host_get_UNDServer */
346#ifdef mig_external
347mig_external
348#else
349extern
350#endif /* mig_external */
351MIG_SERVER_ROUTINE
352kern_return_t host_get_UNDServer
353(
354 host_priv_t host,
355 UNDServerRef *server
356);
357
358/* Routine kext_request */
359#ifdef mig_external
360mig_external
361#else
362extern
363#endif /* mig_external */
364MIG_SERVER_ROUTINE
365kern_return_t kext_request
366(
367 host_priv_t host_priv,
368 uint32_t user_log_flags,
369 vm_offset_t request_data,
370 mach_msg_type_number_t request_dataCnt,
371 vm_offset_t *response_data,
372 mach_msg_type_number_t *response_dataCnt,
373 vm_offset_t *log_data,
374 mach_msg_type_number_t *log_dataCnt,
375 kern_return_t *op_result
376);
377
378#ifdef mig_external
379mig_external
380#else
381extern
382#endif /* mig_external */
383boolean_t host_priv_server(
384 mach_msg_header_t *InHeadP,
385 void *InDataP,
386 mach_msg_max_trailer_t *InTrailerP,
387 mach_msg_header_t *OutHeadP,
388 void *OutDataP);
389
390#ifdef mig_external
391mig_external
392#else
393extern
394#endif /* mig_external */
395mig_kern_routine_t host_priv_server_routine(
396 mach_msg_header_t *InHeadP);
397
398
399/* Description of this kernel subsystem, for use in direct RPC */
400extern const struct host_priv_subsystem {
401 mig_kern_server_routine_t kserver; /* Server routine */
402 mach_msg_id_t start; /* Min routine number */
403 mach_msg_id_t end; /* Max routine number + 1 */
404 unsigned int maxsize; /* Max msg size */
405 vm_address_t reserved; /* Reserved */
406 struct kern_routine_descriptor /* Array of routine descriptors */
407 kroutine[26];
408} host_priv_subsystem;
409
410/* typedefs for all requests */
411
412#ifndef __Request__host_priv_subsystem__defined
413#define __Request__host_priv_subsystem__defined
414
415#ifdef __MigPackStructs
416#pragma pack(push, 4)
417#endif
418 typedef struct {
419 mach_msg_header_t Head;
420 } __Request__host_get_boot_info_t __attribute__((unused));
421#ifdef __MigPackStructs
422#pragma pack(pop)
423#endif
424/* Struct for kernel processed data (Header + Descriptors) */
425#ifdef __MigPackStructs
426#pragma pack(push, 4)
427#endif
428 typedef struct {
429 mach_msg_header_t Head;
430 } __RequestKData__host_get_boot_info_t __attribute__((unused));
431#ifdef __MigPackStructs
432#pragma pack(pop)
433#endif
434/* Struct for pure user data */
435#ifdef __MigPackStructs
436#pragma pack(push, 4)
437#endif
438 typedef struct {
439 char padding[0]; /* Avoid generating empty UData structs */
440 } __RequestUData__host_get_boot_info_t __attribute__((unused));
441#ifdef __MigPackStructs
442#pragma pack(pop)
443#endif
444
445#ifdef __MigPackStructs
446#pragma pack(push, 4)
447#endif
448 typedef struct {
449 mach_msg_header_t Head;
450 NDR_record_t NDR;
451 int options;
452 } __Request__host_reboot_t __attribute__((unused));
453#ifdef __MigPackStructs
454#pragma pack(pop)
455#endif
456/* Struct for kernel processed data (Header + Descriptors) */
457#ifdef __MigPackStructs
458#pragma pack(push, 4)
459#endif
460 typedef struct {
461 mach_msg_header_t Head;
462 } __RequestKData__host_reboot_t __attribute__((unused));
463#ifdef __MigPackStructs
464#pragma pack(pop)
465#endif
466/* Struct for pure user data */
467#ifdef __MigPackStructs
468#pragma pack(push, 4)
469#endif
470 typedef struct {
471 NDR_record_t NDR;
472 int options;
473 char padding[0]; /* Avoid generating empty UData structs */
474 } __RequestUData__host_reboot_t __attribute__((unused));
475#ifdef __MigPackStructs
476#pragma pack(pop)
477#endif
478
479#ifdef __MigPackStructs
480#pragma pack(push, 4)
481#endif
482 typedef struct {
483 mach_msg_header_t Head;
484 NDR_record_t NDR;
485 host_flavor_t flavor;
486 mach_msg_type_number_t host_info_outCnt;
487 } __Request__host_priv_statistics_t __attribute__((unused));
488#ifdef __MigPackStructs
489#pragma pack(pop)
490#endif
491/* Struct for kernel processed data (Header + Descriptors) */
492#ifdef __MigPackStructs
493#pragma pack(push, 4)
494#endif
495 typedef struct {
496 mach_msg_header_t Head;
497 } __RequestKData__host_priv_statistics_t __attribute__((unused));
498#ifdef __MigPackStructs
499#pragma pack(pop)
500#endif
501/* Struct for pure user data */
502#ifdef __MigPackStructs
503#pragma pack(push, 4)
504#endif
505 typedef struct {
506 NDR_record_t NDR;
507 host_flavor_t flavor;
508 mach_msg_type_number_t host_info_outCnt;
509 char padding[0]; /* Avoid generating empty UData structs */
510 } __RequestUData__host_priv_statistics_t __attribute__((unused));
511#ifdef __MigPackStructs
512#pragma pack(pop)
513#endif
514
515#ifdef __MigPackStructs
516#pragma pack(push, 4)
517#endif
518 typedef struct {
519 mach_msg_header_t Head;
520 /* start of the kernel processed data */
521 mach_msg_body_t msgh_body;
522 mach_msg_port_descriptor_t default_manager;
523 /* end of the kernel processed data */
524 NDR_record_t NDR;
525 memory_object_cluster_size_t cluster_size;
526 } __Request__host_default_memory_manager_t __attribute__((unused));
527#ifdef __MigPackStructs
528#pragma pack(pop)
529#endif
530/* Struct for kernel processed data (Header + Descriptors) */
531#ifdef __MigPackStructs
532#pragma pack(push, 4)
533#endif
534 typedef struct {
535 mach_msg_header_t Head;
536 mach_msg_body_t msgh_body;
537 mach_msg_port_descriptor_t default_manager;
538 } __RequestKData__host_default_memory_manager_t __attribute__((unused));
539#ifdef __MigPackStructs
540#pragma pack(pop)
541#endif
542/* Struct for pure user data */
543#ifdef __MigPackStructs
544#pragma pack(push, 4)
545#endif
546 typedef struct {
547 NDR_record_t NDR;
548 memory_object_cluster_size_t cluster_size;
549 char padding[0]; /* Avoid generating empty UData structs */
550 } __RequestUData__host_default_memory_manager_t __attribute__((unused));
551#ifdef __MigPackStructs
552#pragma pack(pop)
553#endif
554
555#ifdef __MigPackStructs
556#pragma pack(push, 4)
557#endif
558 typedef struct {
559 mach_msg_header_t Head;
560 /* start of the kernel processed data */
561 mach_msg_body_t msgh_body;
562 mach_msg_port_descriptor_t task;
563 /* end of the kernel processed data */
564 NDR_record_t NDR;
565 vm_address_t address;
566 vm_size_t size;
567 vm_prot_t desired_access;
568 } __Request__vm_wire_t __attribute__((unused));
569#ifdef __MigPackStructs
570#pragma pack(pop)
571#endif
572/* Struct for kernel processed data (Header + Descriptors) */
573#ifdef __MigPackStructs
574#pragma pack(push, 4)
575#endif
576 typedef struct {
577 mach_msg_header_t Head;
578 mach_msg_body_t msgh_body;
579 mach_msg_port_descriptor_t task;
580 } __RequestKData__vm_wire_t __attribute__((unused));
581#ifdef __MigPackStructs
582#pragma pack(pop)
583#endif
584/* Struct for pure user data */
585#ifdef __MigPackStructs
586#pragma pack(push, 4)
587#endif
588 typedef struct {
589 NDR_record_t NDR;
590 vm_address_t address;
591 vm_size_t size;
592 vm_prot_t desired_access;
593 char padding[0]; /* Avoid generating empty UData structs */
594 } __RequestUData__vm_wire_t __attribute__((unused));
595#ifdef __MigPackStructs
596#pragma pack(pop)
597#endif
598
599#ifdef __MigPackStructs
600#pragma pack(push, 4)
601#endif
602 typedef struct {
603 mach_msg_header_t Head;
604 /* start of the kernel processed data */
605 mach_msg_body_t msgh_body;
606 mach_msg_port_descriptor_t thread;
607 /* end of the kernel processed data */
608 NDR_record_t NDR;
609 boolean_t wired;
610 } __Request__thread_wire_t __attribute__((unused));
611#ifdef __MigPackStructs
612#pragma pack(pop)
613#endif
614/* Struct for kernel processed data (Header + Descriptors) */
615#ifdef __MigPackStructs
616#pragma pack(push, 4)
617#endif
618 typedef struct {
619 mach_msg_header_t Head;
620 mach_msg_body_t msgh_body;
621 mach_msg_port_descriptor_t thread;
622 } __RequestKData__thread_wire_t __attribute__((unused));
623#ifdef __MigPackStructs
624#pragma pack(pop)
625#endif
626/* Struct for pure user data */
627#ifdef __MigPackStructs
628#pragma pack(push, 4)
629#endif
630 typedef struct {
631 NDR_record_t NDR;
632 boolean_t wired;
633 char padding[0]; /* Avoid generating empty UData structs */
634 } __RequestUData__thread_wire_t __attribute__((unused));
635#ifdef __MigPackStructs
636#pragma pack(pop)
637#endif
638
639#ifdef __MigPackStructs
640#pragma pack(push, 4)
641#endif
642 typedef struct {
643 mach_msg_header_t Head;
644 /* start of the kernel processed data */
645 mach_msg_body_t msgh_body;
646 mach_msg_port_descriptor_t task;
647 /* end of the kernel processed data */
648 NDR_record_t NDR;
649 vm_address_t address;
650 vm_size_t size;
651 int flags;
652 } __Request__vm_allocate_cpm_t __attribute__((unused));
653#ifdef __MigPackStructs
654#pragma pack(pop)
655#endif
656/* Struct for kernel processed data (Header + Descriptors) */
657#ifdef __MigPackStructs
658#pragma pack(push, 4)
659#endif
660 typedef struct {
661 mach_msg_header_t Head;
662 mach_msg_body_t msgh_body;
663 mach_msg_port_descriptor_t task;
664 } __RequestKData__vm_allocate_cpm_t __attribute__((unused));
665#ifdef __MigPackStructs
666#pragma pack(pop)
667#endif
668/* Struct for pure user data */
669#ifdef __MigPackStructs
670#pragma pack(push, 4)
671#endif
672 typedef struct {
673 NDR_record_t NDR;
674 vm_address_t address;
675 vm_size_t size;
676 int flags;
677 char padding[0]; /* Avoid generating empty UData structs */
678 } __RequestUData__vm_allocate_cpm_t __attribute__((unused));
679#ifdef __MigPackStructs
680#pragma pack(pop)
681#endif
682
683#ifdef __MigPackStructs
684#pragma pack(push, 4)
685#endif
686 typedef struct {
687 mach_msg_header_t Head;
688 } __Request__host_processors_t __attribute__((unused));
689#ifdef __MigPackStructs
690#pragma pack(pop)
691#endif
692/* Struct for kernel processed data (Header + Descriptors) */
693#ifdef __MigPackStructs
694#pragma pack(push, 4)
695#endif
696 typedef struct {
697 mach_msg_header_t Head;
698 } __RequestKData__host_processors_t __attribute__((unused));
699#ifdef __MigPackStructs
700#pragma pack(pop)
701#endif
702/* Struct for pure user data */
703#ifdef __MigPackStructs
704#pragma pack(push, 4)
705#endif
706 typedef struct {
707 char padding[0]; /* Avoid generating empty UData structs */
708 } __RequestUData__host_processors_t __attribute__((unused));
709#ifdef __MigPackStructs
710#pragma pack(pop)
711#endif
712
713#ifdef __MigPackStructs
714#pragma pack(push, 4)
715#endif
716 typedef struct {
717 mach_msg_header_t Head;
718 NDR_record_t NDR;
719 int node;
720 int which;
721 } __Request__host_get_special_port_from_user_t __attribute__((unused));
722#ifdef __MigPackStructs
723#pragma pack(pop)
724#endif
725/* Struct for kernel processed data (Header + Descriptors) */
726#ifdef __MigPackStructs
727#pragma pack(push, 4)
728#endif
729 typedef struct {
730 mach_msg_header_t Head;
731 } __RequestKData__host_get_special_port_from_user_t __attribute__((unused));
732#ifdef __MigPackStructs
733#pragma pack(pop)
734#endif
735/* Struct for pure user data */
736#ifdef __MigPackStructs
737#pragma pack(push, 4)
738#endif
739 typedef struct {
740 NDR_record_t NDR;
741 int node;
742 int which;
743 char padding[0]; /* Avoid generating empty UData structs */
744 } __RequestUData__host_get_special_port_from_user_t __attribute__((unused));
745#ifdef __MigPackStructs
746#pragma pack(pop)
747#endif
748
749#ifdef __MigPackStructs
750#pragma pack(push, 4)
751#endif
752 typedef struct {
753 mach_msg_header_t Head;
754 /* start of the kernel processed data */
755 mach_msg_body_t msgh_body;
756 mach_msg_port_descriptor_t port;
757 /* end of the kernel processed data */
758 NDR_record_t NDR;
759 int which;
760 } __Request__host_set_special_port_from_user_t __attribute__((unused));
761#ifdef __MigPackStructs
762#pragma pack(pop)
763#endif
764/* Struct for kernel processed data (Header + Descriptors) */
765#ifdef __MigPackStructs
766#pragma pack(push, 4)
767#endif
768 typedef struct {
769 mach_msg_header_t Head;
770 mach_msg_body_t msgh_body;
771 mach_msg_port_descriptor_t port;
772 } __RequestKData__host_set_special_port_from_user_t __attribute__((unused));
773#ifdef __MigPackStructs
774#pragma pack(pop)
775#endif
776/* Struct for pure user data */
777#ifdef __MigPackStructs
778#pragma pack(push, 4)
779#endif
780 typedef struct {
781 NDR_record_t NDR;
782 int which;
783 char padding[0]; /* Avoid generating empty UData structs */
784 } __RequestUData__host_set_special_port_from_user_t __attribute__((unused));
785#ifdef __MigPackStructs
786#pragma pack(pop)
787#endif
788
789#ifdef __MigPackStructs
790#pragma pack(push, 4)
791#endif
792 typedef struct {
793 mach_msg_header_t Head;
794 /* start of the kernel processed data */
795 mach_msg_body_t msgh_body;
796 mach_msg_port_descriptor_t new_port;
797 /* end of the kernel processed data */
798 NDR_record_t NDR;
799 exception_mask_t exception_mask;
800 exception_behavior_t behavior;
801 thread_state_flavor_t new_flavor;
802 } __Request__host_set_exception_ports_t __attribute__((unused));
803#ifdef __MigPackStructs
804#pragma pack(pop)
805#endif
806/* Struct for kernel processed data (Header + Descriptors) */
807#ifdef __MigPackStructs
808#pragma pack(push, 4)
809#endif
810 typedef struct {
811 mach_msg_header_t Head;
812 mach_msg_body_t msgh_body;
813 mach_msg_port_descriptor_t new_port;
814 } __RequestKData__host_set_exception_ports_t __attribute__((unused));
815#ifdef __MigPackStructs
816#pragma pack(pop)
817#endif
818/* Struct for pure user data */
819#ifdef __MigPackStructs
820#pragma pack(push, 4)
821#endif
822 typedef struct {
823 NDR_record_t NDR;
824 exception_mask_t exception_mask;
825 exception_behavior_t behavior;
826 thread_state_flavor_t new_flavor;
827 char padding[0]; /* Avoid generating empty UData structs */
828 } __RequestUData__host_set_exception_ports_t __attribute__((unused));
829#ifdef __MigPackStructs
830#pragma pack(pop)
831#endif
832
833#ifdef __MigPackStructs
834#pragma pack(push, 4)
835#endif
836 typedef struct {
837 mach_msg_header_t Head;
838 NDR_record_t NDR;
839 exception_mask_t exception_mask;
840 } __Request__host_get_exception_ports_t __attribute__((unused));
841#ifdef __MigPackStructs
842#pragma pack(pop)
843#endif
844/* Struct for kernel processed data (Header + Descriptors) */
845#ifdef __MigPackStructs
846#pragma pack(push, 4)
847#endif
848 typedef struct {
849 mach_msg_header_t Head;
850 } __RequestKData__host_get_exception_ports_t __attribute__((unused));
851#ifdef __MigPackStructs
852#pragma pack(pop)
853#endif
854/* Struct for pure user data */
855#ifdef __MigPackStructs
856#pragma pack(push, 4)
857#endif
858 typedef struct {
859 NDR_record_t NDR;
860 exception_mask_t exception_mask;
861 char padding[0]; /* Avoid generating empty UData structs */
862 } __RequestUData__host_get_exception_ports_t __attribute__((unused));
863#ifdef __MigPackStructs
864#pragma pack(pop)
865#endif
866
867#ifdef __MigPackStructs
868#pragma pack(push, 4)
869#endif
870 typedef struct {
871 mach_msg_header_t Head;
872 /* start of the kernel processed data */
873 mach_msg_body_t msgh_body;
874 mach_msg_port_descriptor_t new_port;
875 /* end of the kernel processed data */
876 NDR_record_t NDR;
877 exception_mask_t exception_mask;
878 exception_behavior_t behavior;
879 thread_state_flavor_t new_flavor;
880 } __Request__host_swap_exception_ports_t __attribute__((unused));
881#ifdef __MigPackStructs
882#pragma pack(pop)
883#endif
884/* Struct for kernel processed data (Header + Descriptors) */
885#ifdef __MigPackStructs
886#pragma pack(push, 4)
887#endif
888 typedef struct {
889 mach_msg_header_t Head;
890 mach_msg_body_t msgh_body;
891 mach_msg_port_descriptor_t new_port;
892 } __RequestKData__host_swap_exception_ports_t __attribute__((unused));
893#ifdef __MigPackStructs
894#pragma pack(pop)
895#endif
896/* Struct for pure user data */
897#ifdef __MigPackStructs
898#pragma pack(push, 4)
899#endif
900 typedef struct {
901 NDR_record_t NDR;
902 exception_mask_t exception_mask;
903 exception_behavior_t behavior;
904 thread_state_flavor_t new_flavor;
905 char padding[0]; /* Avoid generating empty UData structs */
906 } __RequestUData__host_swap_exception_ports_t __attribute__((unused));
907#ifdef __MigPackStructs
908#pragma pack(pop)
909#endif
910
911#ifdef __MigPackStructs
912#pragma pack(push, 4)
913#endif
914 typedef struct {
915 mach_msg_header_t Head;
916 /* start of the kernel processed data */
917 mach_msg_body_t msgh_body;
918 mach_msg_port_descriptor_t task;
919 /* end of the kernel processed data */
920 NDR_record_t NDR;
921 mach_vm_address_t address;
922 mach_vm_size_t size;
923 vm_prot_t desired_access;
924 } __Request__mach_vm_wire_external_t __attribute__((unused));
925#ifdef __MigPackStructs
926#pragma pack(pop)
927#endif
928/* Struct for kernel processed data (Header + Descriptors) */
929#ifdef __MigPackStructs
930#pragma pack(push, 4)
931#endif
932 typedef struct {
933 mach_msg_header_t Head;
934 mach_msg_body_t msgh_body;
935 mach_msg_port_descriptor_t task;
936 } __RequestKData__mach_vm_wire_external_t __attribute__((unused));
937#ifdef __MigPackStructs
938#pragma pack(pop)
939#endif
940/* Struct for pure user data */
941#ifdef __MigPackStructs
942#pragma pack(push, 4)
943#endif
944 typedef struct {
945 NDR_record_t NDR;
946 mach_vm_address_t address;
947 mach_vm_size_t size;
948 vm_prot_t desired_access;
949 char padding[0]; /* Avoid generating empty UData structs */
950 } __RequestUData__mach_vm_wire_external_t __attribute__((unused));
951#ifdef __MigPackStructs
952#pragma pack(pop)
953#endif
954
955#ifdef __MigPackStructs
956#pragma pack(push, 4)
957#endif
958 typedef struct {
959 mach_msg_header_t Head;
960 } __Request__host_processor_sets_t __attribute__((unused));
961#ifdef __MigPackStructs
962#pragma pack(pop)
963#endif
964/* Struct for kernel processed data (Header + Descriptors) */
965#ifdef __MigPackStructs
966#pragma pack(push, 4)
967#endif
968 typedef struct {
969 mach_msg_header_t Head;
970 } __RequestKData__host_processor_sets_t __attribute__((unused));
971#ifdef __MigPackStructs
972#pragma pack(pop)
973#endif
974/* Struct for pure user data */
975#ifdef __MigPackStructs
976#pragma pack(push, 4)
977#endif
978 typedef struct {
979 char padding[0]; /* Avoid generating empty UData structs */
980 } __RequestUData__host_processor_sets_t __attribute__((unused));
981#ifdef __MigPackStructs
982#pragma pack(pop)
983#endif
984
985#ifdef __MigPackStructs
986#pragma pack(push, 4)
987#endif
988 typedef struct {
989 mach_msg_header_t Head;
990 /* start of the kernel processed data */
991 mach_msg_body_t msgh_body;
992 mach_msg_port_descriptor_t set_name;
993 /* end of the kernel processed data */
994 } __Request__host_processor_set_priv_t __attribute__((unused));
995#ifdef __MigPackStructs
996#pragma pack(pop)
997#endif
998/* Struct for kernel processed data (Header + Descriptors) */
999#ifdef __MigPackStructs
1000#pragma pack(push, 4)
1001#endif
1002 typedef struct {
1003 mach_msg_header_t Head;
1004 mach_msg_body_t msgh_body;
1005 mach_msg_port_descriptor_t set_name;
1006 } __RequestKData__host_processor_set_priv_t __attribute__((unused));
1007#ifdef __MigPackStructs
1008#pragma pack(pop)
1009#endif
1010/* Struct for pure user data */
1011#ifdef __MigPackStructs
1012#pragma pack(push, 4)
1013#endif
1014 typedef struct {
1015 char padding[0]; /* Avoid generating empty UData structs */
1016 } __RequestUData__host_processor_set_priv_t __attribute__((unused));
1017#ifdef __MigPackStructs
1018#pragma pack(pop)
1019#endif
1020
1021#ifdef __MigPackStructs
1022#pragma pack(push, 4)
1023#endif
1024 typedef struct {
1025 mach_msg_header_t Head;
1026 /* start of the kernel processed data */
1027 mach_msg_body_t msgh_body;
1028 mach_msg_port_descriptor_t server;
1029 /* end of the kernel processed data */
1030 } __Request__host_set_UNDServer_t __attribute__((unused));
1031#ifdef __MigPackStructs
1032#pragma pack(pop)
1033#endif
1034/* Struct for kernel processed data (Header + Descriptors) */
1035#ifdef __MigPackStructs
1036#pragma pack(push, 4)
1037#endif
1038 typedef struct {
1039 mach_msg_header_t Head;
1040 mach_msg_body_t msgh_body;
1041 mach_msg_port_descriptor_t server;
1042 } __RequestKData__host_set_UNDServer_t __attribute__((unused));
1043#ifdef __MigPackStructs
1044#pragma pack(pop)
1045#endif
1046/* Struct for pure user data */
1047#ifdef __MigPackStructs
1048#pragma pack(push, 4)
1049#endif
1050 typedef struct {
1051 char padding[0]; /* Avoid generating empty UData structs */
1052 } __RequestUData__host_set_UNDServer_t __attribute__((unused));
1053#ifdef __MigPackStructs
1054#pragma pack(pop)
1055#endif
1056
1057#ifdef __MigPackStructs
1058#pragma pack(push, 4)
1059#endif
1060 typedef struct {
1061 mach_msg_header_t Head;
1062 } __Request__host_get_UNDServer_t __attribute__((unused));
1063#ifdef __MigPackStructs
1064#pragma pack(pop)
1065#endif
1066/* Struct for kernel processed data (Header + Descriptors) */
1067#ifdef __MigPackStructs
1068#pragma pack(push, 4)
1069#endif
1070 typedef struct {
1071 mach_msg_header_t Head;
1072 } __RequestKData__host_get_UNDServer_t __attribute__((unused));
1073#ifdef __MigPackStructs
1074#pragma pack(pop)
1075#endif
1076/* Struct for pure user data */
1077#ifdef __MigPackStructs
1078#pragma pack(push, 4)
1079#endif
1080 typedef struct {
1081 char padding[0]; /* Avoid generating empty UData structs */
1082 } __RequestUData__host_get_UNDServer_t __attribute__((unused));
1083#ifdef __MigPackStructs
1084#pragma pack(pop)
1085#endif
1086
1087#ifdef __MigPackStructs
1088#pragma pack(push, 4)
1089#endif
1090 typedef struct {
1091 mach_msg_header_t Head;
1092 /* start of the kernel processed data */
1093 mach_msg_body_t msgh_body;
1094 mach_msg_ool_descriptor_t request_data;
1095 /* end of the kernel processed data */
1096 NDR_record_t NDR;
1097 uint32_t user_log_flags;
1098 mach_msg_type_number_t request_dataCnt;
1099 } __Request__kext_request_t __attribute__((unused));
1100#ifdef __MigPackStructs
1101#pragma pack(pop)
1102#endif
1103/* Struct for kernel processed data (Header + Descriptors) */
1104#ifdef __MigPackStructs
1105#pragma pack(push, 4)
1106#endif
1107 typedef struct {
1108 mach_msg_header_t Head;
1109 mach_msg_body_t msgh_body;
1110 mach_msg_ool_descriptor_t request_data;
1111 } __RequestKData__kext_request_t __attribute__((unused));
1112#ifdef __MigPackStructs
1113#pragma pack(pop)
1114#endif
1115/* Struct for pure user data */
1116#ifdef __MigPackStructs
1117#pragma pack(push, 4)
1118#endif
1119 typedef struct {
1120 NDR_record_t NDR;
1121 uint32_t user_log_flags;
1122 mach_msg_type_number_t request_dataCnt;
1123 char padding[0]; /* Avoid generating empty UData structs */
1124 } __RequestUData__kext_request_t __attribute__((unused));
1125#ifdef __MigPackStructs
1126#pragma pack(pop)
1127#endif
1128#endif /* !__Request__host_priv_subsystem__defined */
1129
1130
1131/* union of all requests */
1132
1133#ifndef __RequestUnion__host_priv_subsystem__defined
1134#define __RequestUnion__host_priv_subsystem__defined
1135union __RequestUnion__host_priv_subsystem {
1136 __Request__host_get_boot_info_t Request_host_get_boot_info;
1137 __Request__host_reboot_t Request_host_reboot;
1138 __Request__host_priv_statistics_t Request_host_priv_statistics;
1139 __Request__host_default_memory_manager_t Request_host_default_memory_manager;
1140 __Request__vm_wire_t Request_vm_wire;
1141 __Request__thread_wire_t Request_thread_wire;
1142 __Request__vm_allocate_cpm_t Request_vm_allocate_cpm;
1143 __Request__host_processors_t Request_host_processors;
1144 __Request__host_get_special_port_from_user_t Request_host_get_special_port_from_user;
1145 __Request__host_set_special_port_from_user_t Request_host_set_special_port_from_user;
1146 __Request__host_set_exception_ports_t Request_host_set_exception_ports;
1147 __Request__host_get_exception_ports_t Request_host_get_exception_ports;
1148 __Request__host_swap_exception_ports_t Request_host_swap_exception_ports;
1149 __Request__mach_vm_wire_external_t Request_mach_vm_wire_external;
1150 __Request__host_processor_sets_t Request_host_processor_sets;
1151 __Request__host_processor_set_priv_t Request_host_processor_set_priv;
1152 __Request__host_set_UNDServer_t Request_host_set_UNDServer;
1153 __Request__host_get_UNDServer_t Request_host_get_UNDServer;
1154 __Request__kext_request_t Request_kext_request;
1155};
1156#endif /* __RequestUnion__host_priv_subsystem__defined */
1157/* typedefs for all replies */
1158
1159#ifndef __Reply__host_priv_subsystem__defined
1160#define __Reply__host_priv_subsystem__defined
1161
1162#ifdef __MigPackStructs
1163#pragma pack(push, 4)
1164#endif
1165 typedef struct {
1166 mach_msg_header_t Head;
1167 NDR_record_t NDR;
1168 kern_return_t RetCode;
1169 mach_msg_type_number_t boot_infoOffset; /* MiG doesn't use it */
1170 mach_msg_type_number_t boot_infoCnt;
1171 char boot_info[4096];
1172 } __Reply__host_get_boot_info_t __attribute__((unused));
1173#ifdef __MigPackStructs
1174#pragma pack(pop)
1175#endif
1176/* Struct for kernel processed data (Header + Descriptors) */
1177#ifdef __MigPackStructs
1178#pragma pack(push, 4)
1179#endif
1180 typedef struct {
1181 mach_msg_header_t Head;
1182 } __ReplyKData__host_get_boot_info_t __attribute__((unused));
1183#ifdef __MigPackStructs
1184#pragma pack(pop)
1185#endif
1186/* Struct for pure user data */
1187#ifdef __MigPackStructs
1188#pragma pack(push, 4)
1189#endif
1190 typedef struct {
1191 NDR_record_t NDR;
1192 kern_return_t RetCode;
1193 mach_msg_type_number_t boot_infoOffset; /* MiG doesn't use it */
1194 mach_msg_type_number_t boot_infoCnt;
1195 char boot_info[4096];
1196 char padding[0]; /* Avoid generating empty UData structs */
1197 } __ReplyUData__host_get_boot_info_t __attribute__((unused));
1198#ifdef __MigPackStructs
1199#pragma pack(pop)
1200#endif
1201
1202#ifdef __MigPackStructs
1203#pragma pack(push, 4)
1204#endif
1205 typedef struct {
1206 mach_msg_header_t Head;
1207 NDR_record_t NDR;
1208 kern_return_t RetCode;
1209 } __Reply__host_reboot_t __attribute__((unused));
1210#ifdef __MigPackStructs
1211#pragma pack(pop)
1212#endif
1213/* Struct for kernel processed data (Header + Descriptors) */
1214#ifdef __MigPackStructs
1215#pragma pack(push, 4)
1216#endif
1217 typedef struct {
1218 mach_msg_header_t Head;
1219 } __ReplyKData__host_reboot_t __attribute__((unused));
1220#ifdef __MigPackStructs
1221#pragma pack(pop)
1222#endif
1223/* Struct for pure user data */
1224#ifdef __MigPackStructs
1225#pragma pack(push, 4)
1226#endif
1227 typedef struct {
1228 NDR_record_t NDR;
1229 kern_return_t RetCode;
1230 char padding[0]; /* Avoid generating empty UData structs */
1231 } __ReplyUData__host_reboot_t __attribute__((unused));
1232#ifdef __MigPackStructs
1233#pragma pack(pop)
1234#endif
1235
1236#ifdef __MigPackStructs
1237#pragma pack(push, 4)
1238#endif
1239 typedef struct {
1240 mach_msg_header_t Head;
1241 NDR_record_t NDR;
1242 kern_return_t RetCode;
1243 mach_msg_type_number_t host_info_outCnt;
1244 integer_t host_info_out[68];
1245 } __Reply__host_priv_statistics_t __attribute__((unused));
1246#ifdef __MigPackStructs
1247#pragma pack(pop)
1248#endif
1249/* Struct for kernel processed data (Header + Descriptors) */
1250#ifdef __MigPackStructs
1251#pragma pack(push, 4)
1252#endif
1253 typedef struct {
1254 mach_msg_header_t Head;
1255 } __ReplyKData__host_priv_statistics_t __attribute__((unused));
1256#ifdef __MigPackStructs
1257#pragma pack(pop)
1258#endif
1259/* Struct for pure user data */
1260#ifdef __MigPackStructs
1261#pragma pack(push, 4)
1262#endif
1263 typedef struct {
1264 NDR_record_t NDR;
1265 kern_return_t RetCode;
1266 mach_msg_type_number_t host_info_outCnt;
1267 integer_t host_info_out[68];
1268 char padding[0]; /* Avoid generating empty UData structs */
1269 } __ReplyUData__host_priv_statistics_t __attribute__((unused));
1270#ifdef __MigPackStructs
1271#pragma pack(pop)
1272#endif
1273
1274#ifdef __MigPackStructs
1275#pragma pack(push, 4)
1276#endif
1277 typedef struct {
1278 mach_msg_header_t Head;
1279 /* start of the kernel processed data */
1280 mach_msg_body_t msgh_body;
1281 mach_msg_port_descriptor_t default_manager;
1282 /* end of the kernel processed data */
1283 } __Reply__host_default_memory_manager_t __attribute__((unused));
1284#ifdef __MigPackStructs
1285#pragma pack(pop)
1286#endif
1287/* Struct for kernel processed data (Header + Descriptors) */
1288#ifdef __MigPackStructs
1289#pragma pack(push, 4)
1290#endif
1291 typedef struct {
1292 mach_msg_header_t Head;
1293 mach_msg_body_t msgh_body;
1294 mach_msg_port_descriptor_t default_manager;
1295 } __ReplyKData__host_default_memory_manager_t __attribute__((unused));
1296#ifdef __MigPackStructs
1297#pragma pack(pop)
1298#endif
1299/* Struct for pure user data */
1300#ifdef __MigPackStructs
1301#pragma pack(push, 4)
1302#endif
1303 typedef struct {
1304 char padding[0]; /* Avoid generating empty UData structs */
1305 } __ReplyUData__host_default_memory_manager_t __attribute__((unused));
1306#ifdef __MigPackStructs
1307#pragma pack(pop)
1308#endif
1309
1310#ifdef __MigPackStructs
1311#pragma pack(push, 4)
1312#endif
1313 typedef struct {
1314 mach_msg_header_t Head;
1315 NDR_record_t NDR;
1316 kern_return_t RetCode;
1317 } __Reply__vm_wire_t __attribute__((unused));
1318#ifdef __MigPackStructs
1319#pragma pack(pop)
1320#endif
1321/* Struct for kernel processed data (Header + Descriptors) */
1322#ifdef __MigPackStructs
1323#pragma pack(push, 4)
1324#endif
1325 typedef struct {
1326 mach_msg_header_t Head;
1327 } __ReplyKData__vm_wire_t __attribute__((unused));
1328#ifdef __MigPackStructs
1329#pragma pack(pop)
1330#endif
1331/* Struct for pure user data */
1332#ifdef __MigPackStructs
1333#pragma pack(push, 4)
1334#endif
1335 typedef struct {
1336 NDR_record_t NDR;
1337 kern_return_t RetCode;
1338 char padding[0]; /* Avoid generating empty UData structs */
1339 } __ReplyUData__vm_wire_t __attribute__((unused));
1340#ifdef __MigPackStructs
1341#pragma pack(pop)
1342#endif
1343
1344#ifdef __MigPackStructs
1345#pragma pack(push, 4)
1346#endif
1347 typedef struct {
1348 mach_msg_header_t Head;
1349 NDR_record_t NDR;
1350 kern_return_t RetCode;
1351 } __Reply__thread_wire_t __attribute__((unused));
1352#ifdef __MigPackStructs
1353#pragma pack(pop)
1354#endif
1355/* Struct for kernel processed data (Header + Descriptors) */
1356#ifdef __MigPackStructs
1357#pragma pack(push, 4)
1358#endif
1359 typedef struct {
1360 mach_msg_header_t Head;
1361 } __ReplyKData__thread_wire_t __attribute__((unused));
1362#ifdef __MigPackStructs
1363#pragma pack(pop)
1364#endif
1365/* Struct for pure user data */
1366#ifdef __MigPackStructs
1367#pragma pack(push, 4)
1368#endif
1369 typedef struct {
1370 NDR_record_t NDR;
1371 kern_return_t RetCode;
1372 char padding[0]; /* Avoid generating empty UData structs */
1373 } __ReplyUData__thread_wire_t __attribute__((unused));
1374#ifdef __MigPackStructs
1375#pragma pack(pop)
1376#endif
1377
1378#ifdef __MigPackStructs
1379#pragma pack(push, 4)
1380#endif
1381 typedef struct {
1382 mach_msg_header_t Head;
1383 NDR_record_t NDR;
1384 kern_return_t RetCode;
1385 vm_address_t address;
1386 } __Reply__vm_allocate_cpm_t __attribute__((unused));
1387#ifdef __MigPackStructs
1388#pragma pack(pop)
1389#endif
1390/* Struct for kernel processed data (Header + Descriptors) */
1391#ifdef __MigPackStructs
1392#pragma pack(push, 4)
1393#endif
1394 typedef struct {
1395 mach_msg_header_t Head;
1396 } __ReplyKData__vm_allocate_cpm_t __attribute__((unused));
1397#ifdef __MigPackStructs
1398#pragma pack(pop)
1399#endif
1400/* Struct for pure user data */
1401#ifdef __MigPackStructs
1402#pragma pack(push, 4)
1403#endif
1404 typedef struct {
1405 NDR_record_t NDR;
1406 kern_return_t RetCode;
1407 vm_address_t address;
1408 char padding[0]; /* Avoid generating empty UData structs */
1409 } __ReplyUData__vm_allocate_cpm_t __attribute__((unused));
1410#ifdef __MigPackStructs
1411#pragma pack(pop)
1412#endif
1413
1414#ifdef __MigPackStructs
1415#pragma pack(push, 4)
1416#endif
1417 typedef struct {
1418 mach_msg_header_t Head;
1419 /* start of the kernel processed data */
1420 mach_msg_body_t msgh_body;
1421 mach_msg_ool_ports_descriptor_t out_processor_list;
1422 /* end of the kernel processed data */
1423 NDR_record_t NDR;
1424 mach_msg_type_number_t out_processor_listCnt;
1425 } __Reply__host_processors_t __attribute__((unused));
1426#ifdef __MigPackStructs
1427#pragma pack(pop)
1428#endif
1429/* Struct for kernel processed data (Header + Descriptors) */
1430#ifdef __MigPackStructs
1431#pragma pack(push, 4)
1432#endif
1433 typedef struct {
1434 mach_msg_header_t Head;
1435 mach_msg_body_t msgh_body;
1436 mach_msg_ool_ports_descriptor_t out_processor_list;
1437 } __ReplyKData__host_processors_t __attribute__((unused));
1438#ifdef __MigPackStructs
1439#pragma pack(pop)
1440#endif
1441/* Struct for pure user data */
1442#ifdef __MigPackStructs
1443#pragma pack(push, 4)
1444#endif
1445 typedef struct {
1446 NDR_record_t NDR;
1447 mach_msg_type_number_t out_processor_listCnt;
1448 char padding[0]; /* Avoid generating empty UData structs */
1449 } __ReplyUData__host_processors_t __attribute__((unused));
1450#ifdef __MigPackStructs
1451#pragma pack(pop)
1452#endif
1453
1454#ifdef __MigPackStructs
1455#pragma pack(push, 4)
1456#endif
1457 typedef struct {
1458 mach_msg_header_t Head;
1459 /* start of the kernel processed data */
1460 mach_msg_body_t msgh_body;
1461 mach_msg_port_descriptor_t port;
1462 /* end of the kernel processed data */
1463 } __Reply__host_get_special_port_from_user_t __attribute__((unused));
1464#ifdef __MigPackStructs
1465#pragma pack(pop)
1466#endif
1467/* Struct for kernel processed data (Header + Descriptors) */
1468#ifdef __MigPackStructs
1469#pragma pack(push, 4)
1470#endif
1471 typedef struct {
1472 mach_msg_header_t Head;
1473 mach_msg_body_t msgh_body;
1474 mach_msg_port_descriptor_t port;
1475 } __ReplyKData__host_get_special_port_from_user_t __attribute__((unused));
1476#ifdef __MigPackStructs
1477#pragma pack(pop)
1478#endif
1479/* Struct for pure user data */
1480#ifdef __MigPackStructs
1481#pragma pack(push, 4)
1482#endif
1483 typedef struct {
1484 char padding[0]; /* Avoid generating empty UData structs */
1485 } __ReplyUData__host_get_special_port_from_user_t __attribute__((unused));
1486#ifdef __MigPackStructs
1487#pragma pack(pop)
1488#endif
1489
1490#ifdef __MigPackStructs
1491#pragma pack(push, 4)
1492#endif
1493 typedef struct {
1494 mach_msg_header_t Head;
1495 NDR_record_t NDR;
1496 kern_return_t RetCode;
1497 } __Reply__host_set_special_port_from_user_t __attribute__((unused));
1498#ifdef __MigPackStructs
1499#pragma pack(pop)
1500#endif
1501/* Struct for kernel processed data (Header + Descriptors) */
1502#ifdef __MigPackStructs
1503#pragma pack(push, 4)
1504#endif
1505 typedef struct {
1506 mach_msg_header_t Head;
1507 } __ReplyKData__host_set_special_port_from_user_t __attribute__((unused));
1508#ifdef __MigPackStructs
1509#pragma pack(pop)
1510#endif
1511/* Struct for pure user data */
1512#ifdef __MigPackStructs
1513#pragma pack(push, 4)
1514#endif
1515 typedef struct {
1516 NDR_record_t NDR;
1517 kern_return_t RetCode;
1518 char padding[0]; /* Avoid generating empty UData structs */
1519 } __ReplyUData__host_set_special_port_from_user_t __attribute__((unused));
1520#ifdef __MigPackStructs
1521#pragma pack(pop)
1522#endif
1523
1524#ifdef __MigPackStructs
1525#pragma pack(push, 4)
1526#endif
1527 typedef struct {
1528 mach_msg_header_t Head;
1529 NDR_record_t NDR;
1530 kern_return_t RetCode;
1531 } __Reply__host_set_exception_ports_t __attribute__((unused));
1532#ifdef __MigPackStructs
1533#pragma pack(pop)
1534#endif
1535/* Struct for kernel processed data (Header + Descriptors) */
1536#ifdef __MigPackStructs
1537#pragma pack(push, 4)
1538#endif
1539 typedef struct {
1540 mach_msg_header_t Head;
1541 } __ReplyKData__host_set_exception_ports_t __attribute__((unused));
1542#ifdef __MigPackStructs
1543#pragma pack(pop)
1544#endif
1545/* Struct for pure user data */
1546#ifdef __MigPackStructs
1547#pragma pack(push, 4)
1548#endif
1549 typedef struct {
1550 NDR_record_t NDR;
1551 kern_return_t RetCode;
1552 char padding[0]; /* Avoid generating empty UData structs */
1553 } __ReplyUData__host_set_exception_ports_t __attribute__((unused));
1554#ifdef __MigPackStructs
1555#pragma pack(pop)
1556#endif
1557
1558#ifdef __MigPackStructs
1559#pragma pack(push, 4)
1560#endif
1561 typedef struct {
1562 mach_msg_header_t Head;
1563 /* start of the kernel processed data */
1564 mach_msg_body_t msgh_body;
1565 mach_msg_port_descriptor_t old_handlers[32];
1566 /* end of the kernel processed data */
1567 NDR_record_t NDR;
1568 mach_msg_type_number_t masksCnt;
1569 exception_mask_t masks[32];
1570 exception_behavior_t old_behaviors[32];
1571 thread_state_flavor_t old_flavors[32];
1572 } __Reply__host_get_exception_ports_t __attribute__((unused));
1573#ifdef __MigPackStructs
1574#pragma pack(pop)
1575#endif
1576/* Struct for kernel processed data (Header + Descriptors) */
1577#ifdef __MigPackStructs
1578#pragma pack(push, 4)
1579#endif
1580 typedef struct {
1581 mach_msg_header_t Head;
1582 mach_msg_body_t msgh_body;
1583 mach_msg_port_descriptor_t old_handlers[32];
1584 } __ReplyKData__host_get_exception_ports_t __attribute__((unused));
1585#ifdef __MigPackStructs
1586#pragma pack(pop)
1587#endif
1588/* Struct for pure user data */
1589#ifdef __MigPackStructs
1590#pragma pack(push, 4)
1591#endif
1592 typedef struct {
1593 NDR_record_t NDR;
1594 mach_msg_type_number_t masksCnt;
1595 exception_mask_t masks[32];
1596 exception_behavior_t old_behaviors[32];
1597 thread_state_flavor_t old_flavors[32];
1598 char padding[0]; /* Avoid generating empty UData structs */
1599 } __ReplyUData__host_get_exception_ports_t __attribute__((unused));
1600#ifdef __MigPackStructs
1601#pragma pack(pop)
1602#endif
1603
1604#ifdef __MigPackStructs
1605#pragma pack(push, 4)
1606#endif
1607 typedef struct {
1608 mach_msg_header_t Head;
1609 /* start of the kernel processed data */
1610 mach_msg_body_t msgh_body;
1611 mach_msg_port_descriptor_t old_handlerss[32];
1612 /* end of the kernel processed data */
1613 NDR_record_t NDR;
1614 mach_msg_type_number_t masksCnt;
1615 exception_mask_t masks[32];
1616 exception_behavior_t old_behaviors[32];
1617 thread_state_flavor_t old_flavors[32];
1618 } __Reply__host_swap_exception_ports_t __attribute__((unused));
1619#ifdef __MigPackStructs
1620#pragma pack(pop)
1621#endif
1622/* Struct for kernel processed data (Header + Descriptors) */
1623#ifdef __MigPackStructs
1624#pragma pack(push, 4)
1625#endif
1626 typedef struct {
1627 mach_msg_header_t Head;
1628 mach_msg_body_t msgh_body;
1629 mach_msg_port_descriptor_t old_handlerss[32];
1630 } __ReplyKData__host_swap_exception_ports_t __attribute__((unused));
1631#ifdef __MigPackStructs
1632#pragma pack(pop)
1633#endif
1634/* Struct for pure user data */
1635#ifdef __MigPackStructs
1636#pragma pack(push, 4)
1637#endif
1638 typedef struct {
1639 NDR_record_t NDR;
1640 mach_msg_type_number_t masksCnt;
1641 exception_mask_t masks[32];
1642 exception_behavior_t old_behaviors[32];
1643 thread_state_flavor_t old_flavors[32];
1644 char padding[0]; /* Avoid generating empty UData structs */
1645 } __ReplyUData__host_swap_exception_ports_t __attribute__((unused));
1646#ifdef __MigPackStructs
1647#pragma pack(pop)
1648#endif
1649
1650#ifdef __MigPackStructs
1651#pragma pack(push, 4)
1652#endif
1653 typedef struct {
1654 mach_msg_header_t Head;
1655 NDR_record_t NDR;
1656 kern_return_t RetCode;
1657 } __Reply__mach_vm_wire_external_t __attribute__((unused));
1658#ifdef __MigPackStructs
1659#pragma pack(pop)
1660#endif
1661/* Struct for kernel processed data (Header + Descriptors) */
1662#ifdef __MigPackStructs
1663#pragma pack(push, 4)
1664#endif
1665 typedef struct {
1666 mach_msg_header_t Head;
1667 } __ReplyKData__mach_vm_wire_external_t __attribute__((unused));
1668#ifdef __MigPackStructs
1669#pragma pack(pop)
1670#endif
1671/* Struct for pure user data */
1672#ifdef __MigPackStructs
1673#pragma pack(push, 4)
1674#endif
1675 typedef struct {
1676 NDR_record_t NDR;
1677 kern_return_t RetCode;
1678 char padding[0]; /* Avoid generating empty UData structs */
1679 } __ReplyUData__mach_vm_wire_external_t __attribute__((unused));
1680#ifdef __MigPackStructs
1681#pragma pack(pop)
1682#endif
1683
1684#ifdef __MigPackStructs
1685#pragma pack(push, 4)
1686#endif
1687 typedef struct {
1688 mach_msg_header_t Head;
1689 /* start of the kernel processed data */
1690 mach_msg_body_t msgh_body;
1691 mach_msg_ool_ports_descriptor_t processor_sets;
1692 /* end of the kernel processed data */
1693 NDR_record_t NDR;
1694 mach_msg_type_number_t processor_setsCnt;
1695 } __Reply__host_processor_sets_t __attribute__((unused));
1696#ifdef __MigPackStructs
1697#pragma pack(pop)
1698#endif
1699/* Struct for kernel processed data (Header + Descriptors) */
1700#ifdef __MigPackStructs
1701#pragma pack(push, 4)
1702#endif
1703 typedef struct {
1704 mach_msg_header_t Head;
1705 mach_msg_body_t msgh_body;
1706 mach_msg_ool_ports_descriptor_t processor_sets;
1707 } __ReplyKData__host_processor_sets_t __attribute__((unused));
1708#ifdef __MigPackStructs
1709#pragma pack(pop)
1710#endif
1711/* Struct for pure user data */
1712#ifdef __MigPackStructs
1713#pragma pack(push, 4)
1714#endif
1715 typedef struct {
1716 NDR_record_t NDR;
1717 mach_msg_type_number_t processor_setsCnt;
1718 char padding[0]; /* Avoid generating empty UData structs */
1719 } __ReplyUData__host_processor_sets_t __attribute__((unused));
1720#ifdef __MigPackStructs
1721#pragma pack(pop)
1722#endif
1723
1724#ifdef __MigPackStructs
1725#pragma pack(push, 4)
1726#endif
1727 typedef struct {
1728 mach_msg_header_t Head;
1729 /* start of the kernel processed data */
1730 mach_msg_body_t msgh_body;
1731 mach_msg_port_descriptor_t set;
1732 /* end of the kernel processed data */
1733 } __Reply__host_processor_set_priv_t __attribute__((unused));
1734#ifdef __MigPackStructs
1735#pragma pack(pop)
1736#endif
1737/* Struct for kernel processed data (Header + Descriptors) */
1738#ifdef __MigPackStructs
1739#pragma pack(push, 4)
1740#endif
1741 typedef struct {
1742 mach_msg_header_t Head;
1743 mach_msg_body_t msgh_body;
1744 mach_msg_port_descriptor_t set;
1745 } __ReplyKData__host_processor_set_priv_t __attribute__((unused));
1746#ifdef __MigPackStructs
1747#pragma pack(pop)
1748#endif
1749/* Struct for pure user data */
1750#ifdef __MigPackStructs
1751#pragma pack(push, 4)
1752#endif
1753 typedef struct {
1754 char padding[0]; /* Avoid generating empty UData structs */
1755 } __ReplyUData__host_processor_set_priv_t __attribute__((unused));
1756#ifdef __MigPackStructs
1757#pragma pack(pop)
1758#endif
1759
1760#ifdef __MigPackStructs
1761#pragma pack(push, 4)
1762#endif
1763 typedef struct {
1764 mach_msg_header_t Head;
1765 NDR_record_t NDR;
1766 kern_return_t RetCode;
1767 } __Reply__host_set_UNDServer_t __attribute__((unused));
1768#ifdef __MigPackStructs
1769#pragma pack(pop)
1770#endif
1771/* Struct for kernel processed data (Header + Descriptors) */
1772#ifdef __MigPackStructs
1773#pragma pack(push, 4)
1774#endif
1775 typedef struct {
1776 mach_msg_header_t Head;
1777 } __ReplyKData__host_set_UNDServer_t __attribute__((unused));
1778#ifdef __MigPackStructs
1779#pragma pack(pop)
1780#endif
1781/* Struct for pure user data */
1782#ifdef __MigPackStructs
1783#pragma pack(push, 4)
1784#endif
1785 typedef struct {
1786 NDR_record_t NDR;
1787 kern_return_t RetCode;
1788 char padding[0]; /* Avoid generating empty UData structs */
1789 } __ReplyUData__host_set_UNDServer_t __attribute__((unused));
1790#ifdef __MigPackStructs
1791#pragma pack(pop)
1792#endif
1793
1794#ifdef __MigPackStructs
1795#pragma pack(push, 4)
1796#endif
1797 typedef struct {
1798 mach_msg_header_t Head;
1799 /* start of the kernel processed data */
1800 mach_msg_body_t msgh_body;
1801 mach_msg_port_descriptor_t server;
1802 /* end of the kernel processed data */
1803 } __Reply__host_get_UNDServer_t __attribute__((unused));
1804#ifdef __MigPackStructs
1805#pragma pack(pop)
1806#endif
1807/* Struct for kernel processed data (Header + Descriptors) */
1808#ifdef __MigPackStructs
1809#pragma pack(push, 4)
1810#endif
1811 typedef struct {
1812 mach_msg_header_t Head;
1813 mach_msg_body_t msgh_body;
1814 mach_msg_port_descriptor_t server;
1815 } __ReplyKData__host_get_UNDServer_t __attribute__((unused));
1816#ifdef __MigPackStructs
1817#pragma pack(pop)
1818#endif
1819/* Struct for pure user data */
1820#ifdef __MigPackStructs
1821#pragma pack(push, 4)
1822#endif
1823 typedef struct {
1824 char padding[0]; /* Avoid generating empty UData structs */
1825 } __ReplyUData__host_get_UNDServer_t __attribute__((unused));
1826#ifdef __MigPackStructs
1827#pragma pack(pop)
1828#endif
1829
1830#ifdef __MigPackStructs
1831#pragma pack(push, 4)
1832#endif
1833 typedef struct {
1834 mach_msg_header_t Head;
1835 /* start of the kernel processed data */
1836 mach_msg_body_t msgh_body;
1837 mach_msg_ool_descriptor_t response_data;
1838 mach_msg_ool_descriptor_t log_data;
1839 /* end of the kernel processed data */
1840 NDR_record_t NDR;
1841 mach_msg_type_number_t response_dataCnt;
1842 mach_msg_type_number_t log_dataCnt;
1843 kern_return_t op_result;
1844 } __Reply__kext_request_t __attribute__((unused));
1845#ifdef __MigPackStructs
1846#pragma pack(pop)
1847#endif
1848/* Struct for kernel processed data (Header + Descriptors) */
1849#ifdef __MigPackStructs
1850#pragma pack(push, 4)
1851#endif
1852 typedef struct {
1853 mach_msg_header_t Head;
1854 mach_msg_body_t msgh_body;
1855 mach_msg_ool_descriptor_t response_data;
1856 mach_msg_ool_descriptor_t log_data;
1857 } __ReplyKData__kext_request_t __attribute__((unused));
1858#ifdef __MigPackStructs
1859#pragma pack(pop)
1860#endif
1861/* Struct for pure user data */
1862#ifdef __MigPackStructs
1863#pragma pack(push, 4)
1864#endif
1865 typedef struct {
1866 NDR_record_t NDR;
1867 mach_msg_type_number_t response_dataCnt;
1868 mach_msg_type_number_t log_dataCnt;
1869 kern_return_t op_result;
1870 char padding[0]; /* Avoid generating empty UData structs */
1871 } __ReplyUData__kext_request_t __attribute__((unused));
1872#ifdef __MigPackStructs
1873#pragma pack(pop)
1874#endif
1875#endif /* !__Reply__host_priv_subsystem__defined */
1876
1877
1878/* union of all replies */
1879
1880#ifndef __ReplyUnion__host_priv_subsystem__defined
1881#define __ReplyUnion__host_priv_subsystem__defined
1882union __ReplyUnion__host_priv_subsystem {
1883 __Reply__host_get_boot_info_t Reply_host_get_boot_info;
1884 __Reply__host_reboot_t Reply_host_reboot;
1885 __Reply__host_priv_statistics_t Reply_host_priv_statistics;
1886 __Reply__host_default_memory_manager_t Reply_host_default_memory_manager;
1887 __Reply__vm_wire_t Reply_vm_wire;
1888 __Reply__thread_wire_t Reply_thread_wire;
1889 __Reply__vm_allocate_cpm_t Reply_vm_allocate_cpm;
1890 __Reply__host_processors_t Reply_host_processors;
1891 __Reply__host_get_special_port_from_user_t Reply_host_get_special_port_from_user;
1892 __Reply__host_set_special_port_from_user_t Reply_host_set_special_port_from_user;
1893 __Reply__host_set_exception_ports_t Reply_host_set_exception_ports;
1894 __Reply__host_get_exception_ports_t Reply_host_get_exception_ports;
1895 __Reply__host_swap_exception_ports_t Reply_host_swap_exception_ports;
1896 __Reply__mach_vm_wire_external_t Reply_mach_vm_wire_external;
1897 __Reply__host_processor_sets_t Reply_host_processor_sets;
1898 __Reply__host_processor_set_priv_t Reply_host_processor_set_priv;
1899 __Reply__host_set_UNDServer_t Reply_host_set_UNDServer;
1900 __Reply__host_get_UNDServer_t Reply_host_get_UNDServer;
1901 __Reply__kext_request_t Reply_kext_request;
1902};
1903#endif /* __ReplyUnion__host_priv_subsystem__defined */
1904
1905#ifndef subsystem_to_name_map_host_priv
1906#define subsystem_to_name_map_host_priv \
1907 { "host_get_boot_info", 400 },\
1908 { "host_reboot", 401 },\
1909 { "host_priv_statistics", 402 },\
1910 { "host_default_memory_manager", 403 },\
1911 { "vm_wire", 404 },\
1912 { "thread_wire", 405 },\
1913 { "vm_allocate_cpm", 406 },\
1914 { "host_processors", 407 },\
1915 { "host_get_special_port_from_user", 412 },\
1916 { "host_set_special_port_from_user", 413 },\
1917 { "host_set_exception_ports", 414 },\
1918 { "host_get_exception_ports", 415 },\
1919 { "host_swap_exception_ports", 416 },\
1920 { "mach_vm_wire_external", 418 },\
1921 { "host_processor_sets", 419 },\
1922 { "host_processor_set_priv", 420 },\
1923 { "host_set_UNDServer", 423 },\
1924 { "host_get_UNDServer", 424 },\
1925 { "kext_request", 425 }
1926#endif
1927
1928#ifdef __AfterMigServerHeader
1929__AfterMigServerHeader
1930#endif /* __AfterMigServerHeader */
1931
1932#endif /* _host_priv_server_ */
1933