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 36
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/* Routine mach_memory_info_redacted */
447#ifdef mig_external
448mig_external
449#else
450extern
451#endif /* mig_external */
452kern_return_t mach_memory_info_redacted
453(
454 mach_port_t host,
455 mach_zone_name_array_t *names,
456 mach_msg_type_number_t *namesCnt,
457 mach_zone_info_array_t *info,
458 mach_msg_type_number_t *infoCnt,
459 mach_memory_info_array_t *memory_info,
460 mach_msg_type_number_t *memory_infoCnt
461);
462
463__END_DECLS
464
465/********************** Caution **************************/
466/* The following data types should be used to calculate */
467/* maximum message sizes only. The actual message may be */
468/* smaller, and the position of the arguments within the */
469/* message layout may vary from what is presented here. */
470/* For example, if any of the arguments are variable- */
471/* sized, and less than the maximum is sent, the data */
472/* will be packed tight in the actual message to reduce */
473/* the presence of holes. */
474/********************** Caution **************************/
475
476/* typedefs for all requests */
477
478#ifndef __Request__mach_host_subsystem__defined
479#define __Request__mach_host_subsystem__defined
480
481#ifdef __MigPackStructs
482#pragma pack(push, 4)
483#endif
484 typedef struct {
485 mach_msg_header_t Head;
486 NDR_record_t NDR;
487 host_flavor_t flavor;
488 mach_msg_type_number_t host_info_outCnt;
489 } __Request__host_info_t __attribute__((unused));
490#ifdef __MigPackStructs
491#pragma pack(pop)
492#endif
493
494#ifdef __MigPackStructs
495#pragma pack(push, 4)
496#endif
497 typedef struct {
498 mach_msg_header_t Head;
499 } __Request__host_kernel_version_t __attribute__((unused));
500#ifdef __MigPackStructs
501#pragma pack(pop)
502#endif
503
504#ifdef __MigPackStructs
505#pragma pack(push, 4)
506#endif
507 typedef struct {
508 mach_msg_header_t Head;
509 } __Request___host_page_size_t __attribute__((unused));
510#ifdef __MigPackStructs
511#pragma pack(pop)
512#endif
513
514#ifdef __MigPackStructs
515#pragma pack(push, 4)
516#endif
517 typedef struct {
518 mach_msg_header_t Head;
519 /* start of the kernel processed data */
520 mach_msg_body_t msgh_body;
521 mach_msg_port_descriptor_t pager;
522 /* end of the kernel processed data */
523 NDR_record_t NDR;
524 boolean_t internal;
525 vm_size_t size;
526 vm_prot_t permission;
527 } __Request__mach_memory_object_memory_entry_t __attribute__((unused));
528#ifdef __MigPackStructs
529#pragma pack(pop)
530#endif
531
532#ifdef __MigPackStructs
533#pragma pack(push, 4)
534#endif
535 typedef struct {
536 mach_msg_header_t Head;
537 NDR_record_t NDR;
538 processor_flavor_t flavor;
539 } __Request__host_processor_info_t __attribute__((unused));
540#ifdef __MigPackStructs
541#pragma pack(pop)
542#endif
543
544#ifdef __MigPackStructs
545#pragma pack(push, 4)
546#endif
547 typedef struct {
548 mach_msg_header_t Head;
549 } __Request__host_get_io_main_t __attribute__((unused));
550#ifdef __MigPackStructs
551#pragma pack(pop)
552#endif
553
554#ifdef __MigPackStructs
555#pragma pack(push, 4)
556#endif
557 typedef struct {
558 mach_msg_header_t Head;
559 NDR_record_t NDR;
560 clock_id_t clock_id;
561 } __Request__host_get_clock_service_t __attribute__((unused));
562#ifdef __MigPackStructs
563#pragma pack(pop)
564#endif
565
566#ifdef __MigPackStructs
567#pragma pack(push, 4)
568#endif
569 typedef struct {
570 mach_msg_header_t Head;
571 } __Request__kmod_get_info_t __attribute__((unused));
572#ifdef __MigPackStructs
573#pragma pack(pop)
574#endif
575
576#ifdef __MigPackStructs
577#pragma pack(push, 4)
578#endif
579 typedef struct {
580 mach_msg_header_t Head;
581 } __Request__host_virtual_physical_table_info_t __attribute__((unused));
582#ifdef __MigPackStructs
583#pragma pack(pop)
584#endif
585
586#ifdef __MigPackStructs
587#pragma pack(push, 4)
588#endif
589 typedef struct {
590 mach_msg_header_t Head;
591 } __Request__processor_set_default_t __attribute__((unused));
592#ifdef __MigPackStructs
593#pragma pack(pop)
594#endif
595
596#ifdef __MigPackStructs
597#pragma pack(push, 4)
598#endif
599 typedef struct {
600 mach_msg_header_t Head;
601 } __Request__processor_set_create_t __attribute__((unused));
602#ifdef __MigPackStructs
603#pragma pack(pop)
604#endif
605
606#ifdef __MigPackStructs
607#pragma pack(push, 4)
608#endif
609 typedef struct {
610 mach_msg_header_t Head;
611 /* start of the kernel processed data */
612 mach_msg_body_t msgh_body;
613 mach_msg_port_descriptor_t pager;
614 /* end of the kernel processed data */
615 NDR_record_t NDR;
616 boolean_t internal;
617 memory_object_size_t size;
618 vm_prot_t permission;
619 } __Request__mach_memory_object_memory_entry_64_t __attribute__((unused));
620#ifdef __MigPackStructs
621#pragma pack(pop)
622#endif
623
624#ifdef __MigPackStructs
625#pragma pack(push, 4)
626#endif
627 typedef struct {
628 mach_msg_header_t Head;
629 NDR_record_t NDR;
630 host_flavor_t flavor;
631 mach_msg_type_number_t host_info_outCnt;
632 } __Request__host_statistics_t __attribute__((unused));
633#ifdef __MigPackStructs
634#pragma pack(pop)
635#endif
636
637#ifdef __MigPackStructs
638#pragma pack(push, 4)
639#endif
640 typedef struct {
641 mach_msg_header_t Head;
642 /* start of the kernel processed data */
643 mach_msg_body_t msgh_body;
644 mach_msg_port_descriptor_t notify_port;
645 /* end of the kernel processed data */
646 NDR_record_t NDR;
647 host_flavor_t notify_type;
648 } __Request__host_request_notification_t __attribute__((unused));
649#ifdef __MigPackStructs
650#pragma pack(pop)
651#endif
652
653#ifdef __MigPackStructs
654#pragma pack(push, 4)
655#endif
656 typedef struct {
657 mach_msg_header_t Head;
658 } __Request__host_lockgroup_info_t __attribute__((unused));
659#ifdef __MigPackStructs
660#pragma pack(pop)
661#endif
662
663#ifdef __MigPackStructs
664#pragma pack(push, 4)
665#endif
666 typedef struct {
667 mach_msg_header_t Head;
668 NDR_record_t NDR;
669 host_flavor_t flavor;
670 mach_msg_type_number_t host_info64_outCnt;
671 } __Request__host_statistics64_t __attribute__((unused));
672#ifdef __MigPackStructs
673#pragma pack(pop)
674#endif
675
676#ifdef __MigPackStructs
677#pragma pack(push, 4)
678#endif
679 typedef struct {
680 mach_msg_header_t Head;
681 } __Request__mach_zone_info_t __attribute__((unused));
682#ifdef __MigPackStructs
683#pragma pack(pop)
684#endif
685
686#ifdef __MigPackStructs
687#pragma pack(push, 4)
688#endif
689 typedef struct {
690 mach_msg_header_t Head;
691 NDR_record_t NDR;
692 mach_msg_type_number_t recipesCnt;
693 uint8_t recipes[5120];
694 } __Request__host_create_mach_voucher_t __attribute__((unused));
695#ifdef __MigPackStructs
696#pragma pack(pop)
697#endif
698
699#ifdef __MigPackStructs
700#pragma pack(push, 4)
701#endif
702 typedef struct {
703 mach_msg_header_t Head;
704 /* start of the kernel processed data */
705 mach_msg_body_t msgh_body;
706 mach_msg_port_descriptor_t attr_manager;
707 /* end of the kernel processed data */
708 NDR_record_t NDR;
709 mach_voucher_attr_value_handle_t default_value;
710 } __Request__host_register_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 /* start of the kernel processed data */
721 mach_msg_body_t msgh_body;
722 mach_msg_port_descriptor_t attr_manager;
723 /* end of the kernel processed data */
724 NDR_record_t NDR;
725 mach_voucher_attr_value_handle_t default_value;
726 mach_voucher_attr_key_t key;
727 } __Request__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused));
728#ifdef __MigPackStructs
729#pragma pack(pop)
730#endif
731
732#ifdef __MigPackStructs
733#pragma pack(push, 4)
734#endif
735 typedef struct {
736 mach_msg_header_t Head;
737 NDR_record_t NDR;
738 uint32_t diagnostic_flag;
739 } __Request__host_set_atm_diagnostic_flag_t __attribute__((unused));
740#ifdef __MigPackStructs
741#pragma pack(pop)
742#endif
743
744#ifdef __MigPackStructs
745#pragma pack(push, 4)
746#endif
747 typedef struct {
748 mach_msg_header_t Head;
749 } __Request__host_get_atm_diagnostic_flag_t __attribute__((unused));
750#ifdef __MigPackStructs
751#pragma pack(pop)
752#endif
753
754#ifdef __MigPackStructs
755#pragma pack(push, 4)
756#endif
757 typedef struct {
758 mach_msg_header_t Head;
759 } __Request__mach_memory_info_t __attribute__((unused));
760#ifdef __MigPackStructs
761#pragma pack(pop)
762#endif
763
764#ifdef __MigPackStructs
765#pragma pack(push, 4)
766#endif
767 typedef struct {
768 mach_msg_header_t Head;
769 NDR_record_t NDR;
770 uint32_t multiuser_flags;
771 } __Request__host_set_multiuser_config_flags_t __attribute__((unused));
772#ifdef __MigPackStructs
773#pragma pack(pop)
774#endif
775
776#ifdef __MigPackStructs
777#pragma pack(push, 4)
778#endif
779 typedef struct {
780 mach_msg_header_t Head;
781 } __Request__host_get_multiuser_config_flags_t __attribute__((unused));
782#ifdef __MigPackStructs
783#pragma pack(pop)
784#endif
785
786#ifdef __MigPackStructs
787#pragma pack(push, 4)
788#endif
789 typedef struct {
790 mach_msg_header_t Head;
791 } __Request__host_check_multiuser_mode_t __attribute__((unused));
792#ifdef __MigPackStructs
793#pragma pack(pop)
794#endif
795
796#ifdef __MigPackStructs
797#pragma pack(push, 4)
798#endif
799 typedef struct {
800 mach_msg_header_t Head;
801 NDR_record_t NDR;
802 mach_zone_name_t name;
803 } __Request__mach_zone_info_for_zone_t __attribute__((unused));
804#ifdef __MigPackStructs
805#pragma pack(pop)
806#endif
807
808#ifdef __MigPackStructs
809#pragma pack(push, 4)
810#endif
811 typedef struct {
812 mach_msg_header_t Head;
813 } __Request__mach_memory_info_redacted_t __attribute__((unused));
814#ifdef __MigPackStructs
815#pragma pack(pop)
816#endif
817#endif /* !__Request__mach_host_subsystem__defined */
818
819/* union of all requests */
820
821#ifndef __RequestUnion__mach_host_subsystem__defined
822#define __RequestUnion__mach_host_subsystem__defined
823union __RequestUnion__mach_host_subsystem {
824 __Request__host_info_t Request_host_info;
825 __Request__host_kernel_version_t Request_host_kernel_version;
826 __Request___host_page_size_t Request__host_page_size;
827 __Request__mach_memory_object_memory_entry_t Request_mach_memory_object_memory_entry;
828 __Request__host_processor_info_t Request_host_processor_info;
829 __Request__host_get_io_main_t Request_host_get_io_main;
830 __Request__host_get_clock_service_t Request_host_get_clock_service;
831 __Request__kmod_get_info_t Request_kmod_get_info;
832 __Request__host_virtual_physical_table_info_t Request_host_virtual_physical_table_info;
833 __Request__processor_set_default_t Request_processor_set_default;
834 __Request__processor_set_create_t Request_processor_set_create;
835 __Request__mach_memory_object_memory_entry_64_t Request_mach_memory_object_memory_entry_64;
836 __Request__host_statistics_t Request_host_statistics;
837 __Request__host_request_notification_t Request_host_request_notification;
838 __Request__host_lockgroup_info_t Request_host_lockgroup_info;
839 __Request__host_statistics64_t Request_host_statistics64;
840 __Request__mach_zone_info_t Request_mach_zone_info;
841 __Request__host_create_mach_voucher_t Request_host_create_mach_voucher;
842 __Request__host_register_mach_voucher_attr_manager_t Request_host_register_mach_voucher_attr_manager;
843 __Request__host_register_well_known_mach_voucher_attr_manager_t Request_host_register_well_known_mach_voucher_attr_manager;
844 __Request__host_set_atm_diagnostic_flag_t Request_host_set_atm_diagnostic_flag;
845 __Request__host_get_atm_diagnostic_flag_t Request_host_get_atm_diagnostic_flag;
846 __Request__mach_memory_info_t Request_mach_memory_info;
847 __Request__host_set_multiuser_config_flags_t Request_host_set_multiuser_config_flags;
848 __Request__host_get_multiuser_config_flags_t Request_host_get_multiuser_config_flags;
849 __Request__host_check_multiuser_mode_t Request_host_check_multiuser_mode;
850 __Request__mach_zone_info_for_zone_t Request_mach_zone_info_for_zone;
851 __Request__mach_memory_info_redacted_t Request_mach_memory_info_redacted;
852};
853#endif /* !__RequestUnion__mach_host_subsystem__defined */
854/* typedefs for all replies */
855
856#ifndef __Reply__mach_host_subsystem__defined
857#define __Reply__mach_host_subsystem__defined
858
859#ifdef __MigPackStructs
860#pragma pack(push, 4)
861#endif
862 typedef struct {
863 mach_msg_header_t Head;
864 NDR_record_t NDR;
865 kern_return_t RetCode;
866 mach_msg_type_number_t host_info_outCnt;
867 integer_t host_info_out[68];
868 } __Reply__host_info_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 NDR_record_t NDR;
879 kern_return_t RetCode;
880 mach_msg_type_number_t kernel_versionOffset; /* MiG doesn't use it */
881 mach_msg_type_number_t kernel_versionCnt;
882 char kernel_version[512];
883 } __Reply__host_kernel_version_t __attribute__((unused));
884#ifdef __MigPackStructs
885#pragma pack(pop)
886#endif
887
888#ifdef __MigPackStructs
889#pragma pack(push, 4)
890#endif
891 typedef struct {
892 mach_msg_header_t Head;
893 NDR_record_t NDR;
894 kern_return_t RetCode;
895 vm_size_t out_page_size;
896 } __Reply___host_page_size_t __attribute__((unused));
897#ifdef __MigPackStructs
898#pragma pack(pop)
899#endif
900
901#ifdef __MigPackStructs
902#pragma pack(push, 4)
903#endif
904 typedef struct {
905 mach_msg_header_t Head;
906 /* start of the kernel processed data */
907 mach_msg_body_t msgh_body;
908 mach_msg_port_descriptor_t entry_handle;
909 /* end of the kernel processed data */
910 } __Reply__mach_memory_object_memory_entry_t __attribute__((unused));
911#ifdef __MigPackStructs
912#pragma pack(pop)
913#endif
914
915#ifdef __MigPackStructs
916#pragma pack(push, 4)
917#endif
918 typedef struct {
919 mach_msg_header_t Head;
920 /* start of the kernel processed data */
921 mach_msg_body_t msgh_body;
922 mach_msg_ool_descriptor_t out_processor_info;
923 /* end of the kernel processed data */
924 NDR_record_t NDR;
925 natural_t out_processor_count;
926 mach_msg_type_number_t out_processor_infoCnt;
927 } __Reply__host_processor_info_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_port_descriptor_t io_main;
940 /* end of the kernel processed data */
941 } __Reply__host_get_io_main_t __attribute__((unused));
942#ifdef __MigPackStructs
943#pragma pack(pop)
944#endif
945
946#ifdef __MigPackStructs
947#pragma pack(push, 4)
948#endif
949 typedef struct {
950 mach_msg_header_t Head;
951 /* start of the kernel processed data */
952 mach_msg_body_t msgh_body;
953 mach_msg_port_descriptor_t clock_serv;
954 /* end of the kernel processed data */
955 } __Reply__host_get_clock_service_t __attribute__((unused));
956#ifdef __MigPackStructs
957#pragma pack(pop)
958#endif
959
960#ifdef __MigPackStructs
961#pragma pack(push, 4)
962#endif
963 typedef struct {
964 mach_msg_header_t Head;
965 /* start of the kernel processed data */
966 mach_msg_body_t msgh_body;
967 mach_msg_ool_descriptor_t modules;
968 /* end of the kernel processed data */
969 NDR_record_t NDR;
970 mach_msg_type_number_t modulesCnt;
971 } __Reply__kmod_get_info_t __attribute__((unused));
972#ifdef __MigPackStructs
973#pragma pack(pop)
974#endif
975
976#ifdef __MigPackStructs
977#pragma pack(push, 4)
978#endif
979 typedef struct {
980 mach_msg_header_t Head;
981 /* start of the kernel processed data */
982 mach_msg_body_t msgh_body;
983 mach_msg_ool_descriptor_t info;
984 /* end of the kernel processed data */
985 NDR_record_t NDR;
986 mach_msg_type_number_t infoCnt;
987 } __Reply__host_virtual_physical_table_info_t __attribute__((unused));
988#ifdef __MigPackStructs
989#pragma pack(pop)
990#endif
991
992#ifdef __MigPackStructs
993#pragma pack(push, 4)
994#endif
995 typedef struct {
996 mach_msg_header_t Head;
997 /* start of the kernel processed data */
998 mach_msg_body_t msgh_body;
999 mach_msg_port_descriptor_t default_set;
1000 /* end of the kernel processed data */
1001 } __Reply__processor_set_default_t __attribute__((unused));
1002#ifdef __MigPackStructs
1003#pragma pack(pop)
1004#endif
1005
1006#ifdef __MigPackStructs
1007#pragma pack(push, 4)
1008#endif
1009 typedef struct {
1010 mach_msg_header_t Head;
1011 /* start of the kernel processed data */
1012 mach_msg_body_t msgh_body;
1013 mach_msg_port_descriptor_t new_set;
1014 mach_msg_port_descriptor_t new_name;
1015 /* end of the kernel processed data */
1016 } __Reply__processor_set_create_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 entry_handle;
1029 /* end of the kernel processed data */
1030 } __Reply__mach_memory_object_memory_entry_64_t __attribute__((unused));
1031#ifdef __MigPackStructs
1032#pragma pack(pop)
1033#endif
1034
1035#ifdef __MigPackStructs
1036#pragma pack(push, 4)
1037#endif
1038 typedef struct {
1039 mach_msg_header_t Head;
1040 NDR_record_t NDR;
1041 kern_return_t RetCode;
1042 mach_msg_type_number_t host_info_outCnt;
1043 integer_t host_info_out[68];
1044 } __Reply__host_statistics_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 } __Reply__host_request_notification_t __attribute__((unused));
1057#ifdef __MigPackStructs
1058#pragma pack(pop)
1059#endif
1060
1061#ifdef __MigPackStructs
1062#pragma pack(push, 4)
1063#endif
1064 typedef struct {
1065 mach_msg_header_t Head;
1066 /* start of the kernel processed data */
1067 mach_msg_body_t msgh_body;
1068 mach_msg_ool_descriptor_t lockgroup_info;
1069 /* end of the kernel processed data */
1070 NDR_record_t NDR;
1071 mach_msg_type_number_t lockgroup_infoCnt;
1072 } __Reply__host_lockgroup_info_t __attribute__((unused));
1073#ifdef __MigPackStructs
1074#pragma pack(pop)
1075#endif
1076
1077#ifdef __MigPackStructs
1078#pragma pack(push, 4)
1079#endif
1080 typedef struct {
1081 mach_msg_header_t Head;
1082 NDR_record_t NDR;
1083 kern_return_t RetCode;
1084 mach_msg_type_number_t host_info64_outCnt;
1085 integer_t host_info64_out[256];
1086 } __Reply__host_statistics64_t __attribute__((unused));
1087#ifdef __MigPackStructs
1088#pragma pack(pop)
1089#endif
1090
1091#ifdef __MigPackStructs
1092#pragma pack(push, 4)
1093#endif
1094 typedef struct {
1095 mach_msg_header_t Head;
1096 /* start of the kernel processed data */
1097 mach_msg_body_t msgh_body;
1098 mach_msg_ool_descriptor_t names;
1099 mach_msg_ool_descriptor_t info;
1100 /* end of the kernel processed data */
1101 NDR_record_t NDR;
1102 mach_msg_type_number_t namesCnt;
1103 mach_msg_type_number_t infoCnt;
1104 } __Reply__mach_zone_info_t __attribute__((unused));
1105#ifdef __MigPackStructs
1106#pragma pack(pop)
1107#endif
1108
1109#ifdef __MigPackStructs
1110#pragma pack(push, 4)
1111#endif
1112 typedef struct {
1113 mach_msg_header_t Head;
1114 /* start of the kernel processed data */
1115 mach_msg_body_t msgh_body;
1116 mach_msg_port_descriptor_t voucher;
1117 /* end of the kernel processed data */
1118 } __Reply__host_create_mach_voucher_t __attribute__((unused));
1119#ifdef __MigPackStructs
1120#pragma pack(pop)
1121#endif
1122
1123#ifdef __MigPackStructs
1124#pragma pack(push, 4)
1125#endif
1126 typedef struct {
1127 mach_msg_header_t Head;
1128 /* start of the kernel processed data */
1129 mach_msg_body_t msgh_body;
1130 mach_msg_port_descriptor_t new_attr_control;
1131 /* end of the kernel processed data */
1132 NDR_record_t NDR;
1133 mach_voucher_attr_key_t new_key;
1134 } __Reply__host_register_mach_voucher_attr_manager_t __attribute__((unused));
1135#ifdef __MigPackStructs
1136#pragma pack(pop)
1137#endif
1138
1139#ifdef __MigPackStructs
1140#pragma pack(push, 4)
1141#endif
1142 typedef struct {
1143 mach_msg_header_t Head;
1144 /* start of the kernel processed data */
1145 mach_msg_body_t msgh_body;
1146 mach_msg_port_descriptor_t new_attr_control;
1147 /* end of the kernel processed data */
1148 } __Reply__host_register_well_known_mach_voucher_attr_manager_t __attribute__((unused));
1149#ifdef __MigPackStructs
1150#pragma pack(pop)
1151#endif
1152
1153#ifdef __MigPackStructs
1154#pragma pack(push, 4)
1155#endif
1156 typedef struct {
1157 mach_msg_header_t Head;
1158 NDR_record_t NDR;
1159 kern_return_t RetCode;
1160 } __Reply__host_set_atm_diagnostic_flag_t __attribute__((unused));
1161#ifdef __MigPackStructs
1162#pragma pack(pop)
1163#endif
1164
1165#ifdef __MigPackStructs
1166#pragma pack(push, 4)
1167#endif
1168 typedef struct {
1169 mach_msg_header_t Head;
1170 NDR_record_t NDR;
1171 kern_return_t RetCode;
1172 uint32_t diagnostic_flag;
1173 } __Reply__host_get_atm_diagnostic_flag_t __attribute__((unused));
1174#ifdef __MigPackStructs
1175#pragma pack(pop)
1176#endif
1177
1178#ifdef __MigPackStructs
1179#pragma pack(push, 4)
1180#endif
1181 typedef struct {
1182 mach_msg_header_t Head;
1183 /* start of the kernel processed data */
1184 mach_msg_body_t msgh_body;
1185 mach_msg_ool_descriptor_t names;
1186 mach_msg_ool_descriptor_t info;
1187 mach_msg_ool_descriptor_t memory_info;
1188 /* end of the kernel processed data */
1189 NDR_record_t NDR;
1190 mach_msg_type_number_t namesCnt;
1191 mach_msg_type_number_t infoCnt;
1192 mach_msg_type_number_t memory_infoCnt;
1193 } __Reply__mach_memory_info_t __attribute__((unused));
1194#ifdef __MigPackStructs
1195#pragma pack(pop)
1196#endif
1197
1198#ifdef __MigPackStructs
1199#pragma pack(push, 4)
1200#endif
1201 typedef struct {
1202 mach_msg_header_t Head;
1203 NDR_record_t NDR;
1204 kern_return_t RetCode;
1205 } __Reply__host_set_multiuser_config_flags_t __attribute__((unused));
1206#ifdef __MigPackStructs
1207#pragma pack(pop)
1208#endif
1209
1210#ifdef __MigPackStructs
1211#pragma pack(push, 4)
1212#endif
1213 typedef struct {
1214 mach_msg_header_t Head;
1215 NDR_record_t NDR;
1216 kern_return_t RetCode;
1217 uint32_t multiuser_flags;
1218 } __Reply__host_get_multiuser_config_flags_t __attribute__((unused));
1219#ifdef __MigPackStructs
1220#pragma pack(pop)
1221#endif
1222
1223#ifdef __MigPackStructs
1224#pragma pack(push, 4)
1225#endif
1226 typedef struct {
1227 mach_msg_header_t Head;
1228 NDR_record_t NDR;
1229 kern_return_t RetCode;
1230 uint32_t multiuser_mode;
1231 } __Reply__host_check_multiuser_mode_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_zone_info_t info;
1244 } __Reply__mach_zone_info_for_zone_t __attribute__((unused));
1245#ifdef __MigPackStructs
1246#pragma pack(pop)
1247#endif
1248
1249#ifdef __MigPackStructs
1250#pragma pack(push, 4)
1251#endif
1252 typedef struct {
1253 mach_msg_header_t Head;
1254 /* start of the kernel processed data */
1255 mach_msg_body_t msgh_body;
1256 mach_msg_ool_descriptor_t names;
1257 mach_msg_ool_descriptor_t info;
1258 mach_msg_ool_descriptor_t memory_info;
1259 /* end of the kernel processed data */
1260 NDR_record_t NDR;
1261 mach_msg_type_number_t namesCnt;
1262 mach_msg_type_number_t infoCnt;
1263 mach_msg_type_number_t memory_infoCnt;
1264 } __Reply__mach_memory_info_redacted_t __attribute__((unused));
1265#ifdef __MigPackStructs
1266#pragma pack(pop)
1267#endif
1268#endif /* !__Reply__mach_host_subsystem__defined */
1269
1270/* union of all replies */
1271
1272#ifndef __ReplyUnion__mach_host_subsystem__defined
1273#define __ReplyUnion__mach_host_subsystem__defined
1274union __ReplyUnion__mach_host_subsystem {
1275 __Reply__host_info_t Reply_host_info;
1276 __Reply__host_kernel_version_t Reply_host_kernel_version;
1277 __Reply___host_page_size_t Reply__host_page_size;
1278 __Reply__mach_memory_object_memory_entry_t Reply_mach_memory_object_memory_entry;
1279 __Reply__host_processor_info_t Reply_host_processor_info;
1280 __Reply__host_get_io_main_t Reply_host_get_io_main;
1281 __Reply__host_get_clock_service_t Reply_host_get_clock_service;
1282 __Reply__kmod_get_info_t Reply_kmod_get_info;
1283 __Reply__host_virtual_physical_table_info_t Reply_host_virtual_physical_table_info;
1284 __Reply__processor_set_default_t Reply_processor_set_default;
1285 __Reply__processor_set_create_t Reply_processor_set_create;
1286 __Reply__mach_memory_object_memory_entry_64_t Reply_mach_memory_object_memory_entry_64;
1287 __Reply__host_statistics_t Reply_host_statistics;
1288 __Reply__host_request_notification_t Reply_host_request_notification;
1289 __Reply__host_lockgroup_info_t Reply_host_lockgroup_info;
1290 __Reply__host_statistics64_t Reply_host_statistics64;
1291 __Reply__mach_zone_info_t Reply_mach_zone_info;
1292 __Reply__host_create_mach_voucher_t Reply_host_create_mach_voucher;
1293 __Reply__host_register_mach_voucher_attr_manager_t Reply_host_register_mach_voucher_attr_manager;
1294 __Reply__host_register_well_known_mach_voucher_attr_manager_t Reply_host_register_well_known_mach_voucher_attr_manager;
1295 __Reply__host_set_atm_diagnostic_flag_t Reply_host_set_atm_diagnostic_flag;
1296 __Reply__host_get_atm_diagnostic_flag_t Reply_host_get_atm_diagnostic_flag;
1297 __Reply__mach_memory_info_t Reply_mach_memory_info;
1298 __Reply__host_set_multiuser_config_flags_t Reply_host_set_multiuser_config_flags;
1299 __Reply__host_get_multiuser_config_flags_t Reply_host_get_multiuser_config_flags;
1300 __Reply__host_check_multiuser_mode_t Reply_host_check_multiuser_mode;
1301 __Reply__mach_zone_info_for_zone_t Reply_mach_zone_info_for_zone;
1302 __Reply__mach_memory_info_redacted_t Reply_mach_memory_info_redacted;
1303};
1304#endif /* !__RequestUnion__mach_host_subsystem__defined */
1305
1306#ifndef subsystem_to_name_map_mach_host
1307#define subsystem_to_name_map_mach_host \
1308 { "host_info", 200 },\
1309 { "host_kernel_version", 201 },\
1310 { "_host_page_size", 202 },\
1311 { "mach_memory_object_memory_entry", 203 },\
1312 { "host_processor_info", 204 },\
1313 { "host_get_io_main", 205 },\
1314 { "host_get_clock_service", 206 },\
1315 { "kmod_get_info", 207 },\
1316 { "host_virtual_physical_table_info", 209 },\
1317 { "processor_set_default", 213 },\
1318 { "processor_set_create", 214 },\
1319 { "mach_memory_object_memory_entry_64", 215 },\
1320 { "host_statistics", 216 },\
1321 { "host_request_notification", 217 },\
1322 { "host_lockgroup_info", 218 },\
1323 { "host_statistics64", 219 },\
1324 { "mach_zone_info", 220 },\
1325 { "host_create_mach_voucher", 222 },\
1326 { "host_register_mach_voucher_attr_manager", 223 },\
1327 { "host_register_well_known_mach_voucher_attr_manager", 224 },\
1328 { "host_set_atm_diagnostic_flag", 225 },\
1329 { "host_get_atm_diagnostic_flag", 226 },\
1330 { "mach_memory_info", 227 },\
1331 { "host_set_multiuser_config_flags", 228 },\
1332 { "host_get_multiuser_config_flags", 229 },\
1333 { "host_check_multiuser_mode", 230 },\
1334 { "mach_zone_info_for_zone", 231 },\
1335 { "mach_memory_info_redacted", 235 }
1336#endif
1337
1338#ifdef __AfterMigUserHeader
1339__AfterMigUserHeader
1340#endif /* __AfterMigUserHeader */
1341
1342#endif /* _mach_host_user_ */