master
   1#ifndef	_host_priv_user_
   2#define	_host_priv_user_
   3
   4/* Module host_priv */
   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	host_priv_MSG_COUNT
  55#define	host_priv_MSG_COUNT	26
  56#endif	/* host_priv_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_get_boot_info */
  75#ifdef	mig_external
  76mig_external
  77#else
  78extern
  79#endif	/* mig_external */
  80kern_return_t host_get_boot_info
  81(
  82	host_priv_t host_priv,
  83	kernel_boot_info_t boot_info
  84);
  85
  86/* Routine host_reboot */
  87#ifdef	mig_external
  88mig_external
  89#else
  90extern
  91#endif	/* mig_external */
  92kern_return_t host_reboot
  93(
  94	host_priv_t host_priv,
  95	int options
  96);
  97
  98/* Routine host_priv_statistics */
  99#ifdef	mig_external
 100mig_external
 101#else
 102extern
 103#endif	/* mig_external */
 104kern_return_t host_priv_statistics
 105(
 106	host_priv_t host_priv,
 107	host_flavor_t flavor,
 108	host_info_t host_info_out,
 109	mach_msg_type_number_t *host_info_outCnt
 110);
 111
 112/* Routine host_default_memory_manager */
 113#ifdef	mig_external
 114mig_external
 115#else
 116extern
 117#endif	/* mig_external */
 118kern_return_t host_default_memory_manager
 119(
 120	host_priv_t host_priv,
 121	memory_object_default_t *default_manager,
 122	memory_object_cluster_size_t cluster_size
 123);
 124
 125/* Routine vm_wire */
 126#ifdef	mig_external
 127mig_external
 128#else
 129extern
 130#endif	/* mig_external */
 131kern_return_t vm_wire
 132(
 133	host_priv_t host_priv,
 134	vm_map_t task,
 135	vm_address_t address,
 136	vm_size_t size,
 137	vm_prot_t desired_access
 138);
 139
 140/* Routine thread_wire */
 141#ifdef	mig_external
 142mig_external
 143#else
 144extern
 145#endif	/* mig_external */
 146kern_return_t thread_wire
 147(
 148	host_priv_t host_priv,
 149	thread_act_t thread,
 150	boolean_t wired
 151);
 152
 153/* Routine vm_allocate_cpm */
 154#ifdef	mig_external
 155mig_external
 156#else
 157extern
 158#endif	/* mig_external */
 159kern_return_t vm_allocate_cpm
 160(
 161	host_priv_t host_priv,
 162	vm_map_t task,
 163	vm_address_t *address,
 164	vm_size_t size,
 165	int flags
 166);
 167
 168/* Routine host_processors */
 169#ifdef	mig_external
 170mig_external
 171#else
 172extern
 173#endif	/* mig_external */
 174kern_return_t host_processors
 175(
 176	host_priv_t host_priv,
 177	processor_array_t *out_processor_list,
 178	mach_msg_type_number_t *out_processor_listCnt
 179);
 180
 181/* Routine host_get_clock_control */
 182#ifdef	mig_external
 183mig_external
 184#else
 185extern
 186#endif	/* mig_external */
 187kern_return_t host_get_clock_control
 188(
 189	host_priv_t host_priv,
 190	clock_id_t clock_id,
 191	clock_ctrl_t *clock_ctrl
 192);
 193
 194/* Routine kmod_create */
 195#ifdef	mig_external
 196mig_external
 197#else
 198extern
 199#endif	/* mig_external */
 200kern_return_t kmod_create
 201(
 202	host_priv_t host_priv,
 203	vm_address_t info,
 204	kmod_t *module
 205);
 206
 207/* Routine kmod_destroy */
 208#ifdef	mig_external
 209mig_external
 210#else
 211extern
 212#endif	/* mig_external */
 213kern_return_t kmod_destroy
 214(
 215	host_priv_t host_priv,
 216	kmod_t module
 217);
 218
 219/* Routine kmod_control */
 220#ifdef	mig_external
 221mig_external
 222#else
 223extern
 224#endif	/* mig_external */
 225kern_return_t kmod_control
 226(
 227	host_priv_t host_priv,
 228	kmod_t module,
 229	kmod_control_flavor_t flavor,
 230	kmod_args_t *data,
 231	mach_msg_type_number_t *dataCnt
 232);
 233
 234/* Routine host_get_special_port */
 235#ifdef	mig_external
 236mig_external
 237#else
 238extern
 239#endif	/* mig_external */
 240kern_return_t host_get_special_port
 241(
 242	host_priv_t host_priv,
 243	int node,
 244	int which,
 245	mach_port_t *port
 246);
 247
 248/* Routine host_set_special_port */
 249#ifdef	mig_external
 250mig_external
 251#else
 252extern
 253#endif	/* mig_external */
 254kern_return_t host_set_special_port
 255(
 256	host_priv_t host_priv,
 257	int which,
 258	mach_port_t port
 259);
 260
 261/* Routine host_set_exception_ports */
 262#ifdef	mig_external
 263mig_external
 264#else
 265extern
 266#endif	/* mig_external */
 267kern_return_t host_set_exception_ports
 268(
 269	host_priv_t host_priv,
 270	exception_mask_t exception_mask,
 271	mach_port_t new_port,
 272	exception_behavior_t behavior,
 273	thread_state_flavor_t new_flavor
 274);
 275
 276/* Routine host_get_exception_ports */
 277#ifdef	mig_external
 278mig_external
 279#else
 280extern
 281#endif	/* mig_external */
 282kern_return_t host_get_exception_ports
 283(
 284	host_priv_t host_priv,
 285	exception_mask_t exception_mask,
 286	exception_mask_array_t masks,
 287	mach_msg_type_number_t *masksCnt,
 288	exception_handler_array_t old_handlers,
 289	exception_behavior_array_t old_behaviors,
 290	exception_flavor_array_t old_flavors
 291);
 292
 293/* Routine host_swap_exception_ports */
 294#ifdef	mig_external
 295mig_external
 296#else
 297extern
 298#endif	/* mig_external */
 299kern_return_t host_swap_exception_ports
 300(
 301	host_priv_t host_priv,
 302	exception_mask_t exception_mask,
 303	mach_port_t new_port,
 304	exception_behavior_t behavior,
 305	thread_state_flavor_t new_flavor,
 306	exception_mask_array_t masks,
 307	mach_msg_type_number_t *masksCnt,
 308	exception_handler_array_t old_handlerss,
 309	exception_behavior_array_t old_behaviors,
 310	exception_flavor_array_t old_flavors
 311);
 312
 313/* Routine mach_vm_wire */
 314#ifdef	mig_external
 315mig_external
 316#else
 317extern
 318#endif	/* mig_external */
 319kern_return_t mach_vm_wire
 320(
 321	host_priv_t host_priv,
 322	vm_map_t task,
 323	mach_vm_address_t address,
 324	mach_vm_size_t size,
 325	vm_prot_t desired_access
 326);
 327
 328/* Routine host_processor_sets */
 329#ifdef	mig_external
 330mig_external
 331#else
 332extern
 333#endif	/* mig_external */
 334kern_return_t host_processor_sets
 335(
 336	host_priv_t host_priv,
 337	processor_set_name_array_t *processor_sets,
 338	mach_msg_type_number_t *processor_setsCnt
 339);
 340
 341/* Routine host_processor_set_priv */
 342#ifdef	mig_external
 343mig_external
 344#else
 345extern
 346#endif	/* mig_external */
 347kern_return_t host_processor_set_priv
 348(
 349	host_priv_t host_priv,
 350	processor_set_name_t set_name,
 351	processor_set_t *set
 352);
 353
 354/* Routine host_set_UNDServer */
 355#ifdef	mig_external
 356mig_external
 357#else
 358extern
 359#endif	/* mig_external */
 360kern_return_t host_set_UNDServer
 361(
 362	host_priv_t host,
 363	UNDServerRef server
 364);
 365
 366/* Routine host_get_UNDServer */
 367#ifdef	mig_external
 368mig_external
 369#else
 370extern
 371#endif	/* mig_external */
 372kern_return_t host_get_UNDServer
 373(
 374	host_priv_t host,
 375	UNDServerRef *server
 376);
 377
 378/* Routine kext_request */
 379#ifdef	mig_external
 380mig_external
 381#else
 382extern
 383#endif	/* mig_external */
 384kern_return_t kext_request
 385(
 386	host_priv_t host_priv,
 387	uint32_t user_log_flags,
 388	vm_offset_t request_data,
 389	mach_msg_type_number_t request_dataCnt,
 390	vm_offset_t *response_data,
 391	mach_msg_type_number_t *response_dataCnt,
 392	vm_offset_t *log_data,
 393	mach_msg_type_number_t *log_dataCnt,
 394	kern_return_t *op_result
 395);
 396
 397__END_DECLS
 398
 399/********************** Caution **************************/
 400/* The following data types should be used to calculate  */
 401/* maximum message sizes only. The actual message may be */
 402/* smaller, and the position of the arguments within the */
 403/* message layout may vary from what is presented here.  */
 404/* For example, if any of the arguments are variable-    */
 405/* sized, and less than the maximum is sent, the data    */
 406/* will be packed tight in the actual message to reduce  */
 407/* the presence of holes.                                */
 408/********************** Caution **************************/
 409
 410/* typedefs for all requests */
 411
 412#ifndef __Request__host_priv_subsystem__defined
 413#define __Request__host_priv_subsystem__defined
 414
 415#ifdef  __MigPackStructs
 416#pragma pack(push, 4)
 417#endif
 418	typedef struct {
 419		mach_msg_header_t Head;
 420	} __Request__host_get_boot_info_t __attribute__((unused));
 421#ifdef  __MigPackStructs
 422#pragma pack(pop)
 423#endif
 424
 425#ifdef  __MigPackStructs
 426#pragma pack(push, 4)
 427#endif
 428	typedef struct {
 429		mach_msg_header_t Head;
 430		NDR_record_t NDR;
 431		int options;
 432	} __Request__host_reboot_t __attribute__((unused));
 433#ifdef  __MigPackStructs
 434#pragma pack(pop)
 435#endif
 436
 437#ifdef  __MigPackStructs
 438#pragma pack(push, 4)
 439#endif
 440	typedef struct {
 441		mach_msg_header_t Head;
 442		NDR_record_t NDR;
 443		host_flavor_t flavor;
 444		mach_msg_type_number_t host_info_outCnt;
 445	} __Request__host_priv_statistics_t __attribute__((unused));
 446#ifdef  __MigPackStructs
 447#pragma pack(pop)
 448#endif
 449
 450#ifdef  __MigPackStructs
 451#pragma pack(push, 4)
 452#endif
 453	typedef struct {
 454		mach_msg_header_t Head;
 455		/* start of the kernel processed data */
 456		mach_msg_body_t msgh_body;
 457		mach_msg_port_descriptor_t default_manager;
 458		/* end of the kernel processed data */
 459		NDR_record_t NDR;
 460		memory_object_cluster_size_t cluster_size;
 461	} __Request__host_default_memory_manager_t __attribute__((unused));
 462#ifdef  __MigPackStructs
 463#pragma pack(pop)
 464#endif
 465
 466#ifdef  __MigPackStructs
 467#pragma pack(push, 4)
 468#endif
 469	typedef struct {
 470		mach_msg_header_t Head;
 471		/* start of the kernel processed data */
 472		mach_msg_body_t msgh_body;
 473		mach_msg_port_descriptor_t task;
 474		/* end of the kernel processed data */
 475		NDR_record_t NDR;
 476		vm_address_t address;
 477		vm_size_t size;
 478		vm_prot_t desired_access;
 479	} __Request__vm_wire_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		/* start of the kernel processed data */
 490		mach_msg_body_t msgh_body;
 491		mach_msg_port_descriptor_t thread;
 492		/* end of the kernel processed data */
 493		NDR_record_t NDR;
 494		boolean_t wired;
 495	} __Request__thread_wire_t __attribute__((unused));
 496#ifdef  __MigPackStructs
 497#pragma pack(pop)
 498#endif
 499
 500#ifdef  __MigPackStructs
 501#pragma pack(push, 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 task;
 508		/* end of the kernel processed data */
 509		NDR_record_t NDR;
 510		vm_address_t address;
 511		vm_size_t size;
 512		int flags;
 513	} __Request__vm_allocate_cpm_t __attribute__((unused));
 514#ifdef  __MigPackStructs
 515#pragma pack(pop)
 516#endif
 517
 518#ifdef  __MigPackStructs
 519#pragma pack(push, 4)
 520#endif
 521	typedef struct {
 522		mach_msg_header_t Head;
 523	} __Request__host_processors_t __attribute__((unused));
 524#ifdef  __MigPackStructs
 525#pragma pack(pop)
 526#endif
 527
 528#ifdef  __MigPackStructs
 529#pragma pack(push, 4)
 530#endif
 531	typedef struct {
 532		mach_msg_header_t Head;
 533		NDR_record_t NDR;
 534		clock_id_t clock_id;
 535	} __Request__host_get_clock_control_t __attribute__((unused));
 536#ifdef  __MigPackStructs
 537#pragma pack(pop)
 538#endif
 539
 540#ifdef  __MigPackStructs
 541#pragma pack(push, 4)
 542#endif
 543	typedef struct {
 544		mach_msg_header_t Head;
 545		NDR_record_t NDR;
 546		vm_address_t info;
 547	} __Request__kmod_create_t __attribute__((unused));
 548#ifdef  __MigPackStructs
 549#pragma pack(pop)
 550#endif
 551
 552#ifdef  __MigPackStructs
 553#pragma pack(push, 4)
 554#endif
 555	typedef struct {
 556		mach_msg_header_t Head;
 557		NDR_record_t NDR;
 558		kmod_t module;
 559	} __Request__kmod_destroy_t __attribute__((unused));
 560#ifdef  __MigPackStructs
 561#pragma pack(pop)
 562#endif
 563
 564#ifdef  __MigPackStructs
 565#pragma pack(push, 4)
 566#endif
 567	typedef struct {
 568		mach_msg_header_t Head;
 569		/* start of the kernel processed data */
 570		mach_msg_body_t msgh_body;
 571		mach_msg_ool_descriptor_t data;
 572		/* end of the kernel processed data */
 573		NDR_record_t NDR;
 574		kmod_t module;
 575		kmod_control_flavor_t flavor;
 576		mach_msg_type_number_t dataCnt;
 577	} __Request__kmod_control_t __attribute__((unused));
 578#ifdef  __MigPackStructs
 579#pragma pack(pop)
 580#endif
 581
 582#ifdef  __MigPackStructs
 583#pragma pack(push, 4)
 584#endif
 585	typedef struct {
 586		mach_msg_header_t Head;
 587		NDR_record_t NDR;
 588		int node;
 589		int which;
 590	} __Request__host_get_special_port_t __attribute__((unused));
 591#ifdef  __MigPackStructs
 592#pragma pack(pop)
 593#endif
 594
 595#ifdef  __MigPackStructs
 596#pragma pack(push, 4)
 597#endif
 598	typedef struct {
 599		mach_msg_header_t Head;
 600		/* start of the kernel processed data */
 601		mach_msg_body_t msgh_body;
 602		mach_msg_port_descriptor_t port;
 603		/* end of the kernel processed data */
 604		NDR_record_t NDR;
 605		int which;
 606	} __Request__host_set_special_port_t __attribute__((unused));
 607#ifdef  __MigPackStructs
 608#pragma pack(pop)
 609#endif
 610
 611#ifdef  __MigPackStructs
 612#pragma pack(push, 4)
 613#endif
 614	typedef struct {
 615		mach_msg_header_t Head;
 616		/* start of the kernel processed data */
 617		mach_msg_body_t msgh_body;
 618		mach_msg_port_descriptor_t new_port;
 619		/* end of the kernel processed data */
 620		NDR_record_t NDR;
 621		exception_mask_t exception_mask;
 622		exception_behavior_t behavior;
 623		thread_state_flavor_t new_flavor;
 624	} __Request__host_set_exception_ports_t __attribute__((unused));
 625#ifdef  __MigPackStructs
 626#pragma pack(pop)
 627#endif
 628
 629#ifdef  __MigPackStructs
 630#pragma pack(push, 4)
 631#endif
 632	typedef struct {
 633		mach_msg_header_t Head;
 634		NDR_record_t NDR;
 635		exception_mask_t exception_mask;
 636	} __Request__host_get_exception_ports_t __attribute__((unused));
 637#ifdef  __MigPackStructs
 638#pragma pack(pop)
 639#endif
 640
 641#ifdef  __MigPackStructs
 642#pragma pack(push, 4)
 643#endif
 644	typedef struct {
 645		mach_msg_header_t Head;
 646		/* start of the kernel processed data */
 647		mach_msg_body_t msgh_body;
 648		mach_msg_port_descriptor_t new_port;
 649		/* end of the kernel processed data */
 650		NDR_record_t NDR;
 651		exception_mask_t exception_mask;
 652		exception_behavior_t behavior;
 653		thread_state_flavor_t new_flavor;
 654	} __Request__host_swap_exception_ports_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		/* start of the kernel processed data */
 665		mach_msg_body_t msgh_body;
 666		mach_msg_port_descriptor_t task;
 667		/* end of the kernel processed data */
 668		NDR_record_t NDR;
 669		mach_vm_address_t address;
 670		mach_vm_size_t size;
 671		vm_prot_t desired_access;
 672	} __Request__mach_vm_wire_t __attribute__((unused));
 673#ifdef  __MigPackStructs
 674#pragma pack(pop)
 675#endif
 676
 677#ifdef  __MigPackStructs
 678#pragma pack(push, 4)
 679#endif
 680	typedef struct {
 681		mach_msg_header_t Head;
 682	} __Request__host_processor_sets_t __attribute__((unused));
 683#ifdef  __MigPackStructs
 684#pragma pack(pop)
 685#endif
 686
 687#ifdef  __MigPackStructs
 688#pragma pack(push, 4)
 689#endif
 690	typedef struct {
 691		mach_msg_header_t Head;
 692		/* start of the kernel processed data */
 693		mach_msg_body_t msgh_body;
 694		mach_msg_port_descriptor_t set_name;
 695		/* end of the kernel processed data */
 696	} __Request__host_processor_set_priv_t __attribute__((unused));
 697#ifdef  __MigPackStructs
 698#pragma pack(pop)
 699#endif
 700
 701#ifdef  __MigPackStructs
 702#pragma pack(push, 4)
 703#endif
 704	typedef struct {
 705		mach_msg_header_t Head;
 706		/* start of the kernel processed data */
 707		mach_msg_body_t msgh_body;
 708		mach_msg_port_descriptor_t server;
 709		/* end of the kernel processed data */
 710	} __Request__host_set_UNDServer_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	} __Request__host_get_UNDServer_t __attribute__((unused));
 721#ifdef  __MigPackStructs
 722#pragma pack(pop)
 723#endif
 724
 725#ifdef  __MigPackStructs
 726#pragma pack(push, 4)
 727#endif
 728	typedef struct {
 729		mach_msg_header_t Head;
 730		/* start of the kernel processed data */
 731		mach_msg_body_t msgh_body;
 732		mach_msg_ool_descriptor_t request_data;
 733		/* end of the kernel processed data */
 734		NDR_record_t NDR;
 735		uint32_t user_log_flags;
 736		mach_msg_type_number_t request_dataCnt;
 737	} __Request__kext_request_t __attribute__((unused));
 738#ifdef  __MigPackStructs
 739#pragma pack(pop)
 740#endif
 741#endif /* !__Request__host_priv_subsystem__defined */
 742
 743/* union of all requests */
 744
 745#ifndef __RequestUnion__host_priv_subsystem__defined
 746#define __RequestUnion__host_priv_subsystem__defined
 747union __RequestUnion__host_priv_subsystem {
 748	__Request__host_get_boot_info_t Request_host_get_boot_info;
 749	__Request__host_reboot_t Request_host_reboot;
 750	__Request__host_priv_statistics_t Request_host_priv_statistics;
 751	__Request__host_default_memory_manager_t Request_host_default_memory_manager;
 752	__Request__vm_wire_t Request_vm_wire;
 753	__Request__thread_wire_t Request_thread_wire;
 754	__Request__vm_allocate_cpm_t Request_vm_allocate_cpm;
 755	__Request__host_processors_t Request_host_processors;
 756	__Request__host_get_clock_control_t Request_host_get_clock_control;
 757	__Request__kmod_create_t Request_kmod_create;
 758	__Request__kmod_destroy_t Request_kmod_destroy;
 759	__Request__kmod_control_t Request_kmod_control;
 760	__Request__host_get_special_port_t Request_host_get_special_port;
 761	__Request__host_set_special_port_t Request_host_set_special_port;
 762	__Request__host_set_exception_ports_t Request_host_set_exception_ports;
 763	__Request__host_get_exception_ports_t Request_host_get_exception_ports;
 764	__Request__host_swap_exception_ports_t Request_host_swap_exception_ports;
 765	__Request__mach_vm_wire_t Request_mach_vm_wire;
 766	__Request__host_processor_sets_t Request_host_processor_sets;
 767	__Request__host_processor_set_priv_t Request_host_processor_set_priv;
 768	__Request__host_set_UNDServer_t Request_host_set_UNDServer;
 769	__Request__host_get_UNDServer_t Request_host_get_UNDServer;
 770	__Request__kext_request_t Request_kext_request;
 771};
 772#endif /* !__RequestUnion__host_priv_subsystem__defined */
 773/* typedefs for all replies */
 774
 775#ifndef __Reply__host_priv_subsystem__defined
 776#define __Reply__host_priv_subsystem__defined
 777
 778#ifdef  __MigPackStructs
 779#pragma pack(push, 4)
 780#endif
 781	typedef struct {
 782		mach_msg_header_t Head;
 783		NDR_record_t NDR;
 784		kern_return_t RetCode;
 785		mach_msg_type_number_t boot_infoOffset; /* MiG doesn't use it */
 786		mach_msg_type_number_t boot_infoCnt;
 787		char boot_info[4096];
 788	} __Reply__host_get_boot_info_t __attribute__((unused));
 789#ifdef  __MigPackStructs
 790#pragma pack(pop)
 791#endif
 792
 793#ifdef  __MigPackStructs
 794#pragma pack(push, 4)
 795#endif
 796	typedef struct {
 797		mach_msg_header_t Head;
 798		NDR_record_t NDR;
 799		kern_return_t RetCode;
 800	} __Reply__host_reboot_t __attribute__((unused));
 801#ifdef  __MigPackStructs
 802#pragma pack(pop)
 803#endif
 804
 805#ifdef  __MigPackStructs
 806#pragma pack(push, 4)
 807#endif
 808	typedef struct {
 809		mach_msg_header_t Head;
 810		NDR_record_t NDR;
 811		kern_return_t RetCode;
 812		mach_msg_type_number_t host_info_outCnt;
 813		integer_t host_info_out[68];
 814	} __Reply__host_priv_statistics_t __attribute__((unused));
 815#ifdef  __MigPackStructs
 816#pragma pack(pop)
 817#endif
 818
 819#ifdef  __MigPackStructs
 820#pragma pack(push, 4)
 821#endif
 822	typedef struct {
 823		mach_msg_header_t Head;
 824		/* start of the kernel processed data */
 825		mach_msg_body_t msgh_body;
 826		mach_msg_port_descriptor_t default_manager;
 827		/* end of the kernel processed data */
 828	} __Reply__host_default_memory_manager_t __attribute__((unused));
 829#ifdef  __MigPackStructs
 830#pragma pack(pop)
 831#endif
 832
 833#ifdef  __MigPackStructs
 834#pragma pack(push, 4)
 835#endif
 836	typedef struct {
 837		mach_msg_header_t Head;
 838		NDR_record_t NDR;
 839		kern_return_t RetCode;
 840	} __Reply__vm_wire_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	} __Reply__thread_wire_t __attribute__((unused));
 853#ifdef  __MigPackStructs
 854#pragma pack(pop)
 855#endif
 856
 857#ifdef  __MigPackStructs
 858#pragma pack(push, 4)
 859#endif
 860	typedef struct {
 861		mach_msg_header_t Head;
 862		NDR_record_t NDR;
 863		kern_return_t RetCode;
 864		vm_address_t address;
 865	} __Reply__vm_allocate_cpm_t __attribute__((unused));
 866#ifdef  __MigPackStructs
 867#pragma pack(pop)
 868#endif
 869
 870#ifdef  __MigPackStructs
 871#pragma pack(push, 4)
 872#endif
 873	typedef struct {
 874		mach_msg_header_t Head;
 875		/* start of the kernel processed data */
 876		mach_msg_body_t msgh_body;
 877		mach_msg_ool_ports_descriptor_t out_processor_list;
 878		/* end of the kernel processed data */
 879		NDR_record_t NDR;
 880		mach_msg_type_number_t out_processor_listCnt;
 881	} __Reply__host_processors_t __attribute__((unused));
 882#ifdef  __MigPackStructs
 883#pragma pack(pop)
 884#endif
 885
 886#ifdef  __MigPackStructs
 887#pragma pack(push, 4)
 888#endif
 889	typedef struct {
 890		mach_msg_header_t Head;
 891		/* start of the kernel processed data */
 892		mach_msg_body_t msgh_body;
 893		mach_msg_port_descriptor_t clock_ctrl;
 894		/* end of the kernel processed data */
 895	} __Reply__host_get_clock_control_t __attribute__((unused));
 896#ifdef  __MigPackStructs
 897#pragma pack(pop)
 898#endif
 899
 900#ifdef  __MigPackStructs
 901#pragma pack(push, 4)
 902#endif
 903	typedef struct {
 904		mach_msg_header_t Head;
 905		NDR_record_t NDR;
 906		kern_return_t RetCode;
 907		kmod_t module;
 908	} __Reply__kmod_create_t __attribute__((unused));
 909#ifdef  __MigPackStructs
 910#pragma pack(pop)
 911#endif
 912
 913#ifdef  __MigPackStructs
 914#pragma pack(push, 4)
 915#endif
 916	typedef struct {
 917		mach_msg_header_t Head;
 918		NDR_record_t NDR;
 919		kern_return_t RetCode;
 920	} __Reply__kmod_destroy_t __attribute__((unused));
 921#ifdef  __MigPackStructs
 922#pragma pack(pop)
 923#endif
 924
 925#ifdef  __MigPackStructs
 926#pragma pack(push, 4)
 927#endif
 928	typedef struct {
 929		mach_msg_header_t Head;
 930		/* start of the kernel processed data */
 931		mach_msg_body_t msgh_body;
 932		mach_msg_ool_descriptor_t data;
 933		/* end of the kernel processed data */
 934		NDR_record_t NDR;
 935		mach_msg_type_number_t dataCnt;
 936	} __Reply__kmod_control_t __attribute__((unused));
 937#ifdef  __MigPackStructs
 938#pragma pack(pop)
 939#endif
 940
 941#ifdef  __MigPackStructs
 942#pragma pack(push, 4)
 943#endif
 944	typedef struct {
 945		mach_msg_header_t Head;
 946		/* start of the kernel processed data */
 947		mach_msg_body_t msgh_body;
 948		mach_msg_port_descriptor_t port;
 949		/* end of the kernel processed data */
 950	} __Reply__host_get_special_port_t __attribute__((unused));
 951#ifdef  __MigPackStructs
 952#pragma pack(pop)
 953#endif
 954
 955#ifdef  __MigPackStructs
 956#pragma pack(push, 4)
 957#endif
 958	typedef struct {
 959		mach_msg_header_t Head;
 960		NDR_record_t NDR;
 961		kern_return_t RetCode;
 962	} __Reply__host_set_special_port_t __attribute__((unused));
 963#ifdef  __MigPackStructs
 964#pragma pack(pop)
 965#endif
 966
 967#ifdef  __MigPackStructs
 968#pragma pack(push, 4)
 969#endif
 970	typedef struct {
 971		mach_msg_header_t Head;
 972		NDR_record_t NDR;
 973		kern_return_t RetCode;
 974	} __Reply__host_set_exception_ports_t __attribute__((unused));
 975#ifdef  __MigPackStructs
 976#pragma pack(pop)
 977#endif
 978
 979#ifdef  __MigPackStructs
 980#pragma pack(push, 4)
 981#endif
 982	typedef struct {
 983		mach_msg_header_t Head;
 984		/* start of the kernel processed data */
 985		mach_msg_body_t msgh_body;
 986		mach_msg_port_descriptor_t old_handlers[32];
 987		/* end of the kernel processed data */
 988		NDR_record_t NDR;
 989		mach_msg_type_number_t masksCnt;
 990		exception_mask_t masks[32];
 991		exception_behavior_t old_behaviors[32];
 992		thread_state_flavor_t old_flavors[32];
 993	} __Reply__host_get_exception_ports_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 old_handlerss[32];
