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