1#ifndef _thread_act_user_ 2#define _thread_act_user_ 3 4/* Module thread_act */ 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 thread_act_MSG_COUNT 29#define thread_act_MSG_COUNT 25 30#endif /* thread_act_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 37#ifdef __BeforeMigUserHeader 38__BeforeMigUserHeader 39#endif /* __BeforeMigUserHeader */ 40 41#include <sys/cdefs.h> 42__BEGIN_DECLS 43 44 45/* Routine thread_terminate */ 46#ifdef mig_external 47mig_external 48#else 49extern 50#endif /* mig_external */ 51kern_return_t thread_terminate 52( 53 thread_act_t target_act 54); 55 56/* Routine act_get_state */ 57#ifdef mig_external 58mig_external 59#else 60extern 61#endif /* mig_external */ 62kern_return_t act_get_state 63( 64 thread_act_t target_act, 65 int flavor, 66 thread_state_t old_state, 67 mach_msg_type_number_t *old_stateCnt 68); 69 70/* Routine act_set_state */ 71#ifdef mig_external 72mig_external 73#else 74extern 75#endif /* mig_external */ 76kern_return_t act_set_state 77( 78 thread_act_t target_act, 79 int flavor, 80 thread_state_t new_state, 81 mach_msg_type_number_t new_stateCnt 82); 83 84/* Routine thread_get_state */ 85#ifdef mig_external 86mig_external 87#else 88extern 89#endif /* mig_external */ 90kern_return_t thread_get_state 91( 92 thread_act_t target_act, 93 thread_state_flavor_t flavor, 94 thread_state_t old_state, 95 mach_msg_type_number_t *old_stateCnt 96); 97 98/* Routine thread_set_state */ 99#ifdef mig_external 100mig_external 101#else 102extern 103#endif /* mig_external */ 104kern_return_t thread_set_state 105( 106 thread_act_t target_act, 107 thread_state_flavor_t flavor, 108 thread_state_t new_state, 109 mach_msg_type_number_t new_stateCnt 110); 111 112/* Routine thread_suspend */ 113#ifdef mig_external 114mig_external 115#else 116extern 117#endif /* mig_external */ 118kern_return_t thread_suspend 119( 120 thread_act_t target_act 121); 122 123/* Routine thread_resume */ 124#ifdef mig_external 125mig_external 126#else 127extern 128#endif /* mig_external */ 129kern_return_t thread_resume 130( 131 thread_act_t target_act 132); 133 134/* Routine thread_abort */ 135#ifdef mig_external 136mig_external 137#else 138extern 139#endif /* mig_external */ 140kern_return_t thread_abort 141( 142 thread_act_t target_act 143); 144 145/* Routine thread_abort_safely */ 146#ifdef mig_external 147mig_external 148#else 149extern 150#endif /* mig_external */ 151kern_return_t thread_abort_safely 152( 153 thread_act_t target_act 154); 155 156/* Routine thread_depress_abort */ 157#ifdef mig_external 158mig_external 159#else 160extern 161#endif /* mig_external */ 162kern_return_t thread_depress_abort 163( 164 thread_act_t thread 165); 166 167/* Routine thread_get_special_port */ 168#ifdef mig_external 169mig_external 170#else 171extern 172#endif /* mig_external */ 173kern_return_t thread_get_special_port 174( 175 thread_act_t thr_act, 176 int which_port, 177 mach_port_t *special_port 178); 179 180/* Routine thread_set_special_port */ 181#ifdef mig_external 182mig_external 183#else 184extern 185#endif /* mig_external */ 186kern_return_t thread_set_special_port 187( 188 thread_act_t thr_act, 189 int which_port, 190 mach_port_t special_port 191); 192 193/* Routine thread_info */ 194#ifdef mig_external 195mig_external 196#else 197extern 198#endif /* mig_external */ 199kern_return_t thread_info 200( 201 thread_act_t target_act, 202 thread_flavor_t flavor, 203 thread_info_t thread_info_out, 204 mach_msg_type_number_t *thread_info_outCnt 205); 206 207/* Routine thread_set_exception_ports */ 208#ifdef mig_external 209mig_external 210#else 211extern 212#endif /* mig_external */ 213kern_return_t thread_set_exception_ports 214( 215 thread_act_t thread, 216 exception_mask_t exception_mask, 217 mach_port_t new_port, 218 exception_behavior_t behavior, 219 thread_state_flavor_t new_flavor 220); 221 222/* Routine thread_get_exception_ports */ 223#ifdef mig_external 224mig_external 225#else 226extern 227#endif /* mig_external */ 228kern_return_t thread_get_exception_ports 229( 230 thread_act_t thread, 231 exception_mask_t exception_mask, 232 exception_mask_array_t masks, 233 mach_msg_type_number_t *masksCnt, 234 exception_handler_array_t old_handlers, 235 exception_behavior_array_t old_behaviors, 236 exception_flavor_array_t old_flavors 237); 238 239/* Routine thread_swap_exception_ports */ 240#ifdef mig_external 241mig_external 242#else 243extern 244#endif /* mig_external */ 245kern_return_t thread_swap_exception_ports 246( 247 thread_act_t thread, 248 exception_mask_t exception_mask, 249 mach_port_t new_port, 250 exception_behavior_t behavior, 251 thread_state_flavor_t new_flavor, 252 exception_mask_array_t masks, 253 mach_msg_type_number_t *masksCnt, 254 exception_handler_array_t old_handlers, 255 exception_behavior_array_t old_behaviors, 256 exception_flavor_array_t old_flavors 257); 258 259/* Routine thread_policy */ 260#ifdef mig_external 261mig_external 262#else 263extern 264#endif /* mig_external */ 265kern_return_t thread_policy 266( 267 thread_act_t thr_act, 268 policy_t policy, 269 policy_base_t base, 270 mach_msg_type_number_t baseCnt, 271 boolean_t set_limit 272); 273 274/* Routine thread_policy_set */ 275#ifdef mig_external 276mig_external 277#else 278extern 279#endif /* mig_external */ 280kern_return_t thread_policy_set 281( 282 thread_act_t thread, 283 thread_policy_flavor_t flavor, 284 thread_policy_t policy_info, 285 mach_msg_type_number_t policy_infoCnt 286); 287 288/* Routine thread_policy_get */ 289#ifdef mig_external 290mig_external 291#else 292extern 293#endif /* mig_external */ 294kern_return_t thread_policy_get 295( 296 thread_act_t thread, 297 thread_policy_flavor_t flavor, 298 thread_policy_t policy_info, 299 mach_msg_type_number_t *policy_infoCnt, 300 boolean_t *get_default 301); 302 303/* Routine thread_sample */ 304#ifdef mig_external 305mig_external 306#else 307extern 308#endif /* mig_external */ 309kern_return_t thread_sample 310( 311 thread_act_t thread, 312 mach_port_t reply 313); 314 315/* Routine etap_trace_thread */ 316#ifdef mig_external 317mig_external 318#else 319extern 320#endif /* mig_external */ 321kern_return_t etap_trace_thread 322( 323 thread_act_t target_act, 324 boolean_t trace_status 325); 326 327/* Routine thread_assign */ 328#ifdef mig_external 329mig_external 330#else 331extern 332#endif /* mig_external */ 333kern_return_t thread_assign 334( 335 thread_act_t thread, 336 processor_set_t new_set 337); 338 339/* Routine thread_assign_default */ 340#ifdef mig_external 341mig_external 342#else 343extern 344#endif /* mig_external */ 345kern_return_t thread_assign_default 346( 347 thread_act_t thread 348); 349 350/* Routine thread_get_assignment */ 351#ifdef mig_external 352mig_external 353#else 354extern 355#endif /* mig_external */ 356kern_return_t thread_get_assignment 357( 358 thread_act_t thread, 359 processor_set_name_t *assigned_set 360); 361 362/* Routine thread_set_policy */ 363#ifdef mig_external 364mig_external 365#else 366extern 367#endif /* mig_external */ 368kern_return_t thread_set_policy 369( 370 thread_act_t thr_act, 371 processor_set_t pset, 372 policy_t policy, 373 policy_base_t base, 374 mach_msg_type_number_t baseCnt, 375 policy_limit_t limit, 376 mach_msg_type_number_t limitCnt 377); 378 379__END_DECLS 380 381/********************** Caution **************************/ 382/* The following data types should be used to calculate */ 383/* maximum message sizes only. The actual message may be */ 384/* smaller, and the position of the arguments within the */ 385/* message layout may vary from what is presented here. */ 386/* For example, if any of the arguments are variable- */ 387/* sized, and less than the maximum is sent, the data */ 388/* will be packed tight in the actual message to reduce */ 389/* the presence of holes. */ 390/********************** Caution **************************/ 391 392/* typedefs for all requests */ 393 394#ifndef __Request__thread_act_subsystem__defined 395#define __Request__thread_act_subsystem__defined 396 397#ifdef __MigPackStructs 398#pragma pack(4) 399#endif 400 typedef struct { 401 mach_msg_header_t Head; 402 } __Request__thread_terminate_t; 403#ifdef __MigPackStructs 404#pragma pack() 405#endif 406 407#ifdef __MigPackStructs 408#pragma pack(4) 409#endif 410 typedef struct { 411 mach_msg_header_t Head; 412 NDR_record_t NDR; 413 int flavor; 414 mach_msg_type_number_t old_stateCnt; 415 } __Request__act_get_state_t; 416#ifdef __MigPackStructs 417#pragma pack() 418#endif 419 420#ifdef __MigPackStructs 421#pragma pack(4) 422#endif 423 typedef struct { 424 mach_msg_header_t Head; 425 NDR_record_t NDR; 426 int flavor; 427 mach_msg_type_number_t new_stateCnt; 428 natural_t new_state[144]; 429 } __Request__act_set_state_t; 430#ifdef __MigPackStructs 431#pragma pack() 432#endif 433 434#ifdef __MigPackStructs 435#pragma pack(4) 436#endif 437 typedef struct { 438 mach_msg_header_t Head; 439 NDR_record_t NDR; 440 thread_state_flavor_t flavor; 441 mach_msg_type_number_t old_stateCnt; 442 } __Request__thread_get_state_t; 443#ifdef __MigPackStructs 444#pragma pack() 445#endif 446 447#ifdef __MigPackStructs 448#pragma pack(4) 449#endif 450 typedef struct { 451 mach_msg_header_t Head; 452 NDR_record_t NDR; 453 thread_state_flavor_t flavor; 454 mach_msg_type_number_t new_stateCnt; 455 natural_t new_state[144]; 456 } __Request__thread_set_state_t; 457#ifdef __MigPackStructs 458#pragma pack() 459#endif 460 461#ifdef __MigPackStructs 462#pragma pack(4) 463#endif 464 typedef struct { 465 mach_msg_header_t Head; 466 } __Request__thread_suspend_t; 467#ifdef __MigPackStructs 468#pragma pack() 469#endif 470 471#ifdef __MigPackStructs 472#pragma pack(4) 473#endif 474 typedef struct { 475 mach_msg_header_t Head; 476 } __Request__thread_resume_t; 477#ifdef __MigPackStructs 478#pragma pack() 479#endif 480 481#ifdef __MigPackStructs 482#pragma pack(4) 483#endif 484 typedef struct { 485 mach_msg_header_t Head; 486 } __Request__thread_abort_t; 487#ifdef __MigPackStructs 488#pragma pack() 489#endif 490 491#ifdef __MigPackStructs 492#pragma pack(4) 493#endif 494 typedef struct { 495 mach_msg_header_t Head; 496 } __Request__thread_abort_safely_t; 497#ifdef __MigPackStructs 498#pragma pack() 499#endif 500 501#ifdef __MigPackStructs 502#pragma pack(4) 503#endif 504 typedef struct { 505 mach_msg_header_t Head; 506 } __Request__thread_depress_abort_t; 507#ifdef __MigPackStructs 508#pragma pack() 509#endif 510 511#ifdef __MigPackStructs 512#pragma pack(4) 513#endif 514 typedef struct { 515 mach_msg_header_t Head; 516 NDR_record_t NDR; 517 int which_port; 518 } __Request__thread_get_special_port_t; 519#ifdef __MigPackStructs 520#pragma pack() 521#endif 522 523#ifdef __MigPackStructs 524#pragma pack(4) 525#endif 526 typedef struct { 527 mach_msg_header_t Head; 528 /* start of the kernel processed data */ 529 mach_msg_body_t msgh_body; 530 mach_msg_port_descriptor_t special_port; 531 /* end of the kernel processed data */ 532 NDR_record_t NDR; 533 int which_port; 534 } __Request__thread_set_special_port_t; 535#ifdef __MigPackStructs 536#pragma pack() 537#endif 538 539#ifdef __MigPackStructs 540#pragma pack(4) 541#endif 542 typedef struct { 543 mach_msg_header_t Head; 544 NDR_record_t NDR; 545 thread_flavor_t flavor; 546 mach_msg_type_number_t thread_info_outCnt; 547 } __Request__thread_info_t; 548#ifdef __MigPackStructs 549#pragma pack() 550#endif 551 552#ifdef __MigPackStructs 553#pragma pack(4) 554#endif 555 typedef struct { 556 mach_msg_header_t Head; 557 /* start of the kernel processed data */ 558 mach_msg_body_t msgh_body; 559 mach_msg_port_descriptor_t new_port; 560 /* end of the kernel processed data */ 561 NDR_record_t NDR; 562 exception_mask_t exception_mask; 563 exception_behavior_t behavior; 564 thread_state_flavor_t new_flavor; 565 } __Request__thread_set_exception_ports_t; 566#ifdef __MigPackStructs 567#pragma pack() 568#endif 569 570#ifdef __MigPackStructs 571#pragma pack(4) 572#endif 573 typedef struct { 574 mach_msg_header_t Head; 575 NDR_record_t NDR; 576 exception_mask_t exception_mask; 577 } __Request__thread_get_exception_ports_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_port_descriptor_t new_port; 590 /* end of the kernel processed data */ 591 NDR_record_t NDR; 592 exception_mask_t exception_mask; 593 exception_behavior_t behavior; 594 thread_state_flavor_t new_flavor; 595 } __Request__thread_swap_exception_ports_t; 596#ifdef __MigPackStructs 597#pragma pack() 598#endif 599 600#ifdef __MigPackStructs 601#pragma pack(4) 602#endif 603 typedef struct { 604 mach_msg_header_t Head; 605 NDR_record_t NDR; 606 policy_t policy; 607 mach_msg_type_number_t baseCnt; 608 integer_t base[5]; 609 boolean_t set_limit; 610 } __Request__thread_policy_t; 611#ifdef __MigPackStructs 612#pragma pack() 613#endif 614 615#ifdef __MigPackStructs 616#pragma pack(4) 617#endif 618 typedef struct { 619 mach_msg_header_t Head; 620 NDR_record_t NDR; 621 thread_policy_flavor_t flavor; 622 mach_msg_type_number_t policy_infoCnt; 623 integer_t policy_info[16]; 624 } __Request__thread_policy_set_t; 625#ifdef __MigPackStructs 626#pragma pack() 627#endif 628 629#ifdef __MigPackStructs 630#pragma pack(4) 631#endif 632 typedef struct { 633 mach_msg_header_t Head; 634 NDR_record_t NDR; 635 thread_policy_flavor_t flavor; 636 mach_msg_type_number_t policy_infoCnt; 637 boolean_t get_default; 638 } __Request__thread_policy_get_t; 639#ifdef __MigPackStructs 640#pragma pack() 641#endif 642 643#ifdef __MigPackStructs 644#pragma pack(4) 645#endif 646 typedef struct { 647 mach_msg_header_t Head; 648 /* start of the kernel processed data */ 649 mach_msg_body_t msgh_body; 650 mach_msg_port_descriptor_t reply; 651 /* end of the kernel processed data */ 652 } __Request__thread_sample_t; 653#ifdef __MigPackStructs 654#pragma pack() 655#endif 656 657#ifdef __MigPackStructs 658#pragma pack(4) 659#endif 660 typedef struct { 661 mach_msg_header_t Head; 662 NDR_record_t NDR; 663 boolean_t trace_status; 664 } __Request__etap_trace_thread_t; 665#ifdef __MigPackStructs 666#pragma pack() 667#endif 668 669#ifdef __MigPackStructs 670#pragma pack(4) 671#endif 672 typedef struct { 673 mach_msg_header_t Head; 674 /* start of the kernel processed data */ 675 mach_msg_body_t msgh_body; 676 mach_msg_port_descriptor_t new_set; 677 /* end of the kernel processed data */ 678 } __Request__thread_assign_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_assign_default_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 } __Request__thread_get_assignment_t; 699#ifdef __MigPackStructs 700#pragma pack() 701#endif 702 703#ifdef __MigPackStructs 704#pragma pack(4) 705#endif 706 typedef struct { 707 mach_msg_header_t Head; 708 /* start of the kernel processed data */ 709 mach_msg_body_t msgh_body; 710 mach_msg_port_descriptor_t pset; 711 /* end of the kernel processed data */ 712 NDR_record_t NDR; 713 policy_t policy; 714 mach_msg_type_number_t baseCnt; 715 integer_t base[5]; 716 mach_msg_type_number_t limitCnt; 717 integer_t limit[1]; 718 } __Request__thread_set_policy_t; 719#ifdef __MigPackStructs 720#pragma pack() 721#endif 722#endif /* !__Request__thread_act_subsystem__defined */ 723 724/* union of all requests */ 725 726#ifndef __RequestUnion__thread_act_subsystem__defined 727#define __RequestUnion__thread_act_subsystem__defined 728union __RequestUnion__thread_act_subsystem { 729 __Request__thread_terminate_t Request_thread_terminate; 730 __Request__act_get_state_t Request_act_get_state; 731 __Request__act_set_state_t Request_act_set_state; 732 __Request__thread_get_state_t Request_thread_get_state; 733 __Request__thread_set_state_t Request_thread_set_state; 734 __Request__thread_suspend_t Request_thread_suspend; 735 __Request__thread_resume_t Request_thread_resume; 736 __Request__thread_abort_t Request_thread_abort; 737 __Request__thread_abort_safely_t Request_thread_abort_safely; 738 __Request__thread_depress_abort_t Request_thread_depress_abort; 739 __Request__thread_get_special_port_t Request_thread_get_special_port; 740 __Request__thread_set_special_port_t Request_thread_set_special_port; 741 __Request__thread_info_t Request_thread_info; 742 __Request__thread_set_exception_ports_t Request_thread_set_exception_ports; 743 __Request__thread_get_exception_ports_t Request_thread_get_exception_ports; 744 __Request__thread_swap_exception_ports_t Request_thread_swap_exception_ports; 745 __Request__thread_policy_t Request_thread_policy; 746 __Request__thread_policy_set_t Request_thread_policy_set; 747 __Request__thread_policy_get_t Request_thread_policy_get; 748 __Request__thread_sample_t Request_thread_sample; 749 __Request__etap_trace_thread_t Request_etap_trace_thread; 750 __Request__thread_assign_t Request_thread_assign; 751 __Request__thread_assign_default_t Request_thread_assign_default; 752 __Request__thread_get_assignment_t Request_thread_get_assignment; 753 __Request__thread_set_policy_t Request_thread_set_policy; 754}; 755#endif /* !__RequestUnion__thread_act_subsystem__defined */ 756/* typedefs for all replies */ 757 758#ifndef __Reply__thread_act_subsystem__defined 759#define __Reply__thread_act_subsystem__defined 760 761#ifdef __MigPackStructs 762#pragma pack(4) 763#endif 764 typedef struct { 765 mach_msg_header_t Head; 766 NDR_record_t NDR; 767 kern_return_t RetCode; 768 } __Reply__thread_terminate_t; 769#ifdef __MigPackStructs 770#pragma pack() 771#endif 772 773#ifdef __MigPackStructs 774#pragma pack(4) 775#endif 776 typedef struct { 777 mach_msg_header_t Head; 778 NDR_record_t NDR; 779 kern_return_t RetCode; 780 mach_msg_type_number_t old_stateCnt; 781 natural_t old_state[144]; 782 } __Reply__act_get_state_t; 783#ifdef __MigPackStructs 784#pragma pack() 785#endif 786 787#ifdef __MigPackStructs 788#pragma pack(4) 789#endif 790 typedef struct { 791 mach_msg_header_t Head; 792 NDR_record_t NDR; 793 kern_return_t RetCode; 794 } __Reply__act_set_state_t; 795#ifdef __MigPackStructs 796#pragma pack() 797#endif 798 799#ifdef __MigPackStructs 800#pragma pack(4) 801#endif 802 typedef struct { 803 mach_msg_header_t Head; 804 NDR_record_t NDR; 805 kern_return_t RetCode; 806 mach_msg_type_number_t old_stateCnt; 807 natural_t old_state[144]; 808 } __Reply__thread_get_state_t; 809#ifdef __MigPackStructs 810#pragma pack() 811#endif 812 813#ifdef __MigPackStructs 814#pragma pack(4) 815#endif 816 typedef struct { 817 mach_msg_header_t Head; 818 NDR_record_t NDR; 819 kern_return_t RetCode; 820 } __Reply__thread_set_state_t; 821#ifdef __MigPackStructs 822#pragma pack() 823#endif 824 825#ifdef __MigPackStructs 826#pragma pack(4) 827#endif 828 typedef struct { 829 mach_msg_header_t Head; 830 NDR_record_t NDR; 831 kern_return_t RetCode; 832 } __Reply__thread_suspend_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 NDR_record_t NDR; 843 kern_return_t RetCode; 844 } __Reply__thread_resume_t; 845#ifdef __MigPackStructs 846#pragma pack() 847#endif 848 849#ifdef __MigPackStructs 850#pragma pack(4) 851#endif 852 typedef struct { 853 mach_msg_header_t Head; 854 NDR_record_t NDR; 855 kern_return_t RetCode; 856 } __Reply__thread_abort_t; 857#ifdef __MigPackStructs 858#pragma pack() 859#endif 860 861#ifdef __MigPackStructs 862#pragma pack(4) 863#endif 864 typedef struct { 865 mach_msg_header_t Head; 866 NDR_record_t NDR; 867 kern_return_t RetCode; 868 } __Reply__thread_abort_safely_t; 869#ifdef __MigPackStructs 870#pragma pack() 871#endif 872 873#ifdef __MigPackStructs 874#pragma pack(4) 875#endif 876 typedef struct { 877 mach_msg_header_t Head; 878 NDR_record_t NDR; 879 kern_return_t RetCode; 880 } __Reply__thread_depress_abort_t; 881#ifdef __MigPackStructs 882#pragma pack() 883#endif 884 885#ifdef __MigPackStructs 886#pragma pack(4) 887#endif 888 typedef struct { 889 mach_msg_header_t Head; 890 /* start of the kernel processed data */ 891 mach_msg_body_t msgh_body; 892 mach_msg_port_descriptor_t special_port; 893 /* end of the kernel processed data */ 894 } __Reply__thread_get_special_port_t; 895#ifdef __MigPackStructs 896#pragma pack() 897#endif 898 899#ifdef __MigPackStructs 900#pragma pack(4) 901#endif 902 typedef struct { 903 mach_msg_header_t Head; 904 NDR_record_t NDR; 905 kern_return_t RetCode; 906 } __Reply__thread_set_special_port_t; 907#ifdef __MigPackStructs 908#pragma pack() 909#endif 910 911#ifdef __MigPackStructs 912#pragma pack(4) 913#endif 914 typedef struct { 915 mach_msg_header_t Head; 916 NDR_record_t NDR; 917 kern_return_t RetCode; 918 mach_msg_type_number_t thread_info_outCnt; 919 integer_t thread_info_out[12]; 920 } __Reply__thread_info_t; 921#ifdef __MigPackStructs 922#pragma pack() 923#endif 924 925#ifdef __MigPackStructs 926#pragma pack(4) 927#endif 928 typedef struct { 929 mach_msg_header_t Head; 930 NDR_record_t NDR; 931 kern_return_t RetCode; 932 } __Reply__thread_set_exception_ports_t; 933#ifdef __MigPackStructs 934#pragma pack() 935#endif 936 937#ifdef __MigPackStructs 938#pragma pack(4) 939#endif 940 typedef struct { 941 mach_msg_header_t Head; 942 /* start of the kernel processed data */ 943 mach_msg_body_t msgh_body; 944 mach_msg_port_descriptor_t old_handlers[32]; 945 /* end of the kernel processed data */ 946 NDR_record_t NDR; 947 mach_msg_type_number_t masksCnt; 948 exception_mask_t masks[32]; 949 exception_behavior_t old_behaviors[32]; 950 thread_state_flavor_t old_flavors[32]; 951 } __Reply__thread_get_exception_ports_t; 952#ifdef __MigPackStructs 953#pragma pack() 954#endif 955 956#ifdef __MigPackStructs 957#pragma pack(4) 958#endif 959 typedef struct { 960 mach_msg_header_t Head; 961 /* start of the kernel processed data */ 962 mach_msg_body_t msgh_body; 963 mach_msg_port_descriptor_t old_handlers[32]; 964 /* end of the kernel processed data */ 965 NDR_record_t NDR; 966 mach_msg_type_number_t masksCnt; 967 exception_mask_t masks[32]; 968 exception_behavior_t old_behaviors[32]; 969 thread_state_flavor_t old_flavors[32]; 970 } __Reply__thread_swap_exception_ports_t; 971#ifdef __MigPackStructs 972#pragma pack() 973#endif 974 975#ifdef __MigPackStructs 976#pragma pack(4) 977#endif 978 typedef struct { 979 mach_msg_header_t Head; 980 NDR_record_t NDR; 981 kern_return_t RetCode; 982 } __Reply__thread_policy_t; 983#ifdef __MigPackStructs 984#pragma pack() 985#endif 986 987#ifdef __MigPackStructs 988#pragma pack(4) 989#endif 990 typedef struct { 991 mach_msg_header_t Head; 992 NDR_record_t NDR; 993 kern_return_t RetCode; 994 } __Reply__thread_policy_set_t; 995#ifdef __MigPackStructs 996#pragma pack() 997#endif 998 999#ifdef __MigPackStructs 1000#pragma pack(4) 1001#endif 1002 typedef struct { 1003 mach_msg_header_t Head; 1004 NDR_record_t NDR; 1005 kern_return_t RetCode; 1006 mach_msg_type_number_t policy_infoCnt; 1007 integer_t policy_info[16]; 1008 boolean_t get_default; 1009 } __Reply__thread_policy_get_t; 1010#ifdef __MigPackStructs 1011#pragma pack() 1012#endif 1013 1014#ifdef __MigPackStructs 1015#pragma pack(4) 1016#endif 1017 typedef struct { 1018 mach_msg_header_t Head; 1019 NDR_record_t NDR; 1020 kern_return_t RetCode; 1021 } __Reply__thread_sample_t; 1022#ifdef __MigPackStructs 1023#pragma pack() 1024#endif 1025 1026#ifdef __MigPackStructs 1027#pragma pack(4) 1028#endif 1029 typedef struct { 1030 mach_msg_header_t Head; 1031 NDR_record_t NDR; 1032 kern_return_t RetCode; 1033 } __Reply__etap_trace_thread_t; 1034#ifdef __MigPackStructs 1035#pragma pack() 1036#endif 1037 1038#ifdef __MigPackStructs 1039#pragma pack(4) 1040#endif 1041 typedef struct { 1042 mach_msg_header_t Head; 1043 NDR_record_t NDR; 1044 kern_return_t RetCode; 1045 } __Reply__thread_assign_t; 1046#ifdef __MigPackStructs 1047#pragma pack() 1048#endif 1049 1050#ifdef __MigPackStructs 1051#pragma pack(4) 1052#endif 1053 typedef struct { 1054 mach_msg_header_t Head; 1055 NDR_record_t NDR; 1056 kern_return_t RetCode; 1057 } __Reply__thread_assign_default_t; 1058#ifdef __MigPackStructs 1059#pragma pack() 1060#endif 1061 1062#ifdef __MigPackStructs 1063#pragma pack(4) 1064#endif 1065 typedef struct { 1066 mach_msg_header_t Head; 1067 /* start of the kernel processed data */ 1068 mach_msg_body_t msgh_body; 1069 mach_msg_port_descriptor_t assigned_set; 1070 /* end of the kernel processed data */ 1071 } __Reply__thread_get_assignment_t; 1072#ifdef __MigPackStructs 1073#pragma pack() 1074#endif 1075 1076#ifdef __MigPackStructs 1077#pragma pack(4) 1078#endif 1079 typedef struct { 1080 mach_msg_header_t Head; 1081 NDR_record_t NDR; 1082 kern_return_t RetCode; 1083 } __Reply__thread_set_policy_t; 1084#ifdef __MigPackStructs 1085#pragma pack() 1086#endif 1087#endif /* !__Reply__thread_act_subsystem__defined */ 1088 1089/* union of all replies */ 1090 1091#ifndef __ReplyUnion__thread_act_subsystem__defined 1092#define __ReplyUnion__thread_act_subsystem__defined 1093union __ReplyUnion__thread_act_subsystem { 1094 __Reply__thread_terminate_t Reply_thread_terminate; 1095 __Reply__act_get_state_t Reply_act_get_state; 1096 __Reply__act_set_state_t Reply_act_set_state; 1097 __Reply__thread_get_state_t Reply_thread_get_state; 1098 __Reply__thread_set_state_t Reply_thread_set_state; 1099 __Reply__thread_suspend_t Reply_thread_suspend; 1100 __Reply__thread_resume_t Reply_thread_resume; 1101 __Reply__thread_abort_t Reply_thread_abort; 1102 __Reply__thread_abort_safely_t Reply_thread_abort_safely; 1103 __Reply__thread_depress_abort_t Reply_thread_depress_abort; 1104 __Reply__thread_get_special_port_t Reply_thread_get_special_port; 1105 __Reply__thread_set_special_port_t Reply_thread_set_special_port; 1106 __Reply__thread_info_t Reply_thread_info; 1107 __Reply__thread_set_exception_ports_t Reply_thread_set_exception_ports; 1108 __Reply__thread_get_exception_ports_t Reply_thread_get_exception_ports; 1109 __Reply__thread_swap_exception_ports_t Reply_thread_swap_exception_ports; 1110 __Reply__thread_policy_t Reply_thread_policy; 1111 __Reply__thread_policy_set_t Reply_thread_policy_set; 1112 __Reply__thread_policy_get_t Reply_thread_policy_get; 1113 __Reply__thread_sample_t Reply_thread_sample; 1114 __Reply__etap_trace_thread_t Reply_etap_trace_thread; 1115 __Reply__thread_assign_t Reply_thread_assign; 1116 __Reply__thread_assign_default_t Reply_thread_assign_default; 1117 __Reply__thread_get_assignment_t Reply_thread_get_assignment; 1118 __Reply__thread_set_policy_t Reply_thread_set_policy; 1119}; 1120#endif /* !__RequestUnion__thread_act_subsystem__defined */ 1121 1122#ifndef subsystem_to_name_map_thread_act 1123#define subsystem_to_name_map_thread_act \ 1124 { "thread_terminate", 3600 },\ 1125 { "act_get_state", 3601 },\ 1126 { "act_set_state", 3602 },\ 1127 { "thread_get_state", 3603 },\ 1128 { "thread_set_state", 3604 },\ 1129 { "thread_suspend", 3605 },\ 1130 { "thread_resume", 3606 },\ 1131 { "thread_abort", 3607 },\ 1132 { "thread_abort_safely", 3608 },\ 1133 { "thread_depress_abort", 3609 },\ 1134 { "thread_get_special_port", 3610 },\ 1135 { "thread_set_special_port", 3611 },\ 1136 { "thread_info", 3612 },\ 1137 { "thread_set_exception_ports", 3613 },\ 1138 { "thread_get_exception_ports", 3614 },\ 1139 { "thread_swap_exception_ports", 3615 },\ 1140 { "thread_policy", 3616 },\ 1141 { "thread_policy_set", 3617 },\ 1142 { "thread_policy_get", 3618 },\ 1143 { "thread_sample", 3619 },\ 1144 { "etap_trace_thread", 3620 },\ 1145 { "thread_assign", 3621 },\ 1146 { "thread_assign_default", 3622 },\ 1147 { "thread_get_assignment", 3623 },\ 1148 { "thread_set_policy", 3624 } 1149#endif 1150 1151#ifdef __AfterMigUserHeader 1152__AfterMigUserHeader 1153#endif /* __AfterMigUserHeader */ 1154 1155#endif /* _thread_act_user_ */ 1156