master
1#ifndef _mach_host_user_
2#define _mach_host_user_
3
4/* Module mach_host */
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 mach_host_MSG_COUNT
55#define mach_host_MSG_COUNT 35
56#endif /* mach_host_MSG_COUNT */
57
58#include <Availability.h>
59#include <mach/std_types.h>
60#include <mach/mig.h>
61#include <mach/mig.h>
62#include <mach/mach_types.h>
63#include <mach/mach_types.h>
64#include <mach_debug/mach_debug_types.h>
65#include <mach/mach_init.h>
66
67#ifdef __BeforeMigUserHeader
68__BeforeMigUserHeader
69#endif /* __BeforeMigUserHeader */
70
71#include <sys/cdefs.h>
72__BEGIN_DECLS
73
74
75/* Routine host_info */
76#ifdef mig_external
77mig_external
78#else
79extern
80#endif /* mig_external */
81__TVOS_PROHIBITED __WATCHOS_PROHIBITED
82kern_return_t host_info
83(
84 host_t host,
85 host_flavor_t flavor,
86 host_info_t host_info_out,
87 mach_msg_type_number_t *host_info_outCnt
88);
89
90/* Routine host_kernel_version */
91#ifdef mig_external
92mig_external
93#else
94extern
95#endif /* mig_external */
96kern_return_t host_kernel_version
97(
98 host_t host,
99 kernel_version_t kernel_version
100);
101
102/* Routine _host_page_size */
103#ifdef mig_external
104mig_external
105#else
106extern
107#endif /* mig_external */
108kern_return_t _host_page_size
109(
110 host_t host,
111 vm_size_t *out_page_size
112);
113
114/* Routine mach_memory_object_memory_entry */
115#ifdef mig_external
116mig_external
117#else
118extern
119#endif /* mig_external */
120kern_return_t mach_memory_object_memory_entry
121(
122 host_t host,
123 boolean_t internal,
124 vm_size_t size,
125 vm_prot_t permission,
126 memory_object_t pager,
127 mach_port_t *entry_handle
128);
129
130/* Routine host_processor_info */
131#ifdef mig_external
132mig_external
133#else
134extern
135#endif /* mig_external */
136kern_return_t host_processor_info
137(
138 host_t host,
139 processor_flavor_t flavor,
140 natural_t *out_processor_count,
141 processor_info_array_t *out_processor_info,
142 mach_msg_type_number_t *out_processor_infoCnt
143);
144
145/* Routine host_get_io_main */
146#ifdef mig_external
147mig_external
148#else
149extern
150#endif /* mig_external */
151kern_return_t host_get_io_main
152(
153 host_t host,
154 io_main_t *io_main
155);
156
157/* Routine host_get_clock_service */
158#ifdef mig_external
159mig_external
160#else
161extern
162#endif /* mig_external */
163kern_return_t host_get_clock_service
164(
165 host_t host,
166 clock_id_t clock_id,
167 clock_serv_t *clock_serv
168);
169
170/* Routine kmod_get_info */
171#ifdef mig_external
172mig_external
173#else
174extern
175#endif /* mig_external */
176kern_return_t kmod_get_info
177(
178 host_t host,
179 kmod_args_t *modules,
180 mach_msg_type_number_t *modulesCnt
181);
182
183/* Routine host_virtual_physical_table_info */
184#ifdef mig_external
185mig_external
186#else
187extern
188#endif /* mig_external */
189kern_return_t host_virtual_physical_table_info
190(
191 host_t host,
192 hash_info_bucket_array_t *info,
193 mach_msg_type_number_t *infoCnt
194);
195
196/* Routine processor_set_default */
197#ifdef mig_external
198mig_external
199#else
200extern
201#endif /* mig_external */
202kern_return_t processor_set_default
203(
204 host_t host,
205 processor_set_name_t *default_set
206);
207
208/* Routine processor_set_create */
209#ifdef mig_external
210mig_external
211#else
212extern
213#endif /* mig_external */
214kern_return_t processor_set_create
215(
216 host_t host,
217 processor_set_t *new_set,
218 processor_set_name_t *new_name
219);
220
221/* Routine mach_memory_object_memory_entry_64 */
222#ifdef mig_external
223mig_external
224#else
225extern
226#endif /* mig_external */
227kern_return_t mach_memory_object_memory_entry_64
228(
229 host_t host,
230 boolean_t internal,
231 memory_object_size_t size,
232 vm_prot_t permission,
233 memory_object_t pager,
234 mach_port_t *entry_handle
235);
236
237/* Routine host_statistics */
238#ifdef mig_external
239mig_external
240#else
241extern
242#endif /* mig_external */
243kern_return_t host_statistics
244(
245 host_t host_priv,
246 host_flavor_t flavor,
247 host_info_t host_info_out,
248 mach_msg_type_number_t *host_info_outCnt
249);
250
251/* Routine host_request_notification */
252#ifdef mig_external
253mig_external
254#else
255extern
256#endif /* mig_external */
257__TVOS_PROHIBITED __WATCHOS_PROHIBITED
258kern_return_t host_request_notification
259(
260 host_t host,
261 host_flavor_t notify_type,
262 mach_port_t notify_port
263);
264
265/* Routine host_lockgroup_info */
266#ifdef mig_external
267mig_external
268#else
269extern
270#endif /* mig_external */
271kern_return_t host_lockgroup_info
272(
273 host_t host,
274 lockgroup_info_array_t *lockgroup_info,
275 mach_msg_type_number_t *lockgroup_infoCnt
276);
277
278/* Routine host_statistics64 */
279#ifdef mig_external
280mig_external
281#else
282extern
283#endif /* mig_external */
284kern_return_t host_statistics64
285(
286 host_t host_priv,
287 host_flavor_t flavor,
288 host_info64_t host_info64_out,
289 mach_msg_type_number_t *host_info64_outCnt
290);
291
292/* Routine mach_zone_info */
293#ifdef mig_external
294mig_external
295#else
296extern
297#endif /* mig_external */
298kern_return_t mach_zone_info
299(
300 mach_port_t host,
301 mach_zone_name_array_t *names,
302 mach_msg_type_number_t *namesCnt,
303 mach_zone_info_array_t *info,
304 mach_msg_type_number_t *infoCnt
305);
306
307/* Routine host_create_mach_voucher */
308#ifdef mig_external
309mig_external
310#else
311extern
312#endif /* mig_external */
313__TVOS_PROHIBITED __WATCHOS_PROHIBITED
314kern_return_t host_create_mach_voucher
315(
316 host_t host,
317 mach_voucher_attr_raw_recipe_array_t recipes,
318 mach_msg_type_number_t recipesCnt,
319 ipc_voucher_t *voucher
320);
321
322/* Routine host_register_mach_voucher_attr_manager */
323#ifdef mig_external
324mig_external
325#else
326extern
327#endif /* mig_external */
328__TVOS_PROHIBITED __WATCHOS_PROHIBITED
329kern_return_t host_register_mach_voucher_attr_manager
330(
331 host_t host,
332 mach_voucher_attr_manager_t attr_manager,
333 mach_voucher_attr_value_handle_t default_value,
334 mach_voucher_attr_key_t *new_key,
335 ipc_voucher_attr_control_t *new_attr_control
336);
337
338/* Routine host_register_well_known_mach_voucher_attr_manager */
339#ifdef mig_external
340mig_external
341#else
342extern
343#endif /* mig_external */
344__TVOS_PROHIBITED __WATCHOS_PROHIBITED
345kern_return_t host_register_well_known_mach_voucher_attr_manager
346(
347 host_t host,
348 mach_voucher_attr_manager_t attr_manager,
349 mach_voucher_attr_value_handle_t default_value,
350 mach_voucher_attr_key_t key,
351 ipc_voucher_attr_control_t *new_attr_control
352);
353
354/* Routine host_set_atm_diagnostic_flag */
355#ifdef mig_external
356mig_external
357#else
358extern
359#endif /* mig_external */
360__TVOS_PROHIBITED __WATCHOS_PROHIBITED
361kern_return_t host_set_atm_diagnostic_flag
362(
363 host_t host,
364 uint32_t diagnostic_flag
365);
366
367/* Routine host_get_atm_diagnostic_flag */
368#ifdef mig_external
369mig_external
370#else
371extern
372#endif /* mig_external */
373__TVOS_PROHIBITED __WATCHOS_PROHIBITED
374kern_return_t host_get_atm_diagnostic_flag
375(
376 host_t host,
377 uint32_t *diagnostic_flag
378);
379
380/* Routine mach_memory_info */
381#ifdef mig_external
382mig_external
383#else
384extern
385#endif /* mig_external */
386kern_return_t mach_memory_info
387(
388 mach_port_t host,
389 mach_zone_name_array_t *names,
390 mach_msg_type_number_t *namesCnt,
391 mach_zone_info_array_t *info,
392 mach_msg_type_number_t *infoCnt,
393 mach_memory_info_array_t *memory_info,
394 mach_msg_type_number_t *memory_infoCnt
395);
396
397/* Routine host_set_multiuser_config_flags */
398#ifdef mig_external
399mig_external
400#else
401extern
402#endif /* mig_external */
403kern_return_t host_set_multiuser_config_flags
404(
405 host_priv_t host_priv,
406 uint32_t multiuser_flags
407);
408
409/* Routine host_get_multiuser_config_flags */
410#ifdef mig_external
411mig_external
412#else
413extern
414#endif /* mig_external */
415kern_return_t host_get_multiuser_config_flags
416(
417 host_t host,
418 uint32_t *multiuser_flags
419);
420
421/* Routine host_check_multiuser_mode */
422#ifdef mig_external
423mig_external
424#else
425extern
426#endif /* mig_external */
427kern_return_t host_check_multiuser_mode
428(
429 host_t host,
430 uint32_t *multiuser_mode
431);
432
433/* Routine mach_zone_info_for_zone */
434#ifdef mig_external
435mig_external
436#else
437extern
438#endif /* mig_external */
439kern_return_t mach_zone_info_for_zone
440(
441 host_priv_t host,
442 mach_zone_name_t name,
443 mach_zone_info_t *info
444);
445
446__END_DECLS
447
448/********************** Caution **************************/
449/* The following data types should be used to calculate */
450/* maximum message sizes only. The actual message may be */
451/* smaller, and the position of the arguments within the */
452/* message layout may vary from what is presented here. */
453/* For example, if any of the arguments are variable- */
454/* sized, and less than the maximum is sent, the data */
455/* will be packed tight in the actual message to reduce */
456/* the presence of holes. */
457/********************** Caution **************************/
458
459/* typedefs for all requests */
460
461#ifndef __Request__mach_host_subsystem__defined
462#define __Request__mach_host_subsystem__defined
463
464#ifdef __MigPackStructs
465#pragma pack(push, 4)
466#endif
467 typedef struct {
468 mach_msg_header_t Head;
469 NDR_record_t NDR;
470 host_flavor_t flavor;
471 mach_msg_type_number_t host_info_outCnt;
472 } __Request__host_info_t __attribute__((unused));
473#ifdef __MigPackStructs
474#pragma pack(pop)
475#endif
476
477#ifdef __MigPackStructs
478#pragma pack(push, 4)
479#endif
480 typedef struct {
481 mach_msg_header_t Head;
482 } __Request__host_kernel_version_t __attribute__((unused));
483#ifdef __MigPackStructs
484#pragma pack(pop)
485#endif
486
487#ifdef __MigPackStructs
488#pragma pack(push, 4)
489#endif
490 typedef struct {
491 mach_msg_header_t Head;
492 } __Request___host_page_size_t __attribute__((unused));
493#ifdef __MigPackStructs
494#pragma pack(pop)
495#endif
496
497#ifdef __MigPackStructs
498#pragma pack(push, 4)
499#endif
500 typedef struct {
501 mach_msg_header_t Head;
502 /* start of the kernel processed data */
503 mach_msg_body_t msgh_body;
504 mach_msg_port_descriptor_t pager;
505 /* end of the kernel processed data */
506 NDR_record_t NDR;
507 boolean_t internal;
508 vm_size_t size;
509 vm_prot_t permission;
510 } __Request__mach_memory_object_memory_entry_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 NDR_record_t NDR;
521 processor_flavor_t flavor;
522 } __Request__host_processor_info_t __attribute__((unused));
523#ifdef __MigPackStructs
524#pragma pack(pop)
525#endif
526
527#ifdef __MigPackStructs
528#pragma pack(push, 4)
529#endif
530 typedef struct {
531 mach_msg_header_t Head;
532 } __Request__host_get_io_main_t __attribute__((unused));
533#ifdef __MigPackStructs
534#pragma pack(pop)
535#endif
536
537#ifdef __MigPackStructs
538#pragma pack(push, 4)
539#endif
540 typedef struct {
541 mach_msg_header_t Head;
542 NDR_record_t NDR;
543 clock_id_t clock_id;
544 } __Request__host_get_clock_service_t __attribute__((unused));
545#ifdef __MigPackStructs
546#pragma pack(pop)
547#endif
548
549#ifdef __MigPackStructs
550#pragma pack(push, 4)
551#endif
552 typedef struct {
553 mach_msg_header_t Head;
554 } __Request__kmod_get_info_t __attribute__((unused));
555#ifdef __MigPackStructs
556#pragma pack(pop)
557#endif
558
559#ifdef __MigPackStructs
560#pragma pack(push, 4)
561#endif
562 typedef struct {
563 mach_msg_header_t Head;
564 } __Request__host_virtual_physical_table_info_t __attribute__((unused));
565#ifdef __MigPackStructs
566#pragma pack(pop)
567#endif
568
569#ifdef __MigPackStructs
570#pragma pack(push, 4)
571#endif
572 typedef struct {
573 mach_msg_header_t Head;
574 } __Request__processor_set_default_t __attribute__((unused));
575#ifdef __MigPackStructs
576#pragma pack(pop)
577#endif
578
579#ifdef __MigPackStructs
580#pragma pack(push, 4)
581#endif
582 typedef struct {
583 mach_msg_header_t Head;
584 } __Request__processor_set_create_t __attribute__((unused));
585#ifdef __MigPackStructs
586#pragma pack(pop)
587#endif
588
589#ifdef __MigPackStructs
590#pragma pack(push, 4)
591#endif
592 typedef struct {
593 mach_msg_header_t Head;
594 /* start of the kernel processed data */
595 mach_msg_body_t msgh_body;
596 mach_msg_port_descriptor_t pager;
597 /* end of the kernel processed data */
598 NDR_record_t NDR;
599 boolean_t internal;
600 memory_object_size_t size;
601 vm_prot_t permission;
602 } __Request__mach_memory_object_memory_entry_64_t __attribute__((unused));
603#ifdef __MigPackStructs
604#pragma pack(pop)
605#endif
606
607#ifdef __MigPackStructs
608#pragma pack(push, 4)
609#endif
610 typedef struct {
611 mach_msg_header_t Head;
612 NDR_record_t NDR;
613 host_flavor_t flavor;
614 mach_msg_type_number_t host_info_outCnt;
615 } __Request__host_statistics_t __attribute__((unused));
616#ifdef __MigPackStructs
617#pragma pack(pop)
618#endif
619
620#ifdef __MigPackStructs
621#pragma pack(push, 4)
622#endif
623 typedef struct {
624 mach_msg_header_t Head;
625 /* start of the kernel processed data */
626 mach_msg_body_t msgh_body;
627 mach_msg_port_descriptor_t notify_port;
628 /* end of the kernel processed data */
629 NDR_record_t NDR;
630 host_flavor_t notify_type;
631 } __Request__host_request_notification_t __attribute__((unused));
632#ifdef __MigPackStructs
633#pragma pack(pop)
634#endif
635
636#ifdef __MigPackStructs
637#pragma pack(push, 4)
638#endif
639 typedef struct {
640 mach_msg_header_t Head;
641 } __Request__host_lockgroup_info_t __attribute__((unused));
642#ifdef __MigPackStructs
643#pragma pack(pop)
644#endif
645
646#ifdef __MigPackStructs
647#pragma pack(push, 4)
648#endif
649 typedef struct {
650 mach_msg_header_t Head;
651 NDR_record_t NDR;
652 host_flavor_t flavor;
653 mach_msg_type_number_t host_info64_outCnt;
654 } __Request__host_statistics64_t __attribute__((unused));
655#ifdef __MigPackStructs
656#pragma pack(pop)
657#endif
658
659#ifdef __MigPackStructs
660#pragma pack(push, 4)
661#endif
662 typedef struct {
663 mach_msg_header_t Head;
664 } __Request__mach_zone_info_t __attribute__((unused));
665#ifdef __MigPackStructs
666#pragma pack(pop)
667#endif
668
669#ifdef __MigPackStructs
670#pragma pack(push, 4)
671#endif
672 typedef struct {
673 mach_msg_header_t Head;
674 NDR_record_t NDR;
675 mach_msg_type_number_t recipesCnt;
676 uint8_t recipes[5120];
677 } __Request__host_create_mach_voucher_t __attribute__((unused));
678#ifdef __MigPackStructs
679#pragma pack(pop)
680#endif
681
682#ifdef __MigPackStructs
683#pragma pack(push, 4)
684#endif
685 typedef struct {
686 mach_msg_header_t Head;
687 /* start of the kernel processed data */
688 mach_msg_body_t msgh_body;
689 mach_msg_port_descriptor_t attr_manager;
690 /* end of the kernel processed data */
691 NDR_record_t NDR;
692 mach_voucher_attr_value_handle_t default_value;
693 } __Request__host_register_mach_voucher_attr_manager_t __attribute__((unused));
694#ifdef __MigPackStructs
695#pragma pack(pop)
696#endif
697
698#ifdef __MigPackStructs
699#pragma pack(push, 4)
700#endif
701 typedef struct {
702 mach_msg_header_t Head;
703 /* start of the kernel processed data */
704 mach_msg_body_t msgh_body;
705 mach_msg_port_descriptor_t attr_manager;
706 /* end of the kernel processed data */
707 NDR_record_t NDR;
708 mach_voucher_attr_value_handle_t default_value;
709 mach_voucher_attr_key_t key;
710 } __Request__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused));
711#ifdef __MigPackStructs
712#pragma pack(pop)
713#endif
714
715#ifdef __MigPackStructs
716#pragma pack(push, 4)
717#endif
718 typedef struct {
719 mach_msg_header_t Head;
720 NDR_record_t NDR;
721 uint32_t diagnostic_flag;
722 } __Request__host_set_atm_diagnostic_flag_t __attribute__((unused));
723#ifdef __MigPackStructs
724#pragma pack(pop)
725#endif
726
727#ifdef __MigPackStructs
728#pragma pack(push, 4)
729#endif
730 typedef struct {
731 mach_msg_header_t Head;
732 } __Request__host_get_atm_diagnostic_flag_t __attribute__((unused));
733#ifdef __MigPackStructs
734#pragma pack(pop)
735#endif
736
737#ifdef __MigPackStructs
738#pragma pack(push, 4)
739#endif
740 typedef struct {
741 mach_msg_header_t Head;
742 } __Request__mach_memory_info_t __attribute__((unused));
743#ifdef __MigPackStructs
744#pragma pack(pop)
745#endif
746
747#ifdef __MigPackStructs
748#pragma pack(push, 4)
749#endif
750 typedef struct {
751 mach_msg_header_t Head;
752 NDR_record_t NDR;
753 uint32_t multiuser_flags;
754 } __Request__host_set_multiuser_config_flags_t __attribute__((unused));
755#ifdef __MigPackStructs
756#pragma pack(pop)
757#endif
758
759#ifdef __MigPackStructs
760#pragma pack(push, 4)
761#endif
762 typedef struct {
763 mach_msg_header_t Head;
764 } __Request__host_get_multiuser_config_flags_t __attribute__((unused));
765#ifdef __MigPackStructs
766#pragma pack(pop)
767#endif
768
769#ifdef __MigPackStructs
770#pragma pack(push, 4)
771#endif
772 typedef struct {
773 mach_msg_header_t Head;
774 } __Request__host_check_multiuser_mode_t __attribute__((unused));
775#ifdef __MigPackStructs
776#pragma pack(pop)
777#endif
778
779#ifdef __MigPackStructs
780#pragma pack(push, 4)
781#endif
782 typedef struct {
783 mach_msg_header_t Head;
784 NDR_record_t NDR;
785 mach_zone_name_t name;
786 } __Request__mach_zone_info_for_zone_t __attribute__((unused));
787#ifdef __MigPackStructs
788#pragma pack(pop)
789#endif
790#endif /* !__Request__mach_host_subsystem__defined */
791
792/* union of all requests */
793
794#ifndef __RequestUnion__mach_host_subsystem__defined
795#define __RequestUnion__mach_host_subsystem__defined
796union __RequestUnion__mach_host_subsystem {
797 __Request__host_info_t Request_host_info;
798 __Request__host_kernel_version_t Request_host_kernel_version;
799 __Request___host_page_size_t Request__host_page_size;
800 __Request__mach_memory_object_memory_entry_t Request_mach_memory_object_memory_entry;
801 __Request__host_processor_info_t Request_host_processor_info;
802 __Request__host_get_io_main_t Request_host_get_io_main;
803 __Request__host_get_clock_service_t Request_host_get_clock_service;
804 __Request__kmod_get_info_t Request_kmod_get_info;
805 __Request__host_virtual_physical_table_info_t Request_host_virtual_physical_table_info;
806 __Request__processor_set_default_t Request_processor_set_default;
807 __Request__processor_set_create_t Request_processor_set_create;
808 __Request__mach_memory_object_memory_entry_64_t Request_mach_memory_object_memory_entry_64;
809 __Request__host_statistics_t Request_host_statistics;
810 __Request__host_request_notification_t Request_host_request_notification;
811 __Request__host_lockgroup_info_t Request_host_lockgroup_info;
812 __Request__host_statistics64_t Request_host_statistics64;
813 __Request__mach_zone_info_t Request_mach_zone_info;
814 __Request__host_create_mach_voucher_t Request_host_create_mach_voucher;
815 __Request__host_register_mach_voucher_attr_manager_t Request_host_register_mach_voucher_attr_manager;
816 __Request__host_register_well_known_mach_voucher_attr_manager_t Request_host_register_well_known_mach_voucher_attr_manager;
817 __Request__host_set_atm_diagnostic_flag_t Request_host_set_atm_diagnostic_flag;
818 __Request__host_get_atm_diagnostic_flag_t Request_host_get_atm_diagnostic_flag;
819 __Request__mach_memory_info_t Request_mach_memory_info;
820 __Request__host_set_multiuser_config_flags_t Request_host_set_multiuser_config_flags;
821 __Request__host_get_multiuser_config_flags_t Request_host_get_multiuser_config_flags;
822 __Request__host_check_multiuser_mode_t Request_host_check_multiuser_mode;
823 __Request__mach_zone_info_for_zone_t Request_mach_zone_info_for_zone;
824};
825#endif /* !__RequestUnion__mach_host_subsystem__defined */
826/* typedefs for all replies */
827
828#ifndef __Reply__mach_host_subsystem__defined
829#define __Reply__mach_host_subsystem__defined
830
831#ifdef __MigPackStructs
832#pragma pack(push, 4)
833#endif
834 typedef struct {
835 mach_msg_header_t Head;
836 NDR_record_t NDR;
837 kern_return_t RetCode;
838 mach_msg_type_number_t host_info_outCnt;
839 integer_t host_info_out[68];
840 } __Reply__host_info_t __attribute__((unused));
841#ifdef __MigPackStructs
842#pragma pack(pop)
843#endif
844
845#ifdef __MigPackStructs
846#pragma pack(push, 4)
847#endif
848 typedef struct {
849 mach_msg_header_t Head;
850 NDR_record_t NDR;
851 kern_return_t RetCode;
852 mach_msg_type_number_t kernel_versionOffset; /* MiG doesn't use it */
853 mach_msg_type_number_t kernel_versionCnt;
854 char kernel_version[512];
855 } __Reply__host_kernel_version_t __attribute__((unused));
856#ifdef __MigPackStructs
857#pragma pack(pop)
858#endif
859
860#ifdef __MigPackStructs
861#pragma pack(push, 4)
862#endif
863 typedef struct {
864 mach_msg_header_t Head;
865 NDR_record_t NDR;
866 kern_return_t RetCode;
867 vm_size_t out_page_size;
868 } __Reply___host_page_size_t __attribute__((unused));
869#ifdef __MigPackStructs
870#pragma pack(pop)
871#endif
872
873#ifdef __MigPackStructs
874#pragma pack(push, 4)
875#endif
876 typedef struct {
877 mach_msg_header_t Head;
878 /* start of the kernel processed data */
879 mach_msg_body_t msgh_body;
880 mach_msg_port_descriptor_t entry_handle;
881 /* end of the kernel processed data */
882 } __Reply__mach_memory_object_memory_entry_t __attribute__((unused));
883#ifdef __MigPackStructs
884#pragma pack(pop)
885#endif
886
887#ifdef __MigPackStructs
888#pragma pack(push, 4)
889#endif
890 typedef struct {
891 mach_msg_header_t Head;
892 /* start of the kernel processed data */
893 mach_msg_body_t msgh_body;
894 mach_msg_ool_descriptor_t out_processor_info;
895 /* end of the kernel processed data */
896 NDR_record_t NDR;
897 natural_t out_processor_count;
898 mach_msg_type_number_t out_processor_infoCnt;
899 } __Reply__host_processor_info_t __attribute__((unused));
900#ifdef __MigPackStructs
901#pragma pack(pop)
902#endif
903
904#ifdef __MigPackStructs
905#pragma pack(push, 4)
906#endif
907 typedef struct {
908 mach_msg_header_t Head;
909 /* start of the kernel processed data */
910 mach_msg_body_t msgh_body;
911 mach_msg_port_descriptor_t io_main;
912 /* end of the kernel processed data */
913 } __Reply__host_get_io_main_t __attribute__((unused));
914#ifdef __MigPackStructs
915#pragma pack(pop)
916#endif
917
918#ifdef __MigPackStructs
919#pragma pack(push, 4)
920#endif
921 typedef struct {
922 mach_msg_header_t Head;
923 /* start of the kernel processed data */
924 mach_msg_body_t msgh_body;
925 mach_msg_port_descriptor_t clock_serv;
926 /* end of the kernel processed data */
927 } __Reply__host_get_clock_service_t __attribute__((unused));
928#ifdef __MigPackStructs
929#pragma pack(pop)
930#endif
931
932#ifdef __MigPackStructs
933#pragma pack(push, 4)
934#endif
935 typedef struct {
936 mach_msg_header_t Head;
937 /* start of the kernel processed data */
938 mach_msg_body_t msgh_body;
939 mach_msg_ool_descriptor_t modules;
940 /* end of the kernel processed data */
941 NDR_record_t NDR;
942 mach_msg_type_number_t modulesCnt;
943 } __Reply__kmod_get_info_t __attribute__((unused));
944#ifdef __MigPackStructs
945#pragma pack(pop)
946#endif
947
948#ifdef __MigPackStructs
949#pragma pack(push, 4)
950#endif
951 typedef struct {
952 mach_msg_header_t Head;
953 /* start of the kernel processed data */
954 mach_msg_body_t msgh_body;
955 mach_msg_ool_descriptor_t info;
956 /* end of the kernel processed data */
957 NDR_record_t NDR;
958 mach_msg_type_number_t infoCnt;
959 } __Reply__host_virtual_physical_table_info_t __attribute__((unused));
960#ifdef __MigPackStructs
961#pragma pack(pop)
962#endif
963
964#ifdef __MigPackStructs
965#pragma pack(push, 4)
966#endif
967 typedef struct {
968 mach_msg_header_t Head;
969 /* start of the kernel processed data */
970 mach_msg_body_t msgh_body;
971 mach_msg_port_descriptor_t default_set;
972 /* end of the kernel processed data */
973 } __Reply__processor_set_default_t __attribute__((unused));
974#ifdef __MigPackStructs
975#pragma pack(pop)
976#endif
977
978#ifdef __MigPackStructs
979#pragma pack(push, 4)
980#endif
981 typedef struct {
982 mach_msg_header_t Head;
983 /* start of the kernel processed data */
984 mach_msg_body_t msgh_body;
985 mach_msg_port_descriptor_t new_set;
986 mach_msg_port_descriptor_t new_name;
987 /* end of the kernel processed data */
988 } __Reply__processor_set_create_t __attribute__((unused));
989#ifdef __MigPackStructs
990#pragma pack(pop)
991#endif
992
993#ifdef __MigPackStructs
994#pragma pack(push, 4)
995#endif
996 typedef struct {
997 mach_msg_header_t Head;
998 /* start of the kernel processed data */
999 mach_msg_body_t msgh_body;
1000 mach_msg_port_descriptor_t entry_handle;
1001 /* end of the kernel processed data */
1002 } __Reply__mach_memory_object_memory_entry_64_t __attribute__((unused));
1003#ifdef __MigPackStructs
1004#pragma pack(pop)
1005#endif
1006
1007#ifdef __MigPackStructs
1008#pragma pack(push, 4)
1009#endif
1010 typedef struct {
1011 mach_msg_header_t Head;
1012 NDR_record_t NDR;
1013 kern_return_t RetCode;
1014 mach_msg_type_number_t host_info_outCnt;
1015 integer_t host_info_out[68];
1016 } __Reply__host_statistics_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 NDR_record_t NDR;
1027 kern_return_t RetCode;
1028 } __Reply__host_request_notification_t __attribute__((unused));
1029#ifdef __MigPackStructs
1030#pragma pack(pop)
1031#endif
1032
1033#ifdef __MigPackStructs
1034#pragma pack(push, 4)
1035#endif
1036 typedef struct {
1037 mach_msg_header_t Head;
1038 /* start of the kernel processed data */
1039 mach_msg_body_t msgh_body;
1040 mach_msg_ool_descriptor_t lockgroup_info;
1041 /* end of the kernel processed data */
1042 NDR_record_t NDR;
1043 mach_msg_type_number_t lockgroup_infoCnt;
1044 } __Reply__host_lockgroup_info_t __attribute__((unused));
1045#ifdef __MigPackStructs
1046#pragma pack(pop)
1047#endif
1048
1049#ifdef __MigPackStructs
1050#pragma pack(push, 4)
1051#endif
1052 typedef struct {
1053 mach_msg_header_t Head;
1054 NDR_record_t NDR;
1055 kern_return_t RetCode;
1056 mach_msg_type_number_t host_info64_outCnt;
1057 integer_t host_info64_out[256];
1058 } __Reply__host_statistics64_t __attribute__((unused));
1059#ifdef __MigPackStructs
1060#pragma pack(pop)
1061#endif
1062
1063#ifdef __MigPackStructs
1064#pragma pack(push, 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_ool_descriptor_t names;
1071 mach_msg_ool_descriptor_t info;
1072 /* end of the kernel processed data */
1073 NDR_record_t NDR;
1074 mach_msg_type_number_t namesCnt;
1075 mach_msg_type_number_t infoCnt;
1076 } __Reply__mach_zone_info_t __attribute__((unused));
1077#ifdef __MigPackStructs
1078#pragma pack(pop)
1079#endif
1080
1081#ifdef __MigPackStructs
1082#pragma pack(push, 4)
1083#endif
1084 typedef struct {
1085 mach_msg_header_t Head;
1086 /* start of the kernel processed data */
1087 mach_msg_body_t msgh_body;
1088 mach_msg_port_descriptor_t voucher;
1089 /* end of the kernel processed data */
1090 } __Reply__host_create_mach_voucher_t __attribute__((unused));
1091#ifdef __MigPackStructs
1092#pragma pack(pop)
1093#endif
1094
1095#ifdef __MigPackStructs
1096#pragma pack(push, 4)
1097#endif
1098 typedef struct {
1099 mach_msg_header_t Head;
1100 /* start of the kernel processed data */
1101 mach_msg_body_t msgh_body;
1102 mach_msg_port_descriptor_t new_attr_control;
1103 /* end of the kernel processed data */
1104 NDR_record_t NDR;
1105 mach_voucher_attr_key_t new_key;
1106 } __Reply__host_register_mach_voucher_attr_manager_t __attribute__((unused));
1107#ifdef __MigPackStructs
1108#pragma pack(pop)
1109#endif
1110
1111#ifdef __MigPackStructs
1112#pragma pack(push, 4)
1113#endif
1114 typedef struct {
1115 mach_msg_header_t Head;
1116 /* start of the kernel processed data */
1117 mach_msg_body_t msgh_body;
1118 mach_msg_port_descriptor_t new_attr_control;
1119 /* end of the kernel processed data */
1120 } __Reply__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused));
1121#ifdef __MigPackStructs
1122#pragma pack(pop)
1123#endif
1124
1125#ifdef __MigPackStructs
1126#pragma pack(push, 4)
1127#endif
1128 typedef struct {
1129 mach_msg_header_t Head;
1130 NDR_record_t NDR;
1131 kern_return_t RetCode;
1132 } __Reply__host_set_atm_diagnostic_flag_t __attribute__((unused));
1133#ifdef __MigPackStructs
1134#pragma pack(pop)
1135#endif
1136
1137#ifdef __MigPackStructs
1138#pragma pack(push, 4)
1139#endif
1140 typedef struct {
1141 mach_msg_header_t Head;
1142 NDR_record_t NDR;
1143 kern_return_t RetCode;
1144 uint32_t diagnostic_flag;
1145 } __Reply__host_get_atm_diagnostic_flag_t __attribute__((unused));
1146#ifdef __MigPackStructs
1147#pragma pack(pop)
1148#endif
1149
1150#ifdef __MigPackStructs
1151#pragma pack(push, 4)
1152#endif
1153 typedef struct {
1154 mach_msg_header_t Head;
1155 /* start of the kernel processed data */
1156 mach_msg_body_t msgh_body;
1157 mach_msg_ool_descriptor_t names;
1158 mach_msg_ool_descriptor_t info;
1159 mach_msg_ool_descriptor_t memory_info;
1160 /* end of the kernel processed data */
1161 NDR_record_t NDR;
1162 mach_msg_type_number_t namesCnt;
1163 mach_msg_type_number_t infoCnt;
1164 mach_msg_type_number_t memory_infoCnt;
1165 } __Reply__mach_memory_info_t __attribute__((unused));
1166#ifdef __MigPackStructs
1167#pragma pack(pop)
1168#endif
1169
1170#ifdef __MigPackStructs
1171#pragma pack(push, 4)
1172#endif
1173 typedef struct {
1174 mach_msg_header_t Head;
1175 NDR_record_t NDR;
1176 kern_return_t RetCode;
1177 } __Reply__host_set_multiuser_config_flags_t __attribute__((unused));
1178#ifdef __MigPackStructs
1179#pragma pack(pop)
1180#endif
1181
1182#ifdef __MigPackStructs
1183#pragma pack(push, 4)
1184#endif
1185 typedef struct {
1186 mach_msg_header_t Head;
1187 NDR_record_t NDR;
1188 kern_return_t RetCode;
1189 uint32_t multiuser_flags;
1190 } __Reply__host_get_multiuser_config_flags_t __attribute__((unused));
1191#ifdef __MigPackStructs
1192#pragma pack(pop)
1193#endif
1194
1195#ifdef __MigPackStructs
1196#pragma pack(push, 4)
1197#endif
1198 typedef struct {
1199 mach_msg_header_t Head;
1200 NDR_record_t NDR;
1201 kern_return_t RetCode;
1202 uint32_t multiuser_mode;
1203 } __Reply__host_check_multiuser_mode_t __attribute__((unused));
1204#ifdef __MigPackStructs
1205#pragma pack(pop)
1206#endif
1207
1208#ifdef __MigPackStructs
1209#pragma pack(push, 4)
1210#endif
1211 typedef struct {
1212 mach_msg_header_t Head;
1213 NDR_record_t NDR;
1214 kern_return_t RetCode;
1215 mach_zone_info_t info;
1216 } __Reply__mach_zone_info_for_zone_t __attribute__((unused));
1217#ifdef __MigPackStructs
1218#pragma pack(pop)
1219#endif
1220#endif /* !__Reply__mach_host_subsystem__defined */
1221
1222/* union of all replies */
1223
1224#ifndef __ReplyUnion__mach_host_subsystem__defined
1225#define __ReplyUnion__mach_host_subsystem__defined
1226union __ReplyUnion__mach_host_subsystem {
1227 __Reply__host_info_t Reply_host_info;
1228 __Reply__host_kernel_version_t Reply_host_kernel_version;
1229 __Reply___host_page_size_t Reply__host_page_size;
1230 __Reply__mach_memory_object_memory_entry_t Reply_mach_memory_object_memory_entry;
1231 __Reply__host_processor_info_t Reply_host_processor_info;
1232 __Reply__host_get_io_main_t Reply_host_get_io_main;
1233 __Reply__host_get_clock_service_t Reply_host_get_clock_service;
1234 __Reply__kmod_get_info_t Reply_kmod_get_info;
1235 __Reply__host_virtual_physical_table_info_t Reply_host_virtual_physical_table_info;
1236 __Reply__processor_set_default_t Reply_processor_set_default;
1237 __Reply__processor_set_create_t Reply_processor_set_create;
1238 __Reply__mach_memory_object_memory_entry_64_t Reply_mach_memory_object_memory_entry_64;
1239 __Reply__host_statistics_t Reply_host_statistics;
1240 __Reply__host_request_notification_t Reply_host_request_notification;
1241 __Reply__host_lockgroup_info_t Reply_host_lockgroup_info;
1242 __Reply__host_statistics64_t Reply_host_statistics64;
1243 __Reply__mach_zone_info_t Reply_mach_zone_info;
1244 __Reply__host_create_mach_voucher_t Reply_host_create_mach_voucher;
1245 __Reply__host_register_mach_voucher_attr_manager_t Reply_host_register_mach_voucher_attr_manager;
1246 __Reply__host_register_well_known_mach_voucher_attr_manager_t Reply_host_register_well_known_mach_voucher_attr_manager;
1247 __Reply__host_set_atm_diagnostic_flag_t Reply_host_set_atm_diagnostic_flag;
1248 __Reply__host_get_atm_diagnostic_flag_t Reply_host_get_atm_diagnostic_flag;
1249 __Reply__mach_memory_info_t Reply_mach_memory_info;
1250 __Reply__host_set_multiuser_config_flags_t Reply_host_set_multiuser_config_flags;
1251 __Reply__host_get_multiuser_config_flags_t Reply_host_get_multiuser_config_flags;
1252 __Reply__host_check_multiuser_mode_t Reply_host_check_multiuser_mode;
1253 __Reply__mach_zone_info_for_zone_t Reply_mach_zone_info_for_zone;
1254};
1255#endif /* !__RequestUnion__mach_host_subsystem__defined */
1256
1257#ifndef subsystem_to_name_map_mach_host
1258#define subsystem_to_name_map_mach_host \
1259 { "host_info", 200 },\
1260 { "host_kernel_version", 201 },\
1261 { "_host_page_size", 202 },\
1262 { "mach_memory_object_memory_entry", 203 },\
1263 { "host_processor_info", 204 },\
1264 { "host_get_io_main", 205 },\
1265 { "host_get_clock_service", 206 },\
1266 { "kmod_get_info", 207 },\
1267 { "host_virtual_physical_table_info", 209 },\
1268 { "processor_set_default", 213 },\
1269 { "processor_set_create", 214 },\
1270 { "mach_memory_object_memory_entry_64", 215 },\
1271 { "host_statistics", 216 },\
1272 { "host_request_notification", 217 },\
1273 { "host_lockgroup_info", 218 },\
1274 { "host_statistics64", 219 },\
1275 { "mach_zone_info", 220 },\
1276 { "host_create_mach_voucher", 222 },\
1277 { "host_register_mach_voucher_attr_manager", 223 },\
1278 { "host_register_well_known_mach_voucher_attr_manager", 224 },\
1279 { "host_set_atm_diagnostic_flag", 225 },\
1280 { "host_get_atm_diagnostic_flag", 226 },\
1281 { "mach_memory_info", 227 },\
1282 { "host_set_multiuser_config_flags", 228 },\
1283 { "host_get_multiuser_config_flags", 229 },\
1284 { "host_check_multiuser_mode", 230 },\
1285 { "mach_zone_info_for_zone", 231 }
1286#endif
1287
1288#ifdef __AfterMigUserHeader
1289__AfterMigUserHeader
1290#endif /* __AfterMigUserHeader */
1291
1292#endif /* _mach_host_user_ */