1006		/* end of the kernel processed data */
1007		NDR_record_t NDR;
1008		mach_msg_type_number_t masksCnt;
1009		exception_mask_t masks[32];
1010		exception_behavior_t old_behaviors[32];
1011		thread_state_flavor_t old_flavors[32];
1012	} __Reply__host_swap_exception_ports_t __attribute__((unused));
1013#ifdef  __MigPackStructs
1014#pragma pack(pop)
1015#endif
1016
1017#ifdef  __MigPackStructs
1018#pragma pack(push, 4)
1019#endif
1020	typedef struct {
1021		mach_msg_header_t Head;
1022		NDR_record_t NDR;
1023		kern_return_t RetCode;
1024	} __Reply__mach_vm_wire_t __attribute__((unused));
1025#ifdef  __MigPackStructs
1026#pragma pack(pop)
1027#endif
1028
1029#ifdef  __MigPackStructs
1030#pragma pack(push, 4)
1031#endif
1032	typedef struct {
1033		mach_msg_header_t Head;
1034		/* start of the kernel processed data */
1035		mach_msg_body_t msgh_body;
1036		mach_msg_ool_ports_descriptor_t processor_sets;
1037		/* end of the kernel processed data */
1038		NDR_record_t NDR;
1039		mach_msg_type_number_t processor_setsCnt;
1040	} __Reply__host_processor_sets_t __attribute__((unused));
1041#ifdef  __MigPackStructs
1042#pragma pack(pop)
1043#endif
1044
1045#ifdef  __MigPackStructs
1046#pragma pack(push, 4)
1047#endif
1048	typedef struct {
1049		mach_msg_header_t Head;
1050		/* start of the kernel processed data */
1051		mach_msg_body_t msgh_body;
1052		mach_msg_port_descriptor_t set;
1053		/* end of the kernel processed data */
1054	} __Reply__host_processor_set_priv_t __attribute__((unused));
1055#ifdef  __MigPackStructs
1056#pragma pack(pop)
1057#endif
1058
1059#ifdef  __MigPackStructs
1060#pragma pack(push, 4)
1061#endif
1062	typedef struct {
1063		mach_msg_header_t Head;
1064		NDR_record_t NDR;
1065		kern_return_t RetCode;
1066	} __Reply__host_set_UNDServer_t __attribute__((unused));
1067#ifdef  __MigPackStructs
1068#pragma pack(pop)
1069#endif
1070
1071#ifdef  __MigPackStructs
1072#pragma pack(push, 4)
1073#endif
1074	typedef struct {
1075		mach_msg_header_t Head;
1076		/* start of the kernel processed data */
1077		mach_msg_body_t msgh_body;
1078		mach_msg_port_descriptor_t server;
1079		/* end of the kernel processed data */
1080	} __Reply__host_get_UNDServer_t __attribute__((unused));
1081#ifdef  __MigPackStructs
1082#pragma pack(pop)
1083#endif
1084
1085#ifdef  __MigPackStructs
1086#pragma pack(push, 4)
1087#endif
1088	typedef struct {
1089		mach_msg_header_t Head;
1090		/* start of the kernel processed data */
1091		mach_msg_body_t msgh_body;
1092		mach_msg_ool_descriptor_t response_data;
1093		mach_msg_ool_descriptor_t log_data;
1094		/* end of the kernel processed data */
1095		NDR_record_t NDR;
1096		mach_msg_type_number_t response_dataCnt;
1097		mach_msg_type_number_t log_dataCnt;
1098		kern_return_t op_result;
1099	} __Reply__kext_request_t __attribute__((unused));
1100#ifdef  __MigPackStructs
1101#pragma pack(pop)
1102#endif
1103#endif /* !__Reply__host_priv_subsystem__defined */
1104
1105/* union of all replies */
1106
1107#ifndef __ReplyUnion__host_priv_subsystem__defined
1108#define __ReplyUnion__host_priv_subsystem__defined
1109union __ReplyUnion__host_priv_subsystem {
1110	__Reply__host_get_boot_info_t Reply_host_get_boot_info;
1111	__Reply__host_reboot_t Reply_host_reboot;
1112	__Reply__host_priv_statistics_t Reply_host_priv_statistics;
1113	__Reply__host_default_memory_manager_t Reply_host_default_memory_manager;
1114	__Reply__vm_wire_t Reply_vm_wire;
1115	__Reply__thread_wire_t Reply_thread_wire;
1116	__Reply__vm_allocate_cpm_t Reply_vm_allocate_cpm;
1117	__Reply__host_processors_t Reply_host_processors;
1118	__Reply__host_get_clock_control_t Reply_host_get_clock_control;
1119	__Reply__kmod_create_t Reply_kmod_create;
1120	__Reply__kmod_destroy_t Reply_kmod_destroy;
1121	__Reply__kmod_control_t Reply_kmod_control;
1122	__Reply__host_get_special_port_t Reply_host_get_special_port;
1123	__Reply__host_set_special_port_t Reply_host_set_special_port;
1124	__Reply__host_set_exception_ports_t Reply_host_set_exception_ports;
1125	__Reply__host_get_exception_ports_t Reply_host_get_exception_ports;
1126	__Reply__host_swap_exception_ports_t Reply_host_swap_exception_ports;
1127	__Reply__mach_vm_wire_t Reply_mach_vm_wire;
1128	__Reply__host_processor_sets_t Reply_host_processor_sets;
1129	__Reply__host_processor_set_priv_t Reply_host_processor_set_priv;
1130	__Reply__host_set_UNDServer_t Reply_host_set_UNDServer;
1131	__Reply__host_get_UNDServer_t Reply_host_get_UNDServer;
1132	__Reply__kext_request_t Reply_kext_request;
1133};
1134#endif /* !__RequestUnion__host_priv_subsystem__defined */
1135
1136#ifndef subsystem_to_name_map_host_priv
1137#define subsystem_to_name_map_host_priv \
1138    { "host_get_boot_info", 400 },\
1139    { "host_reboot", 401 },\
1140    { "host_priv_statistics", 402 },\
1141    { "host_default_memory_manager", 403 },\
1142    { "vm_wire", 404 },\
1143    { "thread_wire", 405 },\
1144    { "vm_allocate_cpm", 406 },\
1145    { "host_processors", 407 },\
1146    { "host_get_clock_control", 408 },\
1147    { "kmod_create", 409 },\
1148    { "kmod_destroy", 410 },\
1149    { "kmod_control", 411 },\
1150    { "host_get_special_port", 412 },\
1151    { "host_set_special_port", 413 },\
1152    { "host_set_exception_ports", 414 },\
1153    { "host_get_exception_ports", 415 },\
1154    { "host_swap_exception_ports", 416 },\
1155    { "mach_vm_wire", 418 },\
1156    { "host_processor_sets", 419 },\
1157    { "host_processor_set_priv", 420 },\
1158    { "host_set_UNDServer", 423 },\
1159    { "host_get_UNDServer", 424 },\
1160    { "kext_request", 425 }
1161#endif
1162
1163#ifdef __AfterMigUserHeader
1164__AfterMigUserHeader
1165#endif /* __AfterMigUserHeader */
1166
1167#endif	 /* _host_priv_user_ */