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