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