master
   1#ifndef	_mach_port_user_
   2#define	_mach_port_user_
   3
   4/* Module mach_port */
   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_port_MSG_COUNT
  55#define	mach_port_MSG_COUNT	43
  56#endif	/* mach_port_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_debug/mach_debug_types.h>
  64
  65#ifdef __BeforeMigUserHeader
  66__BeforeMigUserHeader
  67#endif /* __BeforeMigUserHeader */
  68
  69#include <sys/cdefs.h>
  70__BEGIN_DECLS
  71
  72
  73/* Routine mach_port_names */
  74#ifdef	mig_external
  75mig_external
  76#else
  77extern
  78#endif	/* mig_external */
  79kern_return_t mach_port_names
  80(
  81	ipc_space_t task,
  82	mach_port_name_array_t *names,
  83	mach_msg_type_number_t *namesCnt,
  84	mach_port_type_array_t *types,
  85	mach_msg_type_number_t *typesCnt
  86);
  87
  88/* Routine mach_port_type */
  89#ifdef	mig_external
  90mig_external
  91#else
  92extern
  93#endif	/* mig_external */
  94kern_return_t mach_port_type
  95(
  96	ipc_space_t task,
  97	mach_port_name_t name,
  98	mach_port_type_t *ptype
  99);
 100
 101/* Routine mach_port_rename */
 102#ifdef	mig_external
 103mig_external
 104#else
 105extern
 106#endif	/* mig_external */
 107kern_return_t mach_port_rename
 108(
 109	ipc_space_t task,
 110	mach_port_name_t old_name,
 111	mach_port_name_t new_name
 112);
 113
 114/* Routine mach_port_allocate_name */
 115#ifdef	mig_external
 116mig_external
 117#else
 118extern
 119#endif	/* mig_external */
 120__TVOS_PROHIBITED __WATCHOS_PROHIBITED
 121kern_return_t mach_port_allocate_name
 122(
 123	ipc_space_t task,
 124	mach_port_right_t right,
 125	mach_port_name_t name
 126);
 127
 128/* Routine mach_port_allocate */
 129#ifdef	mig_external
 130mig_external
 131#else
 132extern
 133#endif	/* mig_external */
 134kern_return_t mach_port_allocate
 135(
 136	ipc_space_t task,
 137	mach_port_right_t right,
 138	mach_port_name_t *name
 139);
 140
 141/* Routine mach_port_destroy */
 142#ifdef	mig_external
 143mig_external
 144#else
 145extern
 146#endif	/* mig_external */
 147__API_DEPRECATED("Inherently unsafe API: instead manage rights with "
 148    "mach_port_destruct(), mach_port_deallocate() or mach_port_mod_refs()",
 149    macos(10.0, 12.0), ios(2.0, 15.0), tvos(9.0, 15.0), watchos(2.0, 8.0))
 150kern_return_t mach_port_destroy
 151(
 152	ipc_space_t task,
 153	mach_port_name_t name
 154);
 155
 156/* Routine mach_port_deallocate */
 157#ifdef	mig_external
 158mig_external
 159#else
 160extern
 161#endif	/* mig_external */
 162kern_return_t mach_port_deallocate
 163(
 164	ipc_space_t task,
 165	mach_port_name_t name
 166);
 167
 168/* Routine mach_port_get_refs */
 169#ifdef	mig_external
 170mig_external
 171#else
 172extern
 173#endif	/* mig_external */
 174kern_return_t mach_port_get_refs
 175(
 176	ipc_space_t task,
 177	mach_port_name_t name,
 178	mach_port_right_t right,
 179	mach_port_urefs_t *refs
 180);
 181
 182/* Routine mach_port_mod_refs */
 183#ifdef	mig_external
 184mig_external
 185#else
 186extern
 187#endif	/* mig_external */
 188kern_return_t mach_port_mod_refs
 189(
 190	ipc_space_t task,
 191	mach_port_name_t name,
 192	mach_port_right_t right,
 193	mach_port_delta_t delta
 194);
 195
 196/* Routine mach_port_peek */
 197#ifdef	mig_external
 198mig_external
 199#else
 200extern
 201#endif	/* mig_external */
 202kern_return_t mach_port_peek
 203(
 204	ipc_space_t task,
 205	mach_port_name_t name,
 206	mach_msg_trailer_type_t trailer_type,
 207	mach_port_seqno_t *request_seqnop,
 208	mach_msg_size_t *msg_sizep,
 209	mach_msg_id_t *msg_idp,
 210	mach_msg_trailer_info_t trailer_infop,
 211	mach_msg_type_number_t *trailer_infopCnt
 212);
 213
 214/* Routine mach_port_set_mscount */
 215#ifdef	mig_external
 216mig_external
 217#else
 218extern
 219#endif	/* mig_external */
 220kern_return_t mach_port_set_mscount
 221(
 222	ipc_space_t task,
 223	mach_port_name_t name,
 224	mach_port_mscount_t mscount
 225);
 226
 227/* Routine mach_port_get_set_status */
 228#ifdef	mig_external
 229mig_external
 230#else
 231extern
 232#endif	/* mig_external */
 233kern_return_t mach_port_get_set_status
 234(
 235	ipc_space_read_t task,
 236	mach_port_name_t name,
 237	mach_port_name_array_t *members,
 238	mach_msg_type_number_t *membersCnt
 239);
 240
 241/* Routine mach_port_move_member */
 242#ifdef	mig_external
 243mig_external
 244#else
 245extern
 246#endif	/* mig_external */
 247kern_return_t mach_port_move_member
 248(
 249	ipc_space_t task,
 250	mach_port_name_t member,
 251	mach_port_name_t after
 252);
 253
 254/* Routine mach_port_request_notification */
 255#ifdef	mig_external
 256mig_external
 257#else
 258extern
 259#endif	/* mig_external */
 260kern_return_t mach_port_request_notification
 261(
 262	ipc_space_t task,
 263	mach_port_name_t name,
 264	mach_msg_id_t msgid,
 265	mach_port_mscount_t sync,
 266	mach_port_t notify,
 267	mach_msg_type_name_t notifyPoly,
 268	mach_port_t *previous
 269);
 270
 271/* Routine mach_port_insert_right */
 272#ifdef	mig_external
 273mig_external
 274#else
 275extern
 276#endif	/* mig_external */
 277kern_return_t mach_port_insert_right
 278(
 279	ipc_space_t task,
 280	mach_port_name_t name,
 281	mach_port_t poly,
 282	mach_msg_type_name_t polyPoly
 283);
 284
 285/* Routine mach_port_extract_right */
 286#ifdef	mig_external
 287mig_external
 288#else
 289extern
 290#endif	/* mig_external */
 291kern_return_t mach_port_extract_right
 292(
 293	ipc_space_t task,
 294	mach_port_name_t name,
 295	mach_msg_type_name_t msgt_name,
 296	mach_port_t *poly,
 297	mach_msg_type_name_t *polyPoly
 298);
 299
 300/* Routine mach_port_set_seqno */
 301#ifdef	mig_external
 302mig_external
 303#else
 304extern
 305#endif	/* mig_external */
 306kern_return_t mach_port_set_seqno
 307(
 308	ipc_space_t task,
 309	mach_port_name_t name,
 310	mach_port_seqno_t seqno
 311);
 312
 313/* Routine mach_port_get_attributes */
 314#ifdef	mig_external
 315mig_external
 316#else
 317extern
 318#endif	/* mig_external */
 319kern_return_t mach_port_get_attributes
 320(
 321	ipc_space_read_t task,
 322	mach_port_name_t name,
 323	mach_port_flavor_t flavor,
 324	mach_port_info_t port_info_out,
 325	mach_msg_type_number_t *port_info_outCnt
 326);
 327
 328/* Routine mach_port_set_attributes */
 329#ifdef	mig_external
 330mig_external
 331#else
 332extern
 333#endif	/* mig_external */
 334kern_return_t mach_port_set_attributes
 335(
 336	ipc_space_t task,
 337	mach_port_name_t name,
 338	mach_port_flavor_t flavor,
 339	mach_port_info_t port_info,
 340	mach_msg_type_number_t port_infoCnt
 341);
 342
 343/* Routine mach_port_allocate_qos */
 344#ifdef	mig_external
 345mig_external
 346#else
 347extern
 348#endif	/* mig_external */
 349kern_return_t mach_port_allocate_qos
 350(
 351	ipc_space_t task,
 352	mach_port_right_t right,
 353	mach_port_qos_t *qos,
 354	mach_port_name_t *name
 355);
 356
 357/* Routine mach_port_allocate_full */
 358#ifdef	mig_external
 359mig_external
 360#else
 361extern
 362#endif	/* mig_external */
 363kern_return_t mach_port_allocate_full
 364(
 365	ipc_space_t task,
 366	mach_port_right_t right,
 367	mach_port_t proto,
 368	mach_port_qos_t *qos,
 369	mach_port_name_t *name
 370);
 371
 372/* Routine task_set_port_space */
 373#ifdef	mig_external
 374mig_external
 375#else
 376extern
 377#endif	/* mig_external */
 378__TVOS_PROHIBITED __WATCHOS_PROHIBITED
 379kern_return_t task_set_port_space
 380(
 381	ipc_space_t task,
 382	int table_entries
 383);
 384
 385/* Routine mach_port_get_srights */
 386#ifdef	mig_external
 387mig_external
 388#else
 389extern
 390#endif	/* mig_external */
 391kern_return_t mach_port_get_srights
 392(
 393	ipc_space_t task,
 394	mach_port_name_t name,
 395	mach_port_rights_t *srights
 396);
 397
 398/* Routine mach_port_space_info */
 399#ifdef	mig_external
 400mig_external
 401#else
 402extern
 403#endif	/* mig_external */
 404kern_return_t mach_port_space_info
 405(
 406	ipc_space_read_t space,
 407	ipc_info_space_t *space_info,
 408	ipc_info_name_array_t *table_info,
 409	mach_msg_type_number_t *table_infoCnt,
 410	ipc_info_tree_name_array_t *tree_info,
 411	mach_msg_type_number_t *tree_infoCnt
 412);
 413
 414/* Routine mach_port_dnrequest_info */
 415#ifdef	mig_external
 416mig_external
 417#else
 418extern
 419#endif	/* mig_external */
 420kern_return_t mach_port_dnrequest_info
 421(
 422	ipc_space_t task,
 423	mach_port_name_t name,
 424	unsigned *dnr_total,
 425	unsigned *dnr_used
 426);
 427
 428/* Routine mach_port_kernel_object */
 429#ifdef	mig_external
 430mig_external
 431#else
 432extern
 433#endif	/* mig_external */
 434kern_return_t mach_port_kernel_object
 435(
 436	ipc_space_read_t task,
 437	mach_port_name_t name,
 438	unsigned *object_type,
 439	unsigned *object_addr
 440);
 441
 442/* Routine mach_port_insert_member */
 443#ifdef	mig_external
 444mig_external
 445#else
 446extern
 447#endif	/* mig_external */
 448kern_return_t mach_port_insert_member
 449(
 450	ipc_space_t task,
 451	mach_port_name_t name,
 452	mach_port_name_t pset
 453);
 454
 455/* Routine mach_port_extract_member */
 456#ifdef	mig_external
 457mig_external
 458#else
 459extern
 460#endif	/* mig_external */
 461kern_return_t mach_port_extract_member
 462(
 463	ipc_space_t task,
 464	mach_port_name_t name,
 465	mach_port_name_t pset
 466);
 467
 468/* Routine mach_port_get_context */
 469#ifdef	mig_external
 470mig_external
 471#else
 472extern
 473#endif	/* mig_external */
 474kern_return_t mach_port_get_context
 475(
 476	ipc_space_read_t task,
 477	mach_port_name_t name,
 478	mach_port_context_t *context
 479);
 480
 481/* Routine mach_port_set_context */
 482#ifdef	mig_external
 483mig_external
 484#else
 485extern
 486#endif	/* mig_external */
 487kern_return_t mach_port_set_context
 488(
 489	ipc_space_t task,
 490	mach_port_name_t name,
 491	mach_port_context_t context
 492);
 493
 494/* Routine mach_port_kobject */
 495#ifdef	mig_external
 496mig_external
 497#else
 498extern
 499#endif	/* mig_external */
 500kern_return_t mach_port_kobject
 501(
 502	ipc_space_read_t task,
 503	mach_port_name_t name,
 504	ipc_info_object_type_t *object_type,
 505	mach_vm_address_t *object_addr
 506);
 507
 508/* Routine mach_port_construct */
 509#ifdef	mig_external
 510mig_external
 511#else
 512extern
 513#endif	/* mig_external */
 514kern_return_t mach_port_construct
 515(
 516	ipc_space_t task,
 517	mach_port_options_ptr_t options,
 518	mach_port_context_t context,
 519	mach_port_name_t *name
 520);
 521
 522/* Routine mach_port_destruct */
 523#ifdef	mig_external
 524mig_external
 525#else
 526extern
 527#endif	/* mig_external */
 528kern_return_t mach_port_destruct
 529(
 530	ipc_space_t task,
 531	mach_port_name_t name,
 532	mach_port_delta_t srdelta,
 533	mach_port_context_t guard
 534);
 535
 536/* Routine mach_port_guard */
 537#ifdef	mig_external
 538mig_external
 539#else
 540extern
 541#endif	/* mig_external */
 542kern_return_t mach_port_guard
 543(
 544	ipc_space_t task,
 545	mach_port_name_t name,
 546	mach_port_context_t guard,
 547	boolean_t strict
 548);
 549
 550/* Routine mach_port_unguard */
 551#ifdef	mig_external
 552mig_external
 553#else
 554extern
 555#endif	/* mig_external */
 556kern_return_t mach_port_unguard
 557(
 558	ipc_space_t task,
 559	mach_port_name_t name,
 560	mach_port_context_t guard
 561);
 562
 563/* Routine mach_port_space_basic_info */
 564#ifdef	mig_external
 565mig_external
 566#else
 567extern
 568#endif	/* mig_external */
 569kern_return_t mach_port_space_basic_info
 570(
 571	ipc_space_inspect_t task,
 572	ipc_info_space_basic_t *basic_info
 573);
 574
 575/* Routine mach_port_guard_with_flags */
 576#ifdef	mig_external
 577mig_external
 578#else
 579extern
 580#endif	/* mig_external */
 581kern_return_t mach_port_guard_with_flags
 582(
 583	ipc_space_t task,
 584	mach_port_name_t name,
 585	mach_port_context_t guard,
 586	uint64_t flags
 587);
 588
 589/* Routine mach_port_swap_guard */
 590#ifdef	mig_external
 591mig_external
 592#else
 593extern
 594#endif	/* mig_external */
 595kern_return_t mach_port_swap_guard
 596(
 597	ipc_space_t task,
 598	mach_port_name_t name,
 599	mach_port_context_t old_guard,
 600	mach_port_context_t new_guard
 601);
 602
 603/* Routine mach_port_kobject_description */
 604#ifdef	mig_external
 605mig_external
 606#else
 607extern
 608#endif	/* mig_external */
 609kern_return_t mach_port_kobject_description
 610(
 611	ipc_space_read_t task,
 612	mach_port_name_t name,
 613	ipc_info_object_type_t *object_type,
 614	mach_vm_address_t *object_addr,
 615	kobject_description_t description
 616);
 617
 618/* Routine mach_port_is_connection_for_service */
 619#ifdef	mig_external
 620mig_external
 621#else
 622extern
 623#endif	/* mig_external */
 624kern_return_t mach_port_is_connection_for_service
 625(
 626	ipc_space_t task,
 627	mach_port_name_t connection_port,
 628	mach_port_name_t service_port,
 629	uint64_t *filter_policy_id
 630);
 631
 632/* Routine mach_port_get_service_port_info */
 633#ifdef	mig_external
 634mig_external
 635#else
 636extern
 637#endif	/* mig_external */
 638kern_return_t mach_port_get_service_port_info
 639(
 640	ipc_space_read_t task,
 641	mach_port_name_t name,
 642	mach_service_port_info_data_t *sp_info_out
 643);
 644
 645/* Routine mach_port_assert_attributes */
 646#ifdef	mig_external
 647mig_external
 648#else
 649extern
 650#endif	/* mig_external */
 651kern_return_t mach_port_assert_attributes
 652(
 653	ipc_space_t task,
 654	mach_port_name_t name,
 655	mach_port_flavor_t flavor,
 656	mach_port_info_t info,
 657	mach_msg_type_number_t infoCnt
 658);
 659
 660__END_DECLS
 661
 662/********************** Caution **************************/
 663/* The following data types should be used to calculate  */
 664/* maximum message sizes only. The actual message may be */
 665/* smaller, and the position of the arguments within the */
 666/* message layout may vary from what is presented here.  */
 667/* For example, if any of the arguments are variable-    */
 668/* sized, and less than the maximum is sent, the data    */
 669/* will be packed tight in the actual message to reduce  */
 670/* the presence of holes.                                */
 671/********************** Caution **************************/
 672
 673/* typedefs for all requests */
 674
 675#ifndef __Request__mach_port_subsystem__defined
 676#define __Request__mach_port_subsystem__defined
 677
 678#ifdef  __MigPackStructs
 679#pragma pack(push, 4)
 680#endif
 681	typedef struct {
 682		mach_msg_header_t Head;
 683	} __Request__mach_port_names_t __attribute__((unused));
 684#ifdef  __MigPackStructs
 685#pragma pack(pop)
 686#endif
 687
 688#ifdef  __MigPackStructs
 689#pragma pack(push, 4)
 690#endif
 691	typedef struct {
 692		mach_msg_header_t Head;
 693		NDR_record_t NDR;
 694		mach_port_name_t name;
 695	} __Request__mach_port_type_t __attribute__((unused));
 696#ifdef  __MigPackStructs
 697#pragma pack(pop)
 698#endif
 699
 700#ifdef  __MigPackStructs
 701#pragma pack(push, 4)
 702#endif
 703	typedef struct {
 704		mach_msg_header_t Head;
 705		NDR_record_t NDR;
 706		mach_port_name_t old_name;
 707		mach_port_name_t new_name;
 708	} __Request__mach_port_rename_t __attribute__((unused));
 709#ifdef  __MigPackStructs
 710#pragma pack(pop)
 711#endif
 712
 713#ifdef  __MigPackStructs
 714#pragma pack(push, 4)
 715#endif
 716	typedef struct {
 717		mach_msg_header_t Head;
 718		NDR_record_t NDR;
 719		mach_port_right_t right;
 720		mach_port_name_t name;
 721	} __Request__mach_port_allocate_name_t __attribute__((unused));
 722#ifdef  __MigPackStructs
 723#pragma pack(pop)
 724#endif
 725
 726#ifdef  __MigPackStructs
 727#pragma pack(push, 4)
 728#endif
 729	typedef struct {
 730		mach_msg_header_t Head;
 731		NDR_record_t NDR;
 732		mach_port_right_t right;
 733	} __Request__mach_port_allocate_t __attribute__((unused));
 734#ifdef  __MigPackStructs
 735#pragma pack(pop)
 736#endif
 737
 738#ifdef  __MigPackStructs
 739#pragma pack(push, 4)
 740#endif
 741	typedef struct {
 742		mach_msg_header_t Head;
 743		NDR_record_t NDR;
 744		mach_port_name_t name;
 745	} __Request__mach_port_destroy_t __attribute__((unused));
 746#ifdef  __MigPackStructs
 747#pragma pack(pop)
 748#endif
 749
 750#ifdef  __MigPackStructs
 751#pragma pack(push, 4)
 752#endif
 753	typedef struct {
 754		mach_msg_header_t Head;
 755		NDR_record_t NDR;
 756		mach_port_name_t name;
 757	} __Request__mach_port_deallocate_t __attribute__((unused));
 758#ifdef  __MigPackStructs
 759#pragma pack(pop)
 760#endif
 761
 762#ifdef  __MigPackStructs
 763#pragma pack(push, 4)
 764#endif
 765	typedef struct {
 766		mach_msg_header_t Head;
 767		NDR_record_t NDR;
 768		mach_port_name_t name;
 769		mach_port_right_t right;
 770	} __Request__mach_port_get_refs_t __attribute__((unused));
 771#ifdef  __MigPackStructs
 772#pragma pack(pop)
 773#endif
 774
 775#ifdef  __MigPackStructs
 776#pragma pack(push, 4)
 777#endif
 778	typedef struct {
 779		mach_msg_header_t Head;
 780		NDR_record_t NDR;
 781		mach_port_name_t name;
 782		mach_port_right_t right;
 783		mach_port_delta_t delta;
 784	} __Request__mach_port_mod_refs_t __attribute__((unused));
 785#ifdef  __MigPackStructs
 786#pragma pack(pop)
 787#endif
 788
 789#ifdef  __MigPackStructs
 790#pragma pack(push, 4)
 791#endif
 792	typedef struct {
 793		mach_msg_header_t Head;
 794		NDR_record_t NDR;
 795		mach_port_name_t name;
 796		mach_msg_trailer_type_t trailer_type;
 797		mach_port_seqno_t request_seqnop;
 798		mach_msg_type_number_t trailer_infopCnt;
 799	} __Request__mach_port_peek_t __attribute__((unused));
 800#ifdef  __MigPackStructs
 801#pragma pack(pop)
 802#endif
 803
 804#ifdef  __MigPackStructs
 805#pragma pack(push, 4)
 806#endif
 807	typedef struct {
 808		mach_msg_header_t Head;
 809		NDR_record_t NDR;
 810		mach_port_name_t name;
 811		mach_port_mscount_t mscount;
 812	} __Request__mach_port_set_mscount_t __attribute__((unused));
 813#ifdef  __MigPackStructs
 814#pragma pack(pop)
 815#endif
 816
 817#ifdef  __MigPackStructs
 818#pragma pack(push, 4)
 819#endif
 820	typedef struct {
 821		mach_msg_header_t Head;
 822		NDR_record_t NDR;
 823		mach_port_name_t name;
 824	} __Request__mach_port_get_set_status_t __attribute__((unused));
 825#ifdef  __MigPackStructs
 826#pragma pack(pop)
 827#endif
 828
 829#ifdef  __MigPackStructs
 830#pragma pack(push, 4)
 831#endif
 832	typedef struct {
 833		mach_msg_header_t Head;
 834		NDR_record_t NDR;
 835		mach_port_name_t member;
 836		mach_port_name_t after;
 837	} __Request__mach_port_move_member_t __attribute__((unused));
 838#ifdef  __MigPackStructs
 839#pragma pack(pop)
 840#endif
 841
 842#ifdef  __MigPackStructs
 843#pragma pack(push, 4)
 844#endif
 845	typedef struct {
 846		mach_msg_header_t Head;
 847		/* start of the kernel processed data */
 848		mach_msg_body_t msgh_body;
 849		mach_msg_port_descriptor_t notify;
 850		/* end of the kernel processed data */
 851		NDR_record_t NDR;
 852		mach_port_name_t name;
 853		mach_msg_id_t msgid;
 854		mach_port_mscount_t sync;
 855	} __Request__mach_port_request_notification_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		/* start of the kernel processed data */
 866		mach_msg_body_t msgh_body;
 867		mach_msg_port_descriptor_t poly;
 868		/* end of the kernel processed data */
 869		NDR_record_t NDR;
 870		mach_port_name_t name;
 871	} __Request__mach_port_insert_right_t __attribute__((unused));
 872#ifdef  __MigPackStructs
 873#pragma pack(pop)
 874#endif
 875
 876#ifdef  __MigPackStructs
 877#pragma pack(push, 4)
 878#endif
 879	typedef struct {
 880		mach_msg_header_t Head;
 881		NDR_record_t NDR;
 882		mach_port_name_t name;
 883		mach_msg_type_name_t msgt_name;
 884	} __Request__mach_port_extract_right_t __attribute__((unused));
 885#ifdef  __MigPackStructs
 886#pragma pack(pop)
 887#endif
 888
 889#ifdef  __MigPackStructs
 890#pragma pack(push, 4)
 891#endif
 892	typedef struct {
 893		mach_msg_header_t Head;
 894		NDR_record_t NDR;
 895		mach_port_name_t name;
 896		mach_port_seqno_t seqno;
 897	} __Request__mach_port_set_seqno_t __attribute__((unused));
 898#ifdef  __MigPackStructs
 899#pragma pack(pop)
 900#endif
 901
 902#ifdef  __MigPackStructs
 903#pragma pack(push, 4)
 904#endif
 905	typedef struct {
 906		mach_msg_header_t Head;
 907		NDR_record_t NDR;
 908		mach_port_name_t name;
 909		mach_port_flavor_t flavor;
 910		mach_msg_type_number_t port_info_outCnt;
 911	} __Request__mach_port_get_attributes_t __attribute__((unused));
 912#ifdef  __MigPackStructs
 913#pragma pack(pop)
 914#endif
 915
 916#ifdef  __MigPackStructs
 917#pragma pack(push, 4)
 918#endif
 919	typedef struct {
 920		mach_msg_header_t Head;
 921		NDR_record_t NDR;
 922		mach_port_name_t name;
 923		mach_port_flavor_t flavor;
 924		mach_msg_type_number_t port_infoCnt;
 925		integer_t port_info[17];
 926	} __Request__mach_port_set_attributes_t __attribute__((unused));
 927#ifdef  __MigPackStructs
 928#pragma pack(pop)
 929#endif
 930
 931#ifdef  __MigPackStructs
 932#pragma pack(push, 4)
 933#endif
 934	typedef struct {
 935		mach_msg_header_t Head;
 936		NDR_record_t NDR;
 937		mach_port_right_t right;
 938		mach_port_qos_t qos;
 939	} __Request__mach_port_allocate_qos_t __attribute__((unused));
 940#ifdef  __MigPackStructs
 941#pragma pack(pop)
 942#endif
 943
 944#ifdef  __MigPackStructs
 945#pragma pack(push, 4)
 946#endif
 947	typedef struct {
 948		mach_msg_header_t Head;
 949		/* start of the kernel processed data */
 950		mach_msg_body_t msgh_body;
 951		mach_msg_port_descriptor_t proto;
 952		/* end of the kernel processed data */
 953		NDR_record_t NDR;
 954		mach_port_right_t right;
 955		mach_port_qos_t qos;
 956		mach_port_name_t name;
 957	} __Request__mach_port_allocate_full_t __attribute__((unused));
 958#ifdef  __MigPackStructs
 959#pragma pack(pop)
 960#endif
 961
 962#ifdef  __MigPackStructs
 963#pragma pack(push, 4)
 964#endif
 965	typedef struct {
 966		mach_msg_header_t Head;
 967		NDR_record_t NDR;
 968		int table_entries;
 969	} __Request__task_set_port_space_t __attribute__((unused));
 970#ifdef  __MigPackStructs
 971#pragma pack(pop)
 972#endif
 973
 974#ifdef  __MigPackStructs
 975#pragma pack(push, 4)
 976#endif
 977	typedef struct {
 978		mach_msg_header_t Head;
 979		NDR_record_t NDR;
 980		mach_port_name_t name;
 981	} __Request__mach_port_get_srights_t __attribute__((unused));
 982#ifdef  __MigPackStructs
 983#pragma pack(pop)
 984#endif
 985
 986#ifdef  __MigPackStructs
 987#pragma pack(push, 4)
 988#endif
 989	typedef struct {
 990		mach_msg_header_t Head;
 991	} __Request__mach_port_space_info_t __attribute__((unused));
 992#ifdef  __MigPackStructs
 993#pragma pack(pop)
 994#endif
 995
 996#ifdef  __MigPackStructs
 997#pragma pack(push, 4)
 998#endif
 999	typedef struct {
1000		mach_msg_header_t Head;
1001		NDR_record_t NDR;
1002		mach_port_name_t name;
1003	} __Request__mach_port_dnrequest_info_t __attribute__((unused));
1004#ifdef  __MigPackStructs
1005#pragma pack(pop)
1006#endif
1007
1008#ifdef  __MigPackStructs
1009#pragma pack(push, 4)
1010#endif
1011	typedef struct {
1012		mach_msg_header_t Head;
1013		NDR_record_t NDR;
1014		mach_port_name_t name;
1015	} __Request__mach_port_kernel_object_t __attribute__((unused));
1016#ifdef  __MigPackStructs
1017#pragma pack(pop)
1018#endif
1019
1020#ifdef  __MigPackStructs
1021#pragma pack(push, 4)
1022#endif
1023	typedef struct {
1024		mach_msg_header_t Head;
1025		NDR_record_t NDR;
1026		mach_port_name_t name;
1027		mach_port_name_t pset;
1028	} __Request__mach_port_insert_member_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		NDR_record_t NDR;
1039		mach_port_name_t name;
1040		mach_port_name_t pset;
1041	} __Request__mach_port_extract_member_t __attribute__((unused));
1042#ifdef  __MigPackStructs
1043#pragma pack(pop)
1044#endif
1045
1046#ifdef  __MigPackStructs
1047#pragma pack(push, 4)
1048#endif
1049	typedef struct {
1050		mach_msg_header_t Head;
1051		NDR_record_t NDR;
1052		mach_port_name_t name;
1053	} __Request__mach_port_get_context_t __attribute__((unused));
1054#ifdef  __MigPackStructs
1055#pragma pack(pop)
1056#endif
1057
1058#ifdef  __MigPackStructs
1059#pragma pack(push, 4)
1060#endif
1061	typedef struct {
1062		mach_msg_header_t Head;
1063		NDR_record_t NDR;
1064		mach_port_name_t name;
1065		mach_port_context_t context;
1066	} __Request__mach_port_set_context_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		NDR_record_t NDR;
1077		mach_port_name_t name;
1078	} __Request__mach_port_kobject_t __attribute__((unused));
1079#ifdef  __MigPackStructs
1080#pragma pack(pop)
1081#endif
1082
1083#ifdef  __MigPackStructs
1084#pragma pack(push, 4)
1085#endif
1086	typedef struct {
1087		mach_msg_header_t Head;
1088		/* start of the kernel processed data */
1089		mach_msg_body_t msgh_body;
1090		mach_msg_ool_descriptor_t options;
1091		/* end of the kernel processed data */
1092		NDR_record_t NDR;
1093		mach_port_context_t context;
1094	} __Request__mach_port_construct_t __attribute__((unused));
1095#ifdef  __MigPackStructs
1096#pragma pack(pop)
1097#endif
1098
1099#ifdef  __MigPackStructs
1100#pragma pack(push, 4)
1101#endif
1102	typedef struct {
1103		mach_msg_header_t Head;
1104		NDR_record_t NDR;
1105		mach_port_name_t name;
1106		mach_port_delta_t srdelta;
1107		mach_port_context_t guard;
1108	} __Request__mach_port_destruct_t __attribute__((unused));
1109#ifdef  __MigPackStructs
1110#pragma pack(pop)
1111#endif
1112
1113#ifdef  __MigPackStructs
1114#pragma pack(push, 4)
1115#endif
1116	typedef struct {
1117		mach_msg_header_t Head;
1118		NDR_record_t NDR;
1119		mach_port_name_t name;
1120		mach_port_context_t guard;
1121		boolean_t strict;
1122	} __Request__mach_port_guard_t __attribute__((unused));
1123#ifdef  __MigPackStructs
1124#pragma pack(pop)
1125#endif
1126
1127#ifdef  __MigPackStructs
1128#pragma pack(push, 4)
1129#endif
1130	typedef struct {
1131		mach_msg_header_t Head;
1132		NDR_record_t NDR;
1133		mach_port_name_t name;
1134		mach_port_context_t guard;
1135	} __Request__mach_port_unguard_t __attribute__((unused));
1136#ifdef  __MigPackStructs
1137#pragma pack(pop)
1138#endif
1139
1140#ifdef  __MigPackStructs
1141#pragma pack(push, 4)
1142#endif
1143	typedef struct {
1144		mach_msg_header_t Head;
1145	} __Request__mach_port_space_basic_info_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		NDR_record_t NDR;
1156		mach_port_name_t name;
1157		mach_port_context_t guard;
1158		uint64_t flags;
1159	} __Request__mach_port_guard_with_flags_t __attribute__((unused));
1160#ifdef  __MigPackStructs
1161#pragma pack(pop)
1162#endif
1163
1164#ifdef  __MigPackStructs
1165#pragma pack(push, 4)
1166#endif
1167	typedef struct {
1168		mach_msg_header_t Head;
1169		NDR_record_t NDR;
1170		mach_port_name_t name;
1171		mach_port_context_t old_guard;
1172		mach_port_context_t new_guard;
1173	} __Request__mach_port_swap_guard_t __attribute__((unused));
1174#ifdef  __MigPackStructs
1175#pragma pack(pop)
1176#endif
1177
1178#ifdef  __MigPackStructs
1179#pragma pack(push, 4)
1180#endif
1181	typedef struct {
1182		mach_msg_header_t Head;
1183		NDR_record_t NDR;
1184		mach_port_name_t name;
1185	} __Request__mach_port_kobject_description_t __attribute__((unused));
1186#ifdef  __MigPackStructs
1187#pragma pack(pop)
1188#endif
1189
1190#ifdef  __MigPackStructs
1191#pragma pack(push, 4)
1192#endif
1193	typedef struct {
1194		mach_msg_header_t Head;
1195		NDR_record_t NDR;
1196		mach_port_name_t connection_port;
1197		mach_port_name_t service_port;
1198	} __Request__mach_port_is_connection_for_service_t __attribute__((unused));
1199#ifdef  __MigPackStructs
1200#pragma pack(pop)
1201#endif
1202
1203#ifdef  __MigPackStructs
1204#pragma pack(push, 4)
1205#endif
1206	typedef struct {
1207		mach_msg_header_t Head;
1208		NDR_record_t NDR;
1209		mach_port_name_t name;
1210	} __Request__mach_port_get_service_port_info_t __attribute__((unused));
1211#ifdef  __MigPackStructs
1212#pragma pack(pop)
1213#endif
1214
1215#ifdef  __MigPackStructs
1216#pragma pack(push, 4)
1217#endif
1218	typedef struct {
1219		mach_msg_header_t Head;
1220		NDR_record_t NDR;
1221		mach_port_name_t name;
1222		mach_port_flavor_t flavor;
1223		mach_msg_type_number_t infoCnt;
1224		integer_t info[17];
1225	} __Request__mach_port_assert_attributes_t __attribute__((unused));
1226#ifdef  __MigPackStructs
1227#pragma pack(pop)
1228#endif
1229#endif /* !__Request__mach_port_subsystem__defined */
1230
1231/* union of all requests */
1232
1233#ifndef __RequestUnion__mach_port_subsystem__defined
1234#define __RequestUnion__mach_port_subsystem__defined
1235union __RequestUnion__mach_port_subsystem {
1236	__Request__mach_port_names_t Request_mach_port_names;
1237	__Request__mach_port_type_t Request_mach_port_type;
1238	__Request__mach_port_rename_t Request_mach_port_rename;
1239	__Request__mach_port_allocate_name_t Request_mach_port_allocate_name;
1240	__Request__mach_port_allocate_t Request_mach_port_allocate;
1241	__Request__mach_port_destroy_t Request_mach_port_destroy;
1242	__Request__mach_port_deallocate_t Request_mach_port_deallocate;
1243	__Request__mach_port_get_refs_t Request_mach_port_get_refs;
1244	__Request__mach_port_mod_refs_t Request_mach_port_mod_refs;
1245	__Request__mach_port_peek_t Request_mach_port_peek;
1246	__Request__mach_port_set_mscount_t Request_mach_port_set_mscount;
1247	__Request__mach_port_get_set_status_t Request_mach_port_get_set_status;
1248	__Request__mach_port_move_member_t Request_mach_port_move_member;
1249	__Request__mach_port_request_notification_t Request_mach_port_request_notification;
1250	__Request__mach_port_insert_right_t Request_mach_port_insert_right;
1251	__Request__mach_port_extract_right_t Request_mach_port_extract_right;
1252	__Request__mach_port_set_seqno_t Request_mach_port_set_seqno;
1253	__Request__mach_port_get_attributes_t Request_mach_port_get_attributes;
1254	__Request__mach_port_set_attributes_t Request_mach_port_set_attributes;
1255	__Request__mach_port_allocate_qos_t Request_mach_port_allocate_qos;
1256	__Request__mach_port_allocate_full_t Request_mach_port_allocate_full;
1257	__Request__task_set_port_space_t Request_task_set_port_space;
1258	__Request__mach_port_get_srights_t Request_mach_port_get_srights;
1259	__Request__mach_port_space_info_t Request_mach_port_space_info;
1260	__Request__mach_port_dnrequest_info_t Request_mach_port_dnrequest_info;
1261	__Request__mach_port_kernel_object_t Request_mach_port_kernel_object;
1262	__Request__mach_port_insert_member_t Request_mach_port_insert_member;
1263	__Request__mach_port_extract_member_t Request_mach_port_extract_member;
1264	__Request__mach_port_get_context_t Request_mach_port_get_context;
1265	__Request__mach_port_set_context_t Request_mach_port_set_context;
1266	__Request__mach_port_kobject_t Request_mach_port_kobject;
1267	__Request__mach_port_construct_t Request_mach_port_construct;
1268	__Request__mach_port_destruct_t Request_mach_port_destruct;
1269	__Request__mach_port_guard_t Request_mach_port_guard;
1270	__Request__mach_port_unguard_t Request_mach_port_unguard;
1271	__Request__mach_port_space_basic_info_t Request_mach_port_space_basic_info;
1272	__Request__mach_port_guard_with_flags_t Request_mach_port_guard_with_flags;
1273	__Request__mach_port_swap_guard_t Request_mach_port_swap_guard;
1274	__Request__mach_port_kobject_description_t Request_mach_port_kobject_description;
1275	__Request__mach_port_is_connection_for_service_t Request_mach_port_is_connection_for_service;
1276	__Request__mach_port_get_service_port_info_t Request_mach_port_get_service_port_info;
1277	__Request__mach_port_assert_attributes_t Request_mach_port_assert_attributes;
1278};
1279#endif /* !__RequestUnion__mach_port_subsystem__defined */
1280/* typedefs for all replies */
1281
1282#ifndef __Reply__mach_port_subsystem__defined
1283#define __Reply__mach_port_subsystem__defined
1284
1285#ifdef  __MigPackStructs
1286#pragma pack(push, 4)
1287#endif
1288	typedef struct {
1289		mach_msg_header_t Head;
1290		/* start of the kernel processed data */
1291		mach_msg_body_t msgh_body;
1292		mach_msg_ool_descriptor_t names;
1293		mach_msg_ool_descriptor_t types;
1294		/* end of the kernel processed data */
1295		NDR_record_t NDR;
1296		mach_msg_type_number_t namesCnt;
1297		mach_msg_type_number_t typesCnt;
1298	} __Reply__mach_port_names_t __attribute__((unused));
1299#ifdef  __MigPackStructs
1300#pragma pack(pop)
1301#endif
1302
1303#ifdef  __MigPackStructs
1304#pragma pack(push, 4)
1305#endif
1306	typedef struct {
1307		mach_msg_header_t Head;
1308		NDR_record_t NDR;
1309		kern_return_t RetCode;
1310		mach_port_type_t ptype;
1311	} __Reply__mach_port_type_t __attribute__((unused));
1312#ifdef  __MigPackStructs
1313#pragma pack(pop)
1314#endif
1315
1316#ifdef  __MigPackStructs
1317#pragma pack(push, 4)
1318#endif
1319	typedef struct {
1320		mach_msg_header_t Head;
1321		NDR_record_t NDR;
1322		kern_return_t RetCode;
1323	} __Reply__mach_port_rename_t __attribute__((unused));
1324#ifdef  __MigPackStructs
1325#pragma pack(pop)
1326#endif
1327
1328#ifdef  __MigPackStructs
1329#pragma pack(push, 4)
1330#endif
1331	typedef struct {
1332		mach_msg_header_t Head;
1333		NDR_record_t NDR;
1334		kern_return_t RetCode;
1335	} __Reply__mach_port_allocate_name_t __attribute__((unused));
1336#ifdef  __MigPackStructs
1337#pragma pack(pop)
1338#endif
1339
1340#ifdef  __MigPackStructs
1341#pragma pack(push, 4)
1342#endif
1343	typedef struct {
1344		mach_msg_header_t Head;
1345		NDR_record_t NDR;
1346		kern_return_t RetCode;
1347		mach_port_name_t name;
1348	} __Reply__mach_port_allocate_t __attribute__((unused));
1349#ifdef  __MigPackStructs
1350#pragma pack(pop)
1351#endif
1352
1353#ifdef  __MigPackStructs
1354#pragma pack(push, 4)
1355#endif
1356	typedef struct {
1357		mach_msg_header_t Head;
1358		NDR_record_t NDR;
1359		kern_return_t RetCode;
1360	} __Reply__mach_port_destroy_t __attribute__((unused));
1361#ifdef  __MigPackStructs
1362#pragma pack(pop)
1363#endif
1364
1365#ifdef  __MigPackStructs
1366#pragma pack(push, 4)
1367#endif
1368	typedef struct {
1369		mach_msg_header_t Head;
1370		NDR_record_t NDR;
1371		kern_return_t RetCode;
1372	} __Reply__mach_port_deallocate_t __attribute__((unused));
1373#ifdef  __MigPackStructs
1374#pragma pack(pop)
1375#endif
1376
1377#ifdef  __MigPackStructs
1378#pragma pack(push, 4)
1379#endif
1380	typedef struct {
1381		mach_msg_header_t Head;
1382		NDR_record_t NDR;
1383		kern_return_t RetCode;
1384		mach_port_urefs_t refs;
1385	} __Reply__mach_port_get_refs_t __attribute__((unused));
1386#ifdef  __MigPackStructs
1387#pragma pack(pop)
1388#endif
1389
1390#ifdef  __MigPackStructs
1391#pragma pack(push, 4)
1392#endif
1393	typedef struct {
1394		mach_msg_header_t Head;
1395		NDR_record_t NDR;
1396		kern_return_t RetCode;
1397	} __Reply__mach_port_mod_refs_t __attribute__((unused));
1398#ifdef  __MigPackStructs
1399#pragma pack(pop)
1400#endif
1401
1402#ifdef  __MigPackStructs
1403#pragma pack(push, 4)
1404#endif
1405	typedef struct {
1406		mach_msg_header_t Head;
1407		NDR_record_t NDR;
1408		kern_return_t RetCode;
1409		mach_port_seqno_t request_seqnop;
1410		mach_msg_size_t msg_sizep;
1411		mach_msg_id_t msg_idp;
1412		mach_msg_type_number_t trailer_infopCnt;
1413		char trailer_infop[68];
1414	} __Reply__mach_port_peek_t __attribute__((unused));
1415#ifdef  __MigPackStructs
1416#pragma pack(pop)
1417#endif
1418
1419#ifdef  __MigPackStructs
1420#pragma pack(push, 4)
1421#endif
1422	typedef struct {
1423		mach_msg_header_t Head;
1424		NDR_record_t NDR;
1425		kern_return_t RetCode;
1426	} __Reply__mach_port_set_mscount_t __attribute__((unused));
1427#ifdef  __MigPackStructs
1428#pragma pack(pop)
1429#endif
1430
1431#ifdef  __MigPackStructs
1432#pragma pack(push, 4)
1433#endif
1434	typedef struct {
1435		mach_msg_header_t Head;
1436		/* start of the kernel processed data */
1437		mach_msg_body_t msgh_body;
1438		mach_msg_ool_descriptor_t members;
1439		/* end of the kernel processed data */
1440		NDR_record_t NDR;
1441		mach_msg_type_number_t membersCnt;
1442	} __Reply__mach_port_get_set_status_t __attribute__((unused));
1443#ifdef  __MigPackStructs
1444#pragma pack(pop)
1445#endif
1446
1447#ifdef  __MigPackStructs
1448#pragma pack(push, 4)
1449#endif
1450	typedef struct {
1451		mach_msg_header_t Head;
1452		NDR_record_t NDR;
1453		kern_return_t RetCode;
1454	} __Reply__mach_port_move_member_t __attribute__((unused));
1455#ifdef  __MigPackStructs
1456#pragma pack(pop)
1457#endif
1458
1459#ifdef  __MigPackStructs
1460#pragma pack(push, 4)
1461#endif
1462	typedef struct {
1463		mach_msg_header_t Head;
1464		/* start of the kernel processed data */
1465		mach_msg_body_t msgh_body;
1466		mach_msg_port_descriptor_t previous;
1467		/* end of the kernel processed data */
1468	} __Reply__mach_port_request_notification_t __attribute__((unused));
1469#ifdef  __MigPackStructs
1470#pragma pack(pop)
1471#endif
1472
1473#ifdef  __MigPackStructs
1474#pragma pack(push, 4)
1475#endif
1476	typedef struct {
1477		mach_msg_header_t Head;
1478		NDR_record_t NDR;
1479		kern_return_t RetCode;
1480	} __Reply__mach_port_insert_right_t __attribute__((unused));
1481#ifdef  __MigPackStructs
1482#pragma pack(pop)
1483#endif
1484
1485#ifdef  __MigPackStructs
1486#pragma pack(push, 4)
1487#endif
1488	typedef struct {
1489		mach_msg_header_t Head;
1490		/* start of the kernel processed data */
1491		mach_msg_body_t msgh_body;
1492		mach_msg_port_descriptor_t poly;
1493		/* end of the kernel processed data */
1494	} __Reply__mach_port_extract_right_t __attribute__((unused));
1495#ifdef  __MigPackStructs
1496#pragma pack(pop)
1497#endif
1498
1499#ifdef  __MigPackStructs
1500#pragma pack(push, 4)
1501#endif
1502	typedef struct {
1503		mach_msg_header_t Head;
1504		NDR_record_t NDR;
1505		kern_return_t RetCode;
1506	} __Reply__mach_port_set_seqno_t __attribute__((unused));
1507#ifdef  __MigPackStructs
1508#pragma pack(pop)
1509#endif
1510
1511#ifdef  __MigPackStructs
1512#pragma pack(push, 4)
1513#endif
1514	typedef struct {
1515		mach_msg_header_t Head;
1516		NDR_record_t NDR;
1517		kern_return_t RetCode;
1518		mach_msg_type_number_t port_info_outCnt;
1519		integer_t port_info_out[17];
1520	} __Reply__mach_port_get_attributes_t __attribute__((unused));
1521#ifdef  __MigPackStructs
1522#pragma pack(pop)
1523#endif
1524
1525#ifdef  __MigPackStructs
1526#pragma pack(push, 4)
1527#endif
1528	typedef struct {
1529		mach_msg_header_t Head;
1530		NDR_record_t NDR;
1531		kern_return_t RetCode;
1532	} __Reply__mach_port_set_attributes_t __attribute__((unused));
1533#ifdef  __MigPackStructs
1534#pragma pack(pop)
1535#endif
1536
1537#ifdef  __MigPackStructs
1538#pragma pack(push, 4)
1539#endif
1540	typedef struct {
1541		mach_msg_header_t Head;
1542		NDR_record_t NDR;
1543		kern_return_t RetCode;
1544		mach_port_qos_t qos;
1545		mach_port_name_t name;
1546	} __Reply__mach_port_allocate_qos_t __attribute__((unused));
1547#ifdef  __MigPackStructs
1548#pragma pack(pop)
1549#endif
1550
1551#ifdef  __MigPackStructs
1552#pragma pack(push, 4)
1553#endif
1554	typedef struct {
1555		mach_msg_header_t Head;
1556		NDR_record_t NDR;
1557		kern_return_t RetCode;
1558		mach_port_qos_t qos;
1559		mach_port_name_t name;
1560	} __Reply__mach_port_allocate_full_t __attribute__((unused));
1561#ifdef  __MigPackStructs
1562#pragma pack(pop)
1563#endif
1564
1565#ifdef  __MigPackStructs
1566#pragma pack(push, 4)
1567#endif
1568	typedef struct {
1569		mach_msg_header_t Head;
1570		NDR_record_t NDR;
1571		kern_return_t RetCode;
1572	} __Reply__task_set_port_space_t __attribute__((unused));
1573#ifdef  __MigPackStructs
1574#pragma pack(pop)
1575#endif
1576
1577#ifdef  __MigPackStructs
1578#pragma pack(push, 4)
1579#endif
1580	typedef struct {
1581		mach_msg_header_t Head;
1582		NDR_record_t NDR;
1583		kern_return_t RetCode;
1584		mach_port_rights_t srights;
1585	} __Reply__mach_port_get_srights_t __attribute__((unused));
1586#ifdef  __MigPackStructs
1587#pragma pack(pop)
1588#endif
1589
1590#ifdef  __MigPackStructs
1591#pragma pack(push, 4)
1592#endif
1593	typedef struct {
1594		mach_msg_header_t Head;
1595		/* start of the kernel processed data */
1596		mach_msg_body_t msgh_body;
1597		mach_msg_ool_descriptor_t table_info;
1598		mach_msg_ool_descriptor_t tree_info;
1599		/* end of the kernel processed data */
1600		NDR_record_t NDR;
1601		ipc_info_space_t space_info;
1602		mach_msg_type_number_t table_infoCnt;
1603		mach_msg_type_number_t tree_infoCnt;
1604	} __Reply__mach_port_space_info_t __attribute__((unused));
1605#ifdef  __MigPackStructs
1606#pragma pack(pop)
1607#endif
1608
1609#ifdef  __MigPackStructs
1610#pragma pack(push, 4)
1611#endif
1612	typedef struct {
1613		mach_msg_header_t Head;
1614		NDR_record_t NDR;
1615		kern_return_t RetCode;
1616		unsigned dnr_total;
1617		unsigned dnr_used;
1618	} __Reply__mach_port_dnrequest_info_t __attribute__((unused));
1619#ifdef  __MigPackStructs
1620#pragma pack(pop)
1621#endif
1622
1623#ifdef  __MigPackStructs
1624#pragma pack(push, 4)
1625#endif
1626	typedef struct {
1627		mach_msg_header_t Head;
1628		NDR_record_t NDR;
1629		kern_return_t RetCode;
1630		unsigned object_type;
1631		unsigned object_addr;
1632	} __Reply__mach_port_kernel_object_t __attribute__((unused));
1633#ifdef  __MigPackStructs
1634#pragma pack(pop)
1635#endif
1636
1637#ifdef  __MigPackStructs
1638#pragma pack(push, 4)
1639#endif
1640	typedef struct {
1641		mach_msg_header_t Head;
1642		NDR_record_t NDR;
1643		kern_return_t RetCode;
1644	} __Reply__mach_port_insert_member_t __attribute__((unused));
1645#ifdef  __MigPackStructs
1646#pragma pack(pop)
1647#endif
1648
1649#ifdef  __MigPackStructs
1650#pragma pack(push, 4)
1651#endif
1652	typedef struct {
1653		mach_msg_header_t Head;
1654		NDR_record_t NDR;
1655		kern_return_t RetCode;
1656	} __Reply__mach_port_extract_member_t __attribute__((unused));
1657#ifdef  __MigPackStructs
1658#pragma pack(pop)
1659#endif
1660
1661#ifdef  __MigPackStructs
1662#pragma pack(push, 4)
1663#endif
1664	typedef struct {
1665		mach_msg_header_t Head;
1666		NDR_record_t NDR;
1667		kern_return_t RetCode;
1668		mach_port_context_t context;
1669	} __Reply__mach_port_get_context_t __attribute__((unused));
1670#ifdef  __MigPackStructs
1671#pragma pack(pop)
1672#endif
1673
1674#ifdef  __MigPackStructs
1675#pragma pack(push, 4)
1676#endif
1677	typedef struct {
1678		mach_msg_header_t Head;
1679		NDR_record_t NDR;
1680		kern_return_t RetCode;
1681	} __Reply__mach_port_set_context_t __attribute__((unused));
1682#ifdef  __MigPackStructs
1683#pragma pack(pop)
1684#endif
1685
1686#ifdef  __MigPackStructs
1687#pragma pack(push, 4)
1688#endif
1689	typedef struct {
1690		mach_msg_header_t Head;
1691		NDR_record_t NDR;
1692		kern_return_t RetCode;
1693		ipc_info_object_type_t object_type;
1694		mach_vm_address_t object_addr;
1695	} __Reply__mach_port_kobject_t __attribute__((unused));
1696#ifdef  __MigPackStructs
1697#pragma pack(pop)
1698#endif
1699
1700#ifdef  __MigPackStructs
1701#pragma pack(push, 4)
1702#endif
1703	typedef struct {
1704		mach_msg_header_t Head;
1705		NDR_record_t NDR;
1706		kern_return_t RetCode;
1707		mach_port_name_t name;
1708	} __Reply__mach_port_construct_t __attribute__((unused));
1709#ifdef  __MigPackStructs
1710#pragma pack(pop)
1711#endif
1712
1713#ifdef  __MigPackStructs
1714#pragma pack(push, 4)
1715#endif
1716	typedef struct {
1717		mach_msg_header_t Head;
1718		NDR_record_t NDR;
1719		kern_return_t RetCode;
1720	} __Reply__mach_port_destruct_t __attribute__((unused));
1721#ifdef  __MigPackStructs
1722#pragma pack(pop)
1723#endif
1724
1725#ifdef  __MigPackStructs
1726#pragma pack(push, 4)
1727#endif
1728	typedef struct {
1729		mach_msg_header_t Head;
1730		NDR_record_t NDR;
1731		kern_return_t RetCode;
1732	} __Reply__mach_port_guard_t __attribute__((unused));
1733#ifdef  __MigPackStructs
1734#pragma pack(pop)
1735#endif
1736
1737#ifdef  __MigPackStructs
1738#pragma pack(push, 4)
1739#endif
1740	typedef struct {
1741		mach_msg_header_t Head;
1742		NDR_record_t NDR;
1743		kern_return_t RetCode;
1744	} __Reply__mach_port_unguard_t __attribute__((unused));
1745#ifdef  __MigPackStructs
1746#pragma pack(pop)
1747#endif
1748
1749#ifdef  __MigPackStructs
1750#pragma pack(push, 4)
1751#endif
1752	typedef struct {
1753		mach_msg_header_t Head;
1754		NDR_record_t NDR;
1755		kern_return_t RetCode;
1756		ipc_info_space_basic_t basic_info;
1757	} __Reply__mach_port_space_basic_info_t __attribute__((unused));
1758#ifdef  __MigPackStructs
1759#pragma pack(pop)
1760#endif
1761
1762#ifdef  __MigPackStructs
1763#pragma pack(push, 4)
1764#endif
1765	typedef struct {
1766		mach_msg_header_t Head;
1767		NDR_record_t NDR;
1768		kern_return_t RetCode;
1769	} __Reply__mach_port_guard_with_flags_t __attribute__((unused));
1770#ifdef  __MigPackStructs
1771#pragma pack(pop)
1772#endif
1773
1774#ifdef  __MigPackStructs
1775#pragma pack(push, 4)
1776#endif
1777	typedef struct {
1778		mach_msg_header_t Head;
1779		NDR_record_t NDR;
1780		kern_return_t RetCode;
1781	} __Reply__mach_port_swap_guard_t __attribute__((unused));
1782#ifdef  __MigPackStructs
1783#pragma pack(pop)
1784#endif
1785
1786#ifdef  __MigPackStructs
1787#pragma pack(push, 4)
1788#endif
1789	typedef struct {
1790		mach_msg_header_t Head;
1791		NDR_record_t NDR;
1792		kern_return_t RetCode;
1793		ipc_info_object_type_t object_type;
1794		mach_vm_address_t object_addr;
1795		mach_msg_type_number_t descriptionOffset; /* MiG doesn't use it */
1796		mach_msg_type_number_t descriptionCnt;
1797		char description[512];
1798	} __Reply__mach_port_kobject_description_t __attribute__((unused));
1799#ifdef  __MigPackStructs
1800#pragma pack(pop)
1801#endif
1802
1803#ifdef  __MigPackStructs
1804#pragma pack(push, 4)
1805#endif
1806	typedef struct {
1807		mach_msg_header_t Head;
1808		NDR_record_t NDR;
1809		kern_return_t RetCode;
1810		uint64_t filter_policy_id;
1811	} __Reply__mach_port_is_connection_for_service_t __attribute__((unused));
1812#ifdef  __MigPackStructs
1813#pragma pack(pop)
1814#endif
1815
1816#ifdef  __MigPackStructs
1817#pragma pack(push, 4)
1818#endif
1819	typedef struct {
1820		mach_msg_header_t Head;
1821		NDR_record_t NDR;
1822		kern_return_t RetCode;
1823		mach_service_port_info_data_t sp_info_out;
1824	} __Reply__mach_port_get_service_port_info_t __attribute__((unused));
1825#ifdef  __MigPackStructs
1826#pragma pack(pop)
1827#endif
1828
1829#ifdef  __MigPackStructs
1830#pragma pack(push, 4)
1831#endif
1832	typedef struct {
1833		mach_msg_header_t Head;
1834		NDR_record_t NDR;
1835		kern_return_t RetCode;
1836	} __Reply__mach_port_assert_attributes_t __attribute__((unused));
1837#ifdef  __MigPackStructs
1838#pragma pack(pop)
1839#endif
1840#endif /* !__Reply__mach_port_subsystem__defined */
1841
1842/* union of all replies */
1843
1844#ifndef __ReplyUnion__mach_port_subsystem__defined
1845#define __ReplyUnion__mach_port_subsystem__defined
1846union __ReplyUnion__mach_port_subsystem {
1847	__Reply__mach_port_names_t Reply_mach_port_names;
1848	__Reply__mach_port_type_t Reply_mach_port_type;
1849	__Reply__mach_port_rename_t Reply_mach_port_rename;
1850	__Reply__mach_port_allocate_name_t Reply_mach_port_allocate_name;
1851	__Reply__mach_port_allocate_t Reply_mach_port_allocate;
1852	__Reply__mach_port_destroy_t Reply_mach_port_destroy;
1853	__Reply__mach_port_deallocate_t Reply_mach_port_deallocate;
1854	__Reply__mach_port_get_refs_t Reply_mach_port_get_refs;
1855	__Reply__mach_port_mod_refs_t Reply_mach_port_mod_refs;
1856	__Reply__mach_port_peek_t Reply_mach_port_peek;
1857	__Reply__mach_port_set_mscount_t Reply_mach_port_set_mscount;
1858	__Reply__mach_port_get_set_status_t Reply_mach_port_get_set_status;
1859	__Reply__mach_port_move_member_t Reply_mach_port_move_member;
1860	__Reply__mach_port_request_notification_t Reply_mach_port_request_notification;
1861	__Reply__mach_port_insert_right_t Reply_mach_port_insert_right;
1862	__Reply__mach_port_extract_right_t Reply_mach_port_extract_right;
1863	__Reply__mach_port_set_seqno_t Reply_mach_port_set_seqno;
1864	__Reply__mach_port_get_attributes_t Reply_mach_port_get_attributes;
1865	__Reply__mach_port_set_attributes_t Reply_mach_port_set_attributes;
1866	__Reply__mach_port_allocate_qos_t Reply_mach_port_allocate_qos;
1867	__Reply__mach_port_allocate_full_t Reply_mach_port_allocate_full;
1868	__Reply__task_set_port_space_t Reply_task_set_port_space;
1869	__Reply__mach_port_get_srights_t Reply_mach_port_get_srights;
1870	__Reply__mach_port_space_info_t Reply_mach_port_space_info;
1871	__Reply__mach_port_dnrequest_info_t Reply_mach_port_dnrequest_info;
1872	__Reply__mach_port_kernel_object_t Reply_mach_port_kernel_object;
1873	__Reply__mach_port_insert_member_t Reply_mach_port_insert_member;
1874	__Reply__mach_port_extract_member_t Reply_mach_port_extract_member;
1875	__Reply__mach_port_get_context_t Reply_mach_port_get_context;
1876	__Reply__mach_port_set_context_t Reply_mach_port_set_context;
1877	__Reply__mach_port_kobject_t Reply_mach_port_kobject;
1878	__Reply__mach_port_construct_t Reply_mach_port_construct;
1879	__Reply__mach_port_destruct_t Reply_mach_port_destruct;
1880	__Reply__mach_port_guard_t Reply_mach_port_guard;
1881	__Reply__mach_port_unguard_t Reply_mach_port_unguard;
1882	__Reply__mach_port_space_basic_info_t Reply_mach_port_space_basic_info;
1883	__Reply__mach_port_guard_with_flags_t Reply_mach_port_guard_with_flags;
1884	__Reply__mach_port_swap_guard_t Reply_mach_port_swap_guard;
1885	__Reply__mach_port_kobject_description_t Reply_mach_port_kobject_description;
1886	__Reply__mach_port_is_connection_for_service_t Reply_mach_port_is_connection_for_service;
1887	__Reply__mach_port_get_service_port_info_t Reply_mach_port_get_service_port_info;
1888	__Reply__mach_port_assert_attributes_t Reply_mach_port_assert_attributes;
1889};
1890#endif /* !__RequestUnion__mach_port_subsystem__defined */
1891
1892#ifndef subsystem_to_name_map_mach_port
1893#define subsystem_to_name_map_mach_port \
1894    { "mach_port_names", 3200 },\
1895    { "mach_port_type", 3201 },\
1896    { "mach_port_rename", 3202 },\
1897    { "mach_port_allocate_name", 3203 },\
1898    { "mach_port_allocate", 3204 },\
1899    { "mach_port_destroy", 3205 },\
1900    { "mach_port_deallocate", 3206 },\
1901    { "mach_port_get_refs", 3207 },\
1902    { "mach_port_mod_refs", 3208 },\
1903    { "mach_port_peek", 3209 },\
1904    { "mach_port_set_mscount", 3210 },\
1905    { "mach_port_get_set_status", 3211 },\
1906    { "mach_port_move_member", 3212 },\
1907    { "mach_port_request_notification", 3213 },\
1908    { "mach_port_insert_right", 3214 },\
1909    { "mach_port_extract_right", 3215 },\
1910    { "mach_port_set_seqno", 3216 },\
1911    { "mach_port_get_attributes", 3217 },\
1912    { "mach_port_set_attributes", 3218 },\
1913    { "mach_port_allocate_qos", 3219 },\
1914    { "mach_port_allocate_full", 3220 },\
1915    { "task_set_port_space", 3221 },\
1916    { "mach_port_get_srights", 3222 },\
1917    { "mach_port_space_info", 3223 },\
1918    { "mach_port_dnrequest_info", 3224 },\
1919    { "mach_port_kernel_object", 3225 },\
1920    { "mach_port_insert_member", 3226 },\
1921    { "mach_port_extract_member", 3227 },\
1922    { "mach_port_get_context", 3228 },\
1923    { "mach_port_set_context", 3229 },\
1924    { "mach_port_kobject", 3230 },\
1925    { "mach_port_construct", 3231 },\
1926    { "mach_port_destruct", 3232 },\
1927    { "mach_port_guard", 3233 },\
1928    { "mach_port_unguard", 3234 },\
1929    { "mach_port_space_basic_info", 3235 },\
1930    { "mach_port_guard_with_flags", 3237 },\
1931    { "mach_port_swap_guard", 3238 },\
1932    { "mach_port_kobject_description", 3239 },\
1933    { "mach_port_is_connection_for_service", 3240 },\
1934    { "mach_port_get_service_port_info", 3241 },\
1935    { "mach_port_assert_attributes", 3242 }
1936#endif
1937
1938#ifdef __AfterMigUserHeader
1939__AfterMigUserHeader
1940#endif /* __AfterMigUserHeader */
1941
1942#endif	 /* _mach_port_user_ */