1#ifndef _task_user_ 2#define _task_user_ 3 4/* Module task */ 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#ifdef AUTOTEST 17#ifndef FUNCTION_PTR_T 18#define FUNCTION_PTR_T 19typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); 20typedef struct { 21 char *name; 22 function_ptr_t function; 23} function_table_entry; 24typedef function_table_entry *function_table_t; 25#endif /* FUNCTION_PTR_T */ 26#endif /* AUTOTEST */ 27 28#ifndef task_MSG_COUNT 29#define task_MSG_COUNT 35 30#endif /* task_MSG_COUNT */ 31 32#include <mach/std_types.h> 33#include <mach/mig.h> 34#include <mach/mig.h> 35#include <mach/mach_types.h> 36#include <mach_debug/mach_debug_types.h> 37 38#ifdef __BeforeMigUserHeader 39__BeforeMigUserHeader 40#endif /* __BeforeMigUserHeader */ 41 42#include <sys/cdefs.h> 43__BEGIN_DECLS 44 45 46/* Routine task_create */ 47#ifdef mig_external 48mig_external 49#else 50extern 51#endif /* mig_external */ 52kern_return_t task_create 53( 54 task_t target_task, 55 ledger_array_t ledgers, 56 mach_msg_type_number_t ledgersCnt, 57 boolean_t inherit_memory, 58 task_t *child_task 59); 60 61/* Routine task_terminate */ 62#ifdef mig_external 63mig_external 64#else 65extern 66#endif /* mig_external */ 67kern_return_t task_terminate 68( 69 task_t target_task 70); 71 72/* Routine task_threads */ 73#ifdef mig_external 74mig_external 75#else 76extern 77#endif /* mig_external */ 78kern_return_t task_threads 79( 80 task_t target_task, 81 thread_act_array_t *act_list, 82 mach_msg_type_number_t *act_listCnt 83); 84 85/* Routine mach_ports_register */ 86#ifdef mig_external 87mig_external 88#else 89extern 90#endif /* mig_external */ 91kern_return_t mach_ports_register 92( 93 task_t target_task, 94 mach_port_array_t init_port_set, 95 mach_msg_type_number_t init_port_setCnt 96); 97 98/* Routine mach_ports_lookup */ 99#ifdef mig_external 100mig_external 101#else 102extern 103#endif /* mig_external */ 104kern_return_t mach_ports_lookup 105( 106 task_t target_task, 107 mach_port_array_t *init_port_set, 108 mach_msg_type_number_t *init_port_setCnt 109); 110 111/* Routine task_info */ 112#ifdef mig_external 113mig_external 114#else 115extern 116#endif /* mig_external */ 117kern_return_t task_info 118( 119 task_name_t target_task, 120 task_flavor_t flavor, 121 task_info_t task_info_out, 122 mach_msg_type_number_t *task_info_outCnt 123); 124 125/* Routine task_set_info */ 126#ifdef mig_external 127mig_external 128#else 129extern 130#endif /* mig_external */ 131kern_return_t task_set_info 132( 133 task_t target_task, 134 task_flavor_t flavor, 135 task_info_t task_info_in, 136 mach_msg_type_number_t task_info_inCnt 137); 138 139/* Routine task_suspend */ 140#ifdef mig_external 141mig_external 142#else 143extern 144#endif /* mig_external */ 145kern_return_t task_suspend 146( 147 task_t target_task 148); 149 150/* Routine task_resume */ 151#ifdef mig_external 152mig_external 153#else 154extern 155#endif /* mig_external */ 156kern_return_t task_resume 157( 158 task_t target_task 159); 160 161/* Routine task_get_special_port */ 162#ifdef mig_external 163mig_external 164#else 165extern 166#endif /* mig_external */ 167kern_return_t task_get_special_port 168( 169 task_t task, 170 int which_port, 171 mach_port_t *special_port 172); 173 174/* Routine task_set_special_port */ 175#ifdef mig_external 176mig_external 177#else 178extern 179#endif /* mig_external */ 180kern_return_t task_set_special_port 181( 182 task_t task, 183 int which_port, 184 mach_port_t special_port 185); 186 187/* Routine thread_create */ 188#ifdef mig_external 189mig_external 190#else 191extern 192#endif /* mig_external */ 193kern_return_t thread_create 194( 195 task_t parent_task, 196 thread_act_t *child_act 197); 198 199/* Routine thread_create_running */ 200#ifdef mig_external 201mig_external 202#else 203extern 204#endif /* mig_external */ 205kern_return_t thread_create_running 206( 207 task_t parent_task, 208 thread_state_flavor_t flavor, 209 thread_state_t new_state, 210 mach_msg_type_number_t new_stateCnt, 211 thread_act_t *child_act 212); 213 214/* Routine task_set_exception_ports */ 215#ifdef mig_external 216mig_external 217#else 218extern 219#endif /* mig_external */ 220kern_return_t task_set_exception_ports 221( 222 task_t task, 223 exception_mask_t exception_mask, 224 mach_port_t new_port, 225 exception_behavior_t behavior, 226 thread_state_flavor_t new_flavor 227); 228 229/* Routine task_get_exception_ports */ 230#ifdef mig_external 231mig_external 232#else 233extern 234#endif /* mig_external */ 235kern_return_t task_get_exception_ports 236( 237 task_t task, 238 exception_mask_t exception_mask, 239 exception_mask_array_t masks, 240 mach_msg_type_number_t *masksCnt, 241 exception_handler_array_t old_handlers, 242 exception_behavior_array_t old_behaviors, 243 exception_flavor_array_t old_flavors 244); 245 246/* Routine task_swap_exception_ports */ 247#ifdef mig_external 248mig_external 249#else 250extern 251#endif /* mig_external */ 252kern_return_t task_swap_exception_ports 253( 254 task_t task, 255 exception_mask_t exception_mask, 256 mach_port_t new_port, 257 exception_behavior_t behavior, 258 thread_state_flavor_t new_flavor, 259 exception_mask_array_t masks, 260 mach_msg_type_number_t *masksCnt, 261 exception_handler_array_t old_handlerss, 262 exception_behavior_array_t old_behaviors, 263 exception_flavor_array_t old_flavors 264); 265 266/* Routine lock_set_create */ 267#ifdef mig_external 268mig_external 269#else 270extern 271#endif /* mig_external */ 272kern_return_t lock_set_create 273( 274 task_t task, 275 lock_set_t *new_lock_set, 276 int n_ulocks, 277 int policy 278); 279 280/* Routine lock_set_destroy */ 281#ifdef mig_external 282mig_external 283#else 284extern 285#endif /* mig_external */ 286kern_return_t lock_set_destroy 287( 288 task_t task, 289 lock_set_t lock_set 290); 291 292/* Routine semaphore_create */ 293#ifdef mig_external 294mig_external 295#else 296extern 297#endif /* mig_external */ 298kern_return_t semaphore_create 299( 300 task_t task, 301 semaphore_t *semaphore, 302 int policy, 303 int value 304); 305 306/* Routine semaphore_destroy */ 307#ifdef mig_external 308mig_external 309#else 310extern 311#endif /* mig_external */ 312kern_return_t semaphore_destroy 313( 314 task_t task, 315 semaphore_t semaphore 316); 317 318/* Routine task_policy_set */ 319#ifdef mig_external 320mig_external 321#else 322extern 323#endif /* mig_external */ 324kern_return_t task_policy_set 325( 326 task_t task, 327 task_policy_flavor_t flavor, 328 task_policy_t policy_info, 329 mach_msg_type_number_t policy_infoCnt 330); 331 332/* Routine task_policy_get */ 333#ifdef mig_external 334mig_external 335#else 336extern 337#endif /* mig_external */ 338kern_return_t task_policy_get 339( 340 task_t task, 341 task_policy_flavor_t flavor, 342 task_policy_t policy_info, 343 mach_msg_type_number_t *policy_infoCnt, 344 boolean_t *get_default 345); 346 347/* Routine task_sample */ 348#ifdef mig_external 349mig_external 350#else 351extern 352#endif /* mig_external */ 353kern_return_t task_sample 354( 355 task_t task, 356 mach_port_t reply 357); 358 359/* Routine task_policy */ 360#ifdef mig_external 361mig_external 362#else 363extern 364#endif /* mig_external */ 365kern_return_t task_policy 366( 367 task_t task, 368 policy_t policy, 369 policy_base_t base, 370 mach_msg_type_number_t baseCnt, 371 boolean_t set_limit, 372 boolean_t change 373); 374 375/* Routine task_set_emulation */ 376#ifdef mig_external 377mig_external 378#else 379extern 380#endif /* mig_external */ 381kern_return_t task_set_emulation 382( 383 task_t target_port, 384 vm_address_t routine_entry_pt, 385 int routine_number 386); 387 388/* Routine task_get_emulation_vector */ 389#ifdef mig_external 390mig_external 391#else 392extern 393#endif /* mig_external */ 394kern_return_t task_get_emulation_vector 395( 396 task_t task, 397 int *vector_start, 398 emulation_vector_t *emulation_vector, 399 mach_msg_type_number_t *emulation_vectorCnt 400); 401 402/* Routine task_set_emulation_vector */ 403#ifdef mig_external 404mig_external 405#else 406extern 407#endif /* mig_external */ 408kern_return_t task_set_emulation_vector 409( 410 task_t task, 411 int vector_start, 412 emulation_vector_t emulation_vector, 413 mach_msg_type_number_t emulation_vectorCnt 414); 415 416/* Routine task_set_ras_pc */ 417#ifdef mig_external 418mig_external 419#else 420extern 421#endif /* mig_external */ 422kern_return_t task_set_ras_pc 423( 424 task_t target_task, 425 vm_address_t basepc, 426 vm_address_t boundspc 427); 428 429/* Routine task_zone_info */ 430#ifdef mig_external 431mig_external 432#else 433extern 434#endif /* mig_external */ 435kern_return_t task_zone_info 436( 437 task_t target_task, 438 mach_zone_name_array_t *names, 439 mach_msg_type_number_t *namesCnt, 440 task_zone_info_array_t *info, 441 mach_msg_type_number_t *infoCnt 442); 443 444/* Routine task_assign */ 445#ifdef mig_external 446mig_external 447#else 448extern 449#endif /* mig_external */ 450kern_return_t task_assign 451( 452 task_t task, 453 processor_set_t new_set, 454 boolean_t assign_threads 455); 456 457/* Routine task_assign_default */ 458#ifdef mig_external 459mig_external 460#else 461extern 462#endif /* mig_external */ 463kern_return_t task_assign_default 464( 465 task_t task, 466 boolean_t assign_threads 467); 468 469/* Routine task_get_assignment */ 470#ifdef mig_external 471mig_external 472#else 473extern 474#endif /* mig_external */ 475kern_return_t task_get_assignment 476( 477 task_t task, 478 processor_set_name_t *assigned_set 479); 480 481/* Routine task_set_policy */ 482#ifdef mig_external 483mig_external 484#else 485extern 486#endif /* mig_external */ 487kern_return_t task_set_policy 488( 489 task_t task, 490 processor_set_t pset, 491 policy_t policy, 492 policy_base_t base, 493 mach_msg_type_number_t baseCnt, 494 policy_limit_t limit, 495 mach_msg_type_number_t limitCnt, 496 boolean_t change 497); 498 499/* Routine task_get_state */ 500#ifdef mig_external 501mig_external 502#else 503extern 504#endif /* mig_external */ 505kern_return_t task_get_state 506( 507 task_t task, 508 thread_state_flavor_t flavor, 509 thread_state_t old_state, 510 mach_msg_type_number_t *old_stateCnt 511); 512 513/* Routine task_set_state */ 514#ifdef mig_external 515mig_external 516#else 517extern 518#endif /* mig_external */ 519kern_return_t task_set_state 520( 521 task_t task, 522 thread_state_flavor_t flavor, 523 thread_state_t new_state, 524 mach_msg_type_number_t new_stateCnt 525); 526 527__END_DECLS 528 529/********************** Caution **************************/ 530/* The following data types should be used to calculate */ 531/* maximum message sizes only. The actual message may be */ 532/* smaller, and the position of the arguments within the */ 533/* message layout may vary from what is presented here. */ 534/* For example, if any of the arguments are variable- */ 535/* sized, and less than the maximum is sent, the data */ 536/* will be packed tight in the actual message to reduce */ 537/* the presence of holes. */ 538/********************** Caution **************************/ 539 540/* typedefs for all requests */ 541 542#ifndef __Request__task_subsystem__defined 543#define __Request__task_subsystem__defined 544 545#ifdef __MigPackStructs 546#pragma pack(4) 547#endif 548 typedef struct { 549 mach_msg_header_t Head; 550 /* start of the kernel processed data */ 551 mach_msg_body_t msgh_body; 552 mach_msg_ool_ports_descriptor_t ledgers; 553 /* end of the kernel processed data */ 554 NDR_record_t NDR; 555 mach_msg_type_number_t ledgersCnt; 556 boolean_t inherit_memory; 557 } __Request__task_create_t; 558#ifdef __MigPackStructs 559#pragma pack() 560#endif 561 562#ifdef __MigPackStructs 563#pragma pack(4) 564#endif 565 typedef struct { 566 mach_msg_header_t Head; 567 } __Request__task_terminate_t; 568#ifdef __MigPackStructs 569#pragma pack() 570#endif 571 572#ifdef __MigPackStructs 573#pragma pack(4) 574#endif 575 typedef struct { 576 mach_msg_header_t Head; 577 } __Request__task_threads_t; 578#ifdef __MigPackStructs 579#pragma pack() 580#endif 581 582#ifdef __MigPackStructs 583#pragma pack(4) 584#endif 585 typedef struct { 586 mach_msg_header_t Head; 587 /* start of the kernel processed data */ 588 mach_msg_body_t msgh_body; 589 mach_msg_ool_ports_descriptor_t init_port_set; 590 /* end of the kernel processed data */ 591 NDR_record_t NDR; 592 mach_msg_type_number_t init_port_setCnt; 593 } __Request__mach_ports_register_t; 594#ifdef __MigPackStructs 595#pragma pack() 596#endif 597 598#ifdef __MigPackStructs 599#pragma pack(4) 600#endif 601 typedef struct { 602 mach_msg_header_t Head; 603 } __Request__mach_ports_lookup_t; 604#ifdef __MigPackStructs 605#pragma pack() 606#endif 607 608#ifdef __MigPackStructs 609#pragma pack(4) 610#endif 611 typedef struct { 612 mach_msg_header_t Head; 613 NDR_record_t NDR; 614 task_flavor_t flavor; 615 mach_msg_type_number_t task_info_outCnt; 616 } __Request__task_info_t; 617#ifdef __MigPackStructs 618#pragma pack() 619#endif 620 621#ifdef __MigPackStructs 622#pragma pack(4) 623#endif 624 typedef struct { 625 mach_msg_header_t Head; 626 NDR_record_t NDR; 627 task_flavor_t flavor; 628 mach_msg_type_number_t task_info_inCnt; 629 integer_t task_info_in[32]; 630 } __Request__task_set_info_t; 631#ifdef __MigPackStructs 632#pragma pack() 633#endif 634 635#ifdef __MigPackStructs 636#pragma pack(4) 637#endif 638 typedef struct { 639 mach_msg_header_t Head; 640 } __Request__task_suspend_t; 641#ifdef __MigPackStructs 642#pragma pack() 643#endif 644 645#ifdef __MigPackStructs 646#pragma pack(4) 647#endif 648 typedef struct { 649 mach_msg_header_t Head; 650 } __Request__task_resume_t; 651#ifdef __MigPackStructs 652#pragma pack() 653#endif 654 655#ifdef __MigPackStructs 656#pragma pack(4) 657#endif 658 typedef struct { 659 mach_msg_header_t Head; 660 NDR_record_t NDR; 661 int which_port; 662 } __Request__task_get_special_port_t; 663#ifdef __MigPackStructs 664#pragma pack() 665#endif 666 667#ifdef __MigPackStructs 668#pragma pack(4) 669#endif 670 typedef struct { 671 mach_msg_header_t Head; 672 /* start of the kernel processed data */ 673 mach_msg_body_t msgh_body; 674 mach_msg_port_descriptor_t special_port; 675 /* end of the kernel processed data */ 676 NDR_record_t NDR; 677 int which_port; 678 } __Request__task_set_special_port_t; 679#ifdef __MigPackStructs 680#pragma pack() 681#endif 682 683#ifdef __MigPackStructs 684#pragma pack(4) 685#endif 686 typedef struct { 687 mach_msg_header_t Head; 688 } __Request__thread_create_t; 689#ifdef __MigPackStructs 690#pragma pack() 691#endif 692 693#ifdef __MigPackStructs 694#pragma pack(4) 695#endif 696 typedef struct { 697 mach_msg_header_t Head; 698 NDR_record_t NDR; 699 thread_state_flavor_t flavor; 700 mach_msg_type_number_t new_stateCnt; 701 natural_t new_state[144]; 702 } __Request__thread_create_running_t; 703#ifdef __MigPackStructs 704#pragma pack() 705#endif 706 707#ifdef __MigPackStructs 708#pragma pack(4) 709#endif 710 typedef struct { 711 mach_msg_header_t Head; 712 /* start of the kernel processed data */ 713 mach_msg_body_t msgh_body; 714 mach_msg_port_descriptor_t new_port; 715 /* end of the kernel processed data */ 716 NDR_record_t NDR; 717 exception_mask_t exception_mask; 718 exception_behavior_t behavior; 719 thread_state_flavor_t new_flavor; 720 } __Request__task_set_exception_ports_t; 721#ifdef __MigPackStructs 722#pragma pack() 723#endif 724 725#ifdef __MigPackStructs 726#pragma pack(4) 727#endif 728 typedef struct { 729 mach_msg_header_t Head; 730 NDR_record_t NDR; 731 exception_mask_t exception_mask; 732 } __Request__task_get_exception_ports_t; 733#ifdef __MigPackStructs 734#pragma pack() 735#endif 736 737#ifdef __MigPackStructs 738#pragma pack(4) 739#endif 740 typedef struct { 741 mach_msg_header_t Head; 742 /* start of the kernel processed data */ 743 mach_msg_body_t msgh_body; 744 mach_msg_port_descriptor_t new_port; 745 /* end of the kernel processed data */ 746 NDR_record_t NDR; 747 exception_mask_t exception_mask; 748 exception_behavior_t behavior; 749 thread_state_flavor_t new_flavor; 750 } __Request__task_swap_exception_ports_t; 751#ifdef __MigPackStructs 752#pragma pack() 753#endif 754 755#ifdef __MigPackStructs 756#pragma pack(4) 757#endif 758 typedef struct { 759 mach_msg_header_t Head; 760 NDR_record_t NDR; 761 int n_ulocks; 762 int policy; 763 } __Request__lock_set_create_t; 764#ifdef __MigPackStructs 765#pragma pack() 766#endif 767 768#ifdef __MigPackStructs 769#pragma pack(4) 770#endif 771 typedef struct { 772 mach_msg_header_t Head; 773 /* start of the kernel processed data */ 774 mach_msg_body_t msgh_body; 775 mach_msg_port_descriptor_t lock_set; 776 /* end of the kernel processed data */ 777 } __Request__lock_set_destroy_t; 778#ifdef __MigPackStructs 779#pragma pack() 780#endif 781 782#ifdef __MigPackStructs 783#pragma pack(4) 784#endif 785 typedef struct { 786 mach_msg_header_t Head; 787 NDR_record_t NDR; 788 int policy; 789 int value; 790 } __Request__semaphore_create_t; 791#ifdef __MigPackStructs 792#pragma pack() 793#endif 794 795#ifdef __MigPackStructs 796#pragma pack(4) 797#endif 798 typedef struct { 799 mach_msg_header_t Head; 800 /* start of the kernel processed data */ 801 mach_msg_body_t msgh_body; 802 mach_msg_port_descriptor_t semaphore; 803 /* end of the kernel processed data */ 804 } __Request__semaphore_destroy_t; 805#ifdef __MigPackStructs 806#pragma pack() 807#endif 808 809#ifdef __MigPackStructs 810#pragma pack(4) 811#endif 812 typedef struct { 813 mach_msg_header_t Head; 814 NDR_record_t NDR; 815 task_policy_flavor_t flavor; 816 mach_msg_type_number_t policy_infoCnt; 817 integer_t policy_info[16]; 818 } __Request__task_policy_set_t; 819#ifdef __MigPackStructs 820#pragma pack() 821#endif 822 823#ifdef __MigPackStructs 824#pragma pack(4) 825#endif 826 typedef struct { 827 mach_msg_header_t Head; 828 NDR_record_t NDR; 829 task_policy_flavor_t flavor; 830 mach_msg_type_number_t policy_infoCnt; 831 boolean_t get_default; 832 } __Request__task_policy_get_t; 833#ifdef __MigPackStructs 834#pragma pack() 835#endif 836 837#ifdef __MigPackStructs 838#pragma pack(4) 839#endif 840 typedef struct { 841 mach_msg_header_t Head; 842 /* start of the kernel processed data */ 843 mach_msg_body_t msgh_body; 844 mach_msg_port_descriptor_t reply; 845 /* end of the kernel processed data */ 846 } __Request__task_sample_t; 847#ifdef __MigPackStructs 848#pragma pack() 849#endif 850 851#ifdef __MigPackStructs 852#pragma pack(4) 853#endif 854 typedef struct { 855 mach_msg_header_t Head; 856 NDR_record_t NDR; 857 policy_t policy; 858 mach_msg_type_number_t baseCnt; 859 integer_t base[5]; 860 boolean_t set_limit; 861 boolean_t change; 862 } __Request__task_policy_t; 863#ifdef __MigPackStructs 864#pragma pack() 865#endif 866 867#ifdef __MigPackStructs 868#pragma pack(4) 869#endif 870 typedef struct { 871 mach_msg_header_t Head; 872 NDR_record_t NDR; 873 vm_address_t routine_entry_pt; 874 int routine_number; 875 } __Request__task_set_emulation_t; 876#ifdef __MigPackStructs 877#pragma pack() 878#endif 879 880#ifdef __MigPackStructs 881#pragma pack(4) 882#endif 883 typedef struct { 884 mach_msg_header_t Head; 885 } __Request__task_get_emulation_vector_t; 886#ifdef __MigPackStructs 887#pragma pack() 888#endif 889 890#ifdef __MigPackStructs 891#pragma pack(4) 892#endif 893 typedef struct { 894 mach_msg_header_t Head; 895 /* start of the kernel processed data */ 896 mach_msg_body_t msgh_body; 897 mach_msg_ool_descriptor_t emulation_vector; 898 /* end of the kernel processed data */ 899 NDR_record_t NDR; 900 int vector_start; 901 mach_msg_type_number_t emulation_vectorCnt; 902 } __Request__task_set_emulation_vector_t; 903#ifdef __MigPackStructs 904#pragma pack() 905#endif 906 907#ifdef __MigPackStructs 908#pragma pack(4) 909#endif 910 typedef struct { 911 mach_msg_header_t Head; 912 NDR_record_t NDR; 913 vm_address_t basepc; 914 vm_address_t boundspc; 915 } __Request__task_set_ras_pc_t; 916#ifdef __MigPackStructs 917#pragma pack() 918#endif 919 920#ifdef __MigPackStructs 921#pragma pack(4) 922#endif 923 typedef struct { 924 mach_msg_header_t Head; 925 } __Request__task_zone_info_t; 926#ifdef __MigPackStructs 927#pragma pack() 928#endif 929 930#ifdef __MigPackStructs 931#pragma pack(4) 932#endif 933 typedef struct { 934 mach_msg_header_t Head; 935 /* start of the kernel processed data */ 936 mach_msg_body_t msgh_body; 937 mach_msg_port_descriptor_t new_set; 938 /* end of the kernel processed data */ 939 NDR_record_t NDR; 940 boolean_t assign_threads; 941 } __Request__task_assign_t; 942#ifdef __MigPackStructs 943#pragma pack() 944#endif 945 946#ifdef __MigPackStructs 947#pragma pack(4) 948#endif 949 typedef struct { 950 mach_msg_header_t Head; 951 NDR_record_t NDR; 952 boolean_t assign_threads; 953 } __Request__task_assign_default_t; 954#ifdef __MigPackStructs 955#pragma pack() 956#endif 957 958#ifdef __MigPackStructs 959#pragma pack(4) 960#endif 961 typedef struct { 962 mach_msg_header_t Head; 963 } __Request__task_get_assignment_t; 964#ifdef __MigPackStructs 965#pragma pack() 966#endif 967 968#ifdef __MigPackStructs 969#pragma pack(4) 970#endif 971 typedef struct { 972 mach_msg_header_t Head; 973 /* start of the kernel processed data */ 974 mach_msg_body_t msgh_body; 975 mach_msg_port_descriptor_t pset; 976 /* end of the kernel processed data */ 977 NDR_record_t NDR; 978 policy_t policy; 979 mach_msg_type_number_t baseCnt; 980 integer_t base[5]; 981 mach_msg_type_number_t limitCnt; 982 integer_t limit[1]; 983 boolean_t change; 984 } __Request__task_set_policy_t; 985#ifdef __MigPackStructs 986#pragma pack() 987#endif 988 989#ifdef __MigPackStructs 990#pragma pack(4) 991#endif 992 typedef struct { 993 mach_msg_header_t Head; 994 NDR_record_t NDR; 995 thread_state_flavor_t flavor; 996 mach_msg_type_number_t old_stateCnt; 997 } __Request__task_get_state_t; 998#ifdef __MigPackStructs 999#pragma pack() 1000#endif 1001 1002#ifdef __MigPackStructs 1003#pragma pack(4) 1004#endif 1005 typedef struct { 1006 mach_msg_header_t Head; 1007 NDR_record_t NDR; 1008 thread_state_flavor_t flavor; 1009 mach_msg_type_number_t new_stateCnt; 1010 natural_t new_state[144]; 1011 } __Request__task_set_state_t; 1012#ifdef __MigPackStructs 1013#pragma pack() 1014#endif 1015#endif /* !__Request__task_subsystem__defined */ 1016 1017/* union of all requests */ 1018 1019#ifndef __RequestUnion__task_subsystem__defined 1020#define __RequestUnion__task_subsystem__defined 1021union __RequestUnion__task_subsystem { 1022 __Request__task_create_t Request_task_create; 1023 __Request__task_terminate_t Request_task_terminate; 1024 __Request__task_threads_t Request_task_threads; 1025 __Request__mach_ports_register_t Request_mach_ports_register; 1026 __Request__mach_ports_lookup_t Request_mach_ports_lookup; 1027 __Request__task_info_t Request_task_info; 1028 __Request__task_set_info_t Request_task_set_info; 1029 __Request__task_suspend_t Request_task_suspend; 1030 __Request__task_resume_t Request_task_resume; 1031 __Request__task_get_special_port_t Request_task_get_special_port; 1032 __Request__task_set_special_port_t Request_task_set_special_port; 1033 __Request__thread_create_t Request_thread_create; 1034 __Request__thread_create_running_t Request_thread_create_running; 1035 __Request__task_set_exception_ports_t Request_task_set_exception_ports; 1036 __Request__task_get_exception_ports_t Request_task_get_exception_ports; 1037 __Request__task_swap_exception_ports_t Request_task_swap_exception_ports; 1038 __Request__lock_set_create_t Request_lock_set_create; 1039 __Request__lock_set_destroy_t Request_lock_set_destroy; 1040 __Request__semaphore_create_t Request_semaphore_create; 1041 __Request__semaphore_destroy_t Request_semaphore_destroy; 1042 __Request__task_policy_set_t Request_task_policy_set; 1043 __Request__task_policy_get_t Request_task_policy_get; 1044 __Request__task_sample_t Request_task_sample; 1045 __Request__task_policy_t Request_task_policy; 1046 __Request__task_set_emulation_t Request_task_set_emulation; 1047 __Request__task_get_emulation_vector_t Request_task_get_emulation_vector; 1048 __Request__task_set_emulation_vector_t Request_task_set_emulation_vector; 1049 __Request__task_set_ras_pc_t Request_task_set_ras_pc; 1050 __Request__task_zone_info_t Request_task_zone_info; 1051 __Request__task_assign_t Request_task_assign; 1052 __Request__task_assign_default_t Request_task_assign_default; 1053 __Request__task_get_assignment_t Request_task_get_assignment; 1054 __Request__task_set_policy_t Request_task_set_policy; 1055 __Request__task_get_state_t Request_task_get_state; 1056 __Request__task_set_state_t Request_task_set_state; 1057}; 1058#endif /* !__RequestUnion__task_subsystem__defined */ 1059/* typedefs for all replies */ 1060 1061#ifndef __Reply__task_subsystem__defined 1062#define __Reply__task_subsystem__defined 1063 1064#ifdef __MigPackStructs 1065#pragma pack(4) 1066#endif 1067 typedef struct { 1068 mach_msg_header_t Head; 1069 /* start of the kernel processed data */ 1070 mach_msg_body_t msgh_body; 1071 mach_msg_port_descriptor_t child_task; 1072 /* end of the kernel processed data */ 1073 } __Reply__task_create_t; 1074#ifdef __MigPackStructs 1075#pragma pack() 1076#endif 1077 1078#ifdef __MigPackStructs 1079#pragma pack(4) 1080#endif 1081 typedef struct { 1082 mach_msg_header_t Head; 1083 NDR_record_t NDR; 1084 kern_return_t RetCode; 1085 } __Reply__task_terminate_t; 1086#ifdef __MigPackStructs 1087#pragma pack() 1088#endif 1089 1090#ifdef __MigPackStructs 1091#pragma pack(4) 1092#endif 1093 typedef struct { 1094 mach_msg_header_t Head; 1095 /* start of the kernel processed data */ 1096 mach_msg_body_t msgh_body; 1097 mach_msg_ool_ports_descriptor_t act_list; 1098 /* end of the kernel processed data */ 1099 NDR_record_t NDR; 1100 mach_msg_type_number_t act_listCnt; 1101 } __Reply__task_threads_t; 1102#ifdef __MigPackStructs 1103#pragma pack() 1104#endif 1105 1106#ifdef __MigPackStructs 1107#pragma pack(4) 1108#endif 1109 typedef struct { 1110 mach_msg_header_t Head; 1111 NDR_record_t NDR; 1112 kern_return_t RetCode; 1113 } __Reply__mach_ports_register_t; 1114#ifdef __MigPackStructs 1115#pragma pack() 1116#endif 1117 1118#ifdef __MigPackStructs 1119#pragma pack(4) 1120#endif 1121 typedef struct { 1122 mach_msg_header_t Head; 1123 /* start of the kernel processed data */ 1124 mach_msg_body_t msgh_body; 1125 mach_msg_ool_ports_descriptor_t init_port_set; 1126 /* end of the kernel processed data */ 1127 NDR_record_t NDR; 1128 mach_msg_type_number_t init_port_setCnt; 1129 } __Reply__mach_ports_lookup_t; 1130#ifdef __MigPackStructs 1131#pragma pack() 1132#endif 1133 1134#ifdef __MigPackStructs 1135#pragma pack(4) 1136#endif 1137 typedef struct { 1138 mach_msg_header_t Head; 1139 NDR_record_t NDR; 1140 kern_return_t RetCode; 1141 mach_msg_type_number_t task_info_outCnt; 1142 integer_t task_info_out[32]; 1143 } __Reply__task_info_t; 1144#ifdef __MigPackStructs 1145#pragma pack() 1146#endif 1147 1148#ifdef __MigPackStructs 1149#pragma pack(4) 1150#endif 1151 typedef struct { 1152 mach_msg_header_t Head; 1153 NDR_record_t NDR; 1154 kern_return_t RetCode; 1155 } __Reply__task_set_info_t; 1156#ifdef __MigPackStructs 1157#pragma pack() 1158#endif 1159 1160#ifdef __MigPackStructs 1161#pragma pack(4) 1162#endif 1163 typedef struct { 1164 mach_msg_header_t Head; 1165 NDR_record_t NDR; 1166 kern_return_t RetCode; 1167 } __Reply__task_suspend_t; 1168#ifdef __MigPackStructs 1169#pragma pack() 1170#endif 1171 1172#ifdef __MigPackStructs 1173#pragma pack(4) 1174#endif 1175 typedef struct { 1176 mach_msg_header_t Head; 1177 NDR_record_t NDR; 1178 kern_return_t RetCode; 1179 } __Reply__task_resume_t; 1180#ifdef __MigPackStructs 1181#pragma pack() 1182#endif 1183 1184#ifdef __MigPackStructs 1185#pragma pack(4) 1186#endif 1187 typedef struct { 1188 mach_msg_header_t Head; 1189 /* start of the kernel processed data */ 1190 mach_msg_body_t msgh_body; 1191 mach_msg_port_descriptor_t special_port; 1192 /* end of the kernel processed data */ 1193 } __Reply__task_get_special_port_t; 1194#ifdef __MigPackStructs 1195#pragma pack() 1196#endif 1197 1198#ifdef __MigPackStructs 1199#pragma pack(4) 1200#endif 1201 typedef struct { 1202 mach_msg_header_t Head; 1203 NDR_record_t NDR; 1204 kern_return_t RetCode; 1205 } __Reply__task_set_special_port_t; 1206#ifdef __MigPackStructs 1207#pragma pack() 1208#endif 1209 1210#ifdef __MigPackStructs 1211#pragma pack(4) 1212#endif 1213 typedef struct { 1214 mach_msg_header_t Head; 1215 /* start of the kernel processed data */ 1216 mach_msg_body_t msgh_body; 1217 mach_msg_port_descriptor_t child_act; 1218 /* end of the kernel processed data */ 1219 } __Reply__thread_create_t; 1220#ifdef __MigPackStructs 1221#pragma pack() 1222#endif 1223 1224#ifdef __MigPackStructs 1225#pragma pack(4) 1226#endif 1227 typedef struct { 1228 mach_msg_header_t Head; 1229 /* start of the kernel processed data */ 1230 mach_msg_body_t msgh_body; 1231 mach_msg_port_descriptor_t child_act; 1232 /* end of the kernel processed data */ 1233 } __Reply__thread_create_running_t; 1234#ifdef __MigPackStructs 1235#pragma pack() 1236#endif 1237 1238#ifdef __MigPackStructs 1239#pragma pack(4) 1240#endif 1241 typedef struct { 1242 mach_msg_header_t Head; 1243 NDR_record_t NDR; 1244 kern_return_t RetCode; 1245 } __Reply__task_set_exception_ports_t; 1246#ifdef __MigPackStructs 1247#pragma pack() 1248#endif 1249 1250#ifdef __MigPackStructs 1251#pragma pack(4) 1252#endif 1253 typedef struct { 1254 mach_msg_header_t Head; 1255 /* start of the kernel processed data */ 1256 mach_msg_body_t msgh_body; 1257 mach_msg_port_descriptor_t old_handlers[32]; 1258 /* end of the kernel processed data */ 1259 NDR_record_t NDR; 1260 mach_msg_type_number_t masksCnt; 1261 exception_mask_t masks[32]; 1262 exception_behavior_t old_behaviors[32]; 1263 thread_state_flavor_t old_flavors[32]; 1264 } __Reply__task_get_exception_ports_t; 1265#ifdef __MigPackStructs 1266#pragma pack() 1267#endif 1268 1269#ifdef __MigPackStructs 1270#pragma pack(4) 1271#endif 1272 typedef struct { 1273 mach_msg_header_t Head; 1274 /* start of the kernel processed data */ 1275 mach_msg_body_t msgh_body; 1276 mach_msg_port_descriptor_t old_handlerss[32]; 1277 /* end of the kernel processed data */ 1278 NDR_record_t NDR; 1279 mach_msg_type_number_t masksCnt; 1280 exception_mask_t masks[32]; 1281 exception_behavior_t old_behaviors[32]; 1282 thread_state_flavor_t old_flavors[32]; 1283 } __Reply__task_swap_exception_ports_t; 1284#ifdef __MigPackStructs 1285#pragma pack() 1286#endif 1287 1288#ifdef __MigPackStructs 1289#pragma pack(4) 1290#endif 1291 typedef struct { 1292 mach_msg_header_t Head; 1293 /* start of the kernel processed data */ 1294 mach_msg_body_t msgh_body; 1295 mach_msg_port_descriptor_t new_lock_set; 1296 /* end of the kernel processed data */ 1297 } __Reply__lock_set_create_t; 1298#ifdef __MigPackStructs 1299#pragma pack() 1300#endif 1301 1302#ifdef __MigPackStructs 1303#pragma pack(4) 1304#endif 1305 typedef struct { 1306 mach_msg_header_t Head; 1307 NDR_record_t NDR; 1308 kern_return_t RetCode; 1309 } __Reply__lock_set_destroy_t; 1310#ifdef __MigPackStructs 1311#pragma pack() 1312#endif 1313 1314#ifdef __MigPackStructs 1315#pragma pack(4) 1316#endif 1317 typedef struct { 1318 mach_msg_header_t Head; 1319 /* start of the kernel processed data */ 1320 mach_msg_body_t msgh_body; 1321 mach_msg_port_descriptor_t semaphore; 1322 /* end of the kernel processed data */ 1323 } __Reply__semaphore_create_t; 1324#ifdef __MigPackStructs 1325#pragma pack() 1326#endif 1327 1328#ifdef __MigPackStructs 1329#pragma pack(4) 1330#endif 1331 typedef struct { 1332 mach_msg_header_t Head; 1333 NDR_record_t NDR; 1334 kern_return_t RetCode; 1335 } __Reply__semaphore_destroy_t; 1336#ifdef __MigPackStructs 1337#pragma pack() 1338#endif 1339 1340#ifdef __MigPackStructs 1341#pragma pack(4) 1342#endif 1343 typedef struct { 1344 mach_msg_header_t Head; 1345 NDR_record_t NDR; 1346 kern_return_t RetCode; 1347 } __Reply__task_policy_set_t; 1348#ifdef __MigPackStructs 1349#pragma pack() 1350#endif 1351 1352#ifdef __MigPackStructs 1353#pragma pack(4) 1354#endif 1355 typedef struct { 1356 mach_msg_header_t Head; 1357 NDR_record_t NDR; 1358 kern_return_t RetCode; 1359 mach_msg_type_number_t policy_infoCnt; 1360 integer_t policy_info[16]; 1361 boolean_t get_default; 1362 } __Reply__task_policy_get_t; 1363#ifdef __MigPackStructs 1364#pragma pack() 1365#endif 1366 1367#ifdef __MigPackStructs 1368#pragma pack(4) 1369#endif 1370 typedef struct { 1371 mach_msg_header_t Head; 1372 NDR_record_t NDR; 1373 kern_return_t RetCode; 1374 } __Reply__task_sample_t; 1375#ifdef __MigPackStructs 1376#pragma pack() 1377#endif 1378 1379#ifdef __MigPackStructs 1380#pragma pack(4) 1381#endif 1382 typedef struct { 1383 mach_msg_header_t Head; 1384 NDR_record_t NDR; 1385 kern_return_t RetCode; 1386 } __Reply__task_policy_t; 1387#ifdef __MigPackStructs 1388#pragma pack() 1389#endif 1390 1391#ifdef __MigPackStructs 1392#pragma pack(4) 1393#endif 1394 typedef struct { 1395 mach_msg_header_t Head; 1396 NDR_record_t NDR; 1397 kern_return_t RetCode; 1398 } __Reply__task_set_emulation_t; 1399#ifdef __MigPackStructs 1400#pragma pack() 1401#endif 1402 1403#ifdef __MigPackStructs 1404#pragma pack(4) 1405#endif 1406 typedef struct { 1407 mach_msg_header_t Head; 1408 /* start of the kernel processed data */ 1409 mach_msg_body_t msgh_body; 1410 mach_msg_ool_descriptor_t emulation_vector; 1411 /* end of the kernel processed data */ 1412 NDR_record_t NDR; 1413 int vector_start; 1414 mach_msg_type_number_t emulation_vectorCnt; 1415 } __Reply__task_get_emulation_vector_t; 1416#ifdef __MigPackStructs 1417#pragma pack() 1418#endif 1419 1420#ifdef __MigPackStructs 1421#pragma pack(4) 1422#endif 1423 typedef struct { 1424 mach_msg_header_t Head; 1425 NDR_record_t NDR; 1426 kern_return_t RetCode; 1427 } __Reply__task_set_emulation_vector_t; 1428#ifdef __MigPackStructs 1429#pragma pack() 1430#endif 1431 1432#ifdef __MigPackStructs 1433#pragma pack(4) 1434#endif 1435 typedef struct { 1436 mach_msg_header_t Head; 1437 NDR_record_t NDR; 1438 kern_return_t RetCode; 1439 } __Reply__task_set_ras_pc_t; 1440#ifdef __MigPackStructs 1441#pragma pack() 1442#endif 1443 1444#ifdef __MigPackStructs 1445#pragma pack(4) 1446#endif 1447 typedef struct { 1448 mach_msg_header_t Head; 1449 /* start of the kernel processed data */ 1450 mach_msg_body_t msgh_body; 1451 mach_msg_ool_descriptor_t names; 1452 mach_msg_ool_descriptor_t info; 1453 /* end of the kernel processed data */ 1454 NDR_record_t NDR; 1455 mach_msg_type_number_t namesCnt; 1456 mach_msg_type_number_t infoCnt; 1457 } __Reply__task_zone_info_t; 1458#ifdef __MigPackStructs 1459#pragma pack() 1460#endif 1461 1462#ifdef __MigPackStructs 1463#pragma pack(4) 1464#endif 1465 typedef struct { 1466 mach_msg_header_t Head; 1467 NDR_record_t NDR; 1468 kern_return_t RetCode; 1469 } __Reply__task_assign_t; 1470#ifdef __MigPackStructs 1471#pragma pack() 1472#endif 1473 1474#ifdef __MigPackStructs 1475#pragma pack(4) 1476#endif 1477 typedef struct { 1478 mach_msg_header_t Head; 1479 NDR_record_t NDR; 1480 kern_return_t RetCode; 1481 } __Reply__task_assign_default_t; 1482#ifdef __MigPackStructs 1483#pragma pack() 1484#endif 1485 1486#ifdef __MigPackStructs 1487#pragma pack(4) 1488#endif 1489 typedef struct { 1490 mach_msg_header_t Head; 1491 /* start of the kernel processed data */ 1492 mach_msg_body_t msgh_body; 1493 mach_msg_port_descriptor_t assigned_set; 1494 /* end of the kernel processed data */ 1495 } __Reply__task_get_assignment_t; 1496#ifdef __MigPackStructs 1497#pragma pack() 1498#endif 1499 1500#ifdef __MigPackStructs 1501#pragma pack(4) 1502#endif 1503 typedef struct { 1504 mach_msg_header_t Head; 1505 NDR_record_t NDR; 1506 kern_return_t RetCode; 1507 } __Reply__task_set_policy_t; 1508#ifdef __MigPackStructs 1509#pragma pack() 1510#endif 1511 1512#ifdef __MigPackStructs 1513#pragma pack(4) 1514#endif 1515 typedef struct { 1516 mach_msg_header_t Head; 1517 NDR_record_t NDR; 1518 kern_return_t RetCode; 1519 mach_msg_type_number_t old_stateCnt; 1520 natural_t old_state[144]; 1521 } __Reply__task_get_state_t; 1522#ifdef __MigPackStructs 1523#pragma pack() 1524#endif 1525 1526#ifdef __MigPackStructs 1527#pragma pack(4) 1528#endif 1529 typedef struct { 1530 mach_msg_header_t Head; 1531 NDR_record_t NDR; 1532 kern_return_t RetCode; 1533 } __Reply__task_set_state_t; 1534#ifdef __MigPackStructs 1535#pragma pack() 1536#endif 1537#endif /* !__Reply__task_subsystem__defined */ 1538 1539/* union of all replies */ 1540 1541#ifndef __ReplyUnion__task_subsystem__defined 1542#define __ReplyUnion__task_subsystem__defined 1543union __ReplyUnion__task_subsystem { 1544 __Reply__task_create_t Reply_task_create; 1545 __Reply__task_terminate_t Reply_task_terminate; 1546 __Reply__task_threads_t Reply_task_threads; 1547 __Reply__mach_ports_register_t Reply_mach_ports_register; 1548 __Reply__mach_ports_lookup_t Reply_mach_ports_lookup; 1549 __Reply__task_info_t Reply_task_info; 1550 __Reply__task_set_info_t Reply_task_set_info; 1551 __Reply__task_suspend_t Reply_task_suspend; 1552 __Reply__task_resume_t Reply_task_resume; 1553 __Reply__task_get_special_port_t Reply_task_get_special_port; 1554 __Reply__task_set_special_port_t Reply_task_set_special_port; 1555 __Reply__thread_create_t Reply_thread_create; 1556 __Reply__thread_create_running_t Reply_thread_create_running; 1557 __Reply__task_set_exception_ports_t Reply_task_set_exception_ports; 1558 __Reply__task_get_exception_ports_t Reply_task_get_exception_ports; 1559 __Reply__task_swap_exception_ports_t Reply_task_swap_exception_ports; 1560 __Reply__lock_set_create_t Reply_lock_set_create; 1561 __Reply__lock_set_destroy_t Reply_lock_set_destroy; 1562 __Reply__semaphore_create_t Reply_semaphore_create; 1563 __Reply__semaphore_destroy_t Reply_semaphore_destroy; 1564 __Reply__task_policy_set_t Reply_task_policy_set; 1565 __Reply__task_policy_get_t Reply_task_policy_get; 1566 __Reply__task_sample_t Reply_task_sample; 1567 __Reply__task_policy_t Reply_task_policy; 1568 __Reply__task_set_emulation_t Reply_task_set_emulation; 1569 __Reply__task_get_emulation_vector_t Reply_task_get_emulation_vector; 1570 __Reply__task_set_emulation_vector_t Reply_task_set_emulation_vector; 1571 __Reply__task_set_ras_pc_t Reply_task_set_ras_pc; 1572 __Reply__task_zone_info_t Reply_task_zone_info; 1573 __Reply__task_assign_t Reply_task_assign; 1574 __Reply__task_assign_default_t Reply_task_assign_default; 1575 __Reply__task_get_assignment_t Reply_task_get_assignment; 1576 __Reply__task_set_policy_t Reply_task_set_policy; 1577 __Reply__task_get_state_t Reply_task_get_state; 1578 __Reply__task_set_state_t Reply_task_set_state; 1579}; 1580#endif /* !__RequestUnion__task_subsystem__defined */ 1581 1582#ifndef subsystem_to_name_map_task 1583#define subsystem_to_name_map_task \ 1584 { "task_create", 3400 },\ 1585 { "task_terminate", 3401 },\ 1586 { "task_threads", 3402 },\ 1587 { "mach_ports_register", 3403 },\ 1588 { "mach_ports_lookup", 3404 },\ 1589 { "task_info", 3405 },\ 1590 { "task_set_info", 3406 },\ 1591 { "task_suspend", 3407 },\ 1592 { "task_resume", 3408 },\ 1593 { "task_get_special_port", 3409 },\ 1594 { "task_set_special_port", 3410 },\ 1595 { "thread_create", 3411 },\ 1596 { "thread_create_running", 3412 },\ 1597 { "task_set_exception_ports", 3413 },\ 1598 { "task_get_exception_ports", 3414 },\ 1599 { "task_swap_exception_ports", 3415 },\ 1600 { "lock_set_create", 3416 },\ 1601 { "lock_set_destroy", 3417 },\ 1602 { "semaphore_create", 3418 },\ 1603 { "semaphore_destroy", 3419 },\ 1604 { "task_policy_set", 3420 },\ 1605 { "task_policy_get", 3421 },\ 1606 { "task_sample", 3422 },\ 1607 { "task_policy", 3423 },\ 1608 { "task_set_emulation", 3424 },\ 1609 { "task_get_emulation_vector", 3425 },\ 1610 { "task_set_emulation_vector", 3426 },\ 1611 { "task_set_ras_pc", 3427 },\ 1612 { "task_zone_info", 3428 },\ 1613 { "task_assign", 3429 },\ 1614 { "task_assign_default", 3430 },\ 1615 { "task_get_assignment", 3431 },\ 1616 { "task_set_policy", 3432 },\ 1617 { "task_get_state", 3433 },\ 1618 { "task_set_state", 3434 } 1619#endif 1620 1621#ifdef __AfterMigUserHeader 1622__AfterMigUserHeader 1623#endif /* __AfterMigUserHeader */ 1624 1625#endif /* _task_user_ */ 1626