master
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/* 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 thread_act_MSG_COUNT
55#define thread_act_MSG_COUNT 32
56#endif /* thread_act_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
64#ifdef __BeforeMigUserHeader
65__BeforeMigUserHeader
66#endif /* __BeforeMigUserHeader */
67
68#include <sys/cdefs.h>
69__BEGIN_DECLS
70
71
72/* Routine thread_terminate */
73#ifdef mig_external
74mig_external
75#else
76extern
77#endif /* mig_external */
78__TVOS_PROHIBITED __WATCHOS_PROHIBITED
79kern_return_t thread_terminate
80(
81 thread_act_t target_act
82);
83
84/* Routine act_get_state */
85#ifdef mig_external
86mig_external
87#else
88extern
89#endif /* mig_external */
90__TVOS_PROHIBITED __WATCHOS_PROHIBITED
91kern_return_t act_get_state
92(
93 thread_read_t target_act,
94 int flavor,
95 thread_state_t old_state,
96 mach_msg_type_number_t *old_stateCnt
97);
98
99/* Routine act_set_state */
100#ifdef mig_external
101mig_external
102#else
103extern
104#endif /* mig_external */
105__TVOS_PROHIBITED __WATCHOS_PROHIBITED
106kern_return_t act_set_state
107(
108 thread_act_t target_act,
109 int flavor,
110 thread_state_t new_state,
111 mach_msg_type_number_t new_stateCnt
112);
113
114/* Routine thread_get_state */
115#ifdef mig_external
116mig_external
117#else
118extern
119#endif /* mig_external */
120__WATCHOS_PROHIBITED
121kern_return_t thread_get_state
122(
123 thread_read_t target_act,
124 thread_state_flavor_t flavor,
125 thread_state_t old_state,
126 mach_msg_type_number_t *old_stateCnt
127);
128
129/* Routine thread_set_state */
130#ifdef mig_external
131mig_external
132#else
133extern
134#endif /* mig_external */
135__WATCHOS_PROHIBITED
136kern_return_t thread_set_state
137(
138 thread_act_t target_act,
139 thread_state_flavor_t flavor,
140 thread_state_t new_state,
141 mach_msg_type_number_t new_stateCnt
142);
143
144/* Routine thread_suspend */
145#ifdef mig_external
146mig_external
147#else
148extern
149#endif /* mig_external */
150__WATCHOS_PROHIBITED
151kern_return_t thread_suspend
152(
153 thread_read_t target_act
154);
155
156/* Routine thread_resume */
157#ifdef mig_external
158mig_external
159#else
160extern
161#endif /* mig_external */
162__WATCHOS_PROHIBITED
163kern_return_t thread_resume
164(
165 thread_read_t target_act
166);
167
168/* Routine thread_abort */
169#ifdef mig_external
170mig_external
171#else
172extern
173#endif /* mig_external */
174__WATCHOS_PROHIBITED
175kern_return_t thread_abort
176(
177 thread_act_t target_act
178);
179
180/* Routine thread_abort_safely */
181#ifdef mig_external
182mig_external
183#else
184extern
185#endif /* mig_external */
186__WATCHOS_PROHIBITED
187kern_return_t thread_abort_safely
188(
189 thread_act_t target_act
190);
191
192/* Routine thread_depress_abort */
193#ifdef mig_external
194mig_external
195#else
196extern
197#endif /* mig_external */
198__TVOS_PROHIBITED __WATCHOS_PROHIBITED
199kern_return_t thread_depress_abort
200(
201 thread_act_t thread
202);
203
204/* Routine thread_get_special_port */
205#ifdef mig_external
206mig_external
207#else
208extern
209#endif /* mig_external */
210__TVOS_PROHIBITED __WATCHOS_PROHIBITED
211kern_return_t thread_get_special_port
212(
213 thread_inspect_t thr_act,
214 int which_port,
215 mach_port_t *special_port
216);
217
218/* Routine thread_set_special_port */
219#ifdef mig_external
220mig_external
221#else
222extern
223#endif /* mig_external */
224__TVOS_PROHIBITED __WATCHOS_PROHIBITED
225kern_return_t thread_set_special_port
226(
227 thread_act_t thr_act,
228 int which_port,
229 mach_port_t special_port
230);
231
232/* Routine thread_info */
233#ifdef mig_external
234mig_external
235#else
236extern
237#endif /* mig_external */
238kern_return_t thread_info
239(
240 thread_inspect_t target_act,
241 thread_flavor_t flavor,
242 thread_info_t thread_info_out,
243 mach_msg_type_number_t *thread_info_outCnt
244);
245
246/* Routine thread_set_exception_ports */
247#ifdef mig_external
248mig_external
249#else
250extern
251#endif /* mig_external */
252__TVOS_PROHIBITED __WATCHOS_PROHIBITED
253kern_return_t thread_set_exception_ports
254(
255 thread_act_t thread,
256 exception_mask_t exception_mask,
257 mach_port_t new_port,
258 exception_behavior_t behavior,
259 thread_state_flavor_t new_flavor
260);
261
262/* Routine thread_get_exception_ports */
263#ifdef mig_external
264mig_external
265#else
266extern
267#endif /* mig_external */
268__TVOS_PROHIBITED __WATCHOS_PROHIBITED
269kern_return_t thread_get_exception_ports
270(
271 thread_act_t thread,
272 exception_mask_t exception_mask,
273 exception_mask_array_t masks,
274 mach_msg_type_number_t *masksCnt,
275 exception_handler_array_t old_handlers,
276 exception_behavior_array_t old_behaviors,
277 exception_flavor_array_t old_flavors
278);
279
280/* Routine thread_swap_exception_ports */
281#ifdef mig_external
282mig_external
283#else
284extern
285#endif /* mig_external */
286__TVOS_PROHIBITED __WATCHOS_PROHIBITED
287kern_return_t thread_swap_exception_ports
288(
289 thread_act_t thread,
290 exception_mask_t exception_mask,
291 mach_port_t new_port,
292 exception_behavior_t behavior,
293 thread_state_flavor_t new_flavor,
294 exception_mask_array_t masks,
295 mach_msg_type_number_t *masksCnt,
296 exception_handler_array_t old_handlers,
297 exception_behavior_array_t old_behaviors,
298 exception_flavor_array_t old_flavors
299);
300
301/* Routine thread_policy */
302#ifdef mig_external
303mig_external
304#else
305extern
306#endif /* mig_external */
307kern_return_t thread_policy
308(
309 thread_act_t thr_act,
310 policy_t policy,
311 policy_base_t base,
312 mach_msg_type_number_t baseCnt,
313 boolean_t set_limit
314);
315
316/* Routine thread_policy_set */
317#ifdef mig_external
318mig_external
319#else
320extern
321#endif /* mig_external */
322kern_return_t thread_policy_set
323(
324 thread_act_t thread,
325 thread_policy_flavor_t flavor,
326 thread_policy_t policy_info,
327 mach_msg_type_number_t policy_infoCnt
328);
329
330/* Routine thread_policy_get */
331#ifdef mig_external
332mig_external
333#else
334extern
335#endif /* mig_external */
336kern_return_t thread_policy_get
337(
338 thread_inspect_t thread,
339 thread_policy_flavor_t flavor,
340 thread_policy_t policy_info,
341 mach_msg_type_number_t *policy_infoCnt,
342 boolean_t *get_default
343);
344
345/* Routine thread_sample */
346#ifdef mig_external
347mig_external
348#else
349extern
350#endif /* mig_external */
351kern_return_t thread_sample
352(
353 thread_act_t thread,
354 mach_port_t reply
355);
356
357/* Routine etap_trace_thread */
358#ifdef mig_external
359mig_external
360#else
361extern
362#endif /* mig_external */
363kern_return_t etap_trace_thread
364(
365 thread_act_t target_act,
366 boolean_t trace_status
367);
368
369/* Routine thread_assign */
370#ifdef mig_external
371mig_external
372#else
373extern
374#endif /* mig_external */
375kern_return_t thread_assign
376(
377 thread_act_t thread,
378 processor_set_t new_set
379);
380
381/* Routine thread_assign_default */
382#ifdef mig_external
383mig_external
384#else
385extern
386#endif /* mig_external */
387kern_return_t thread_assign_default
388(
389 thread_act_t thread
390);
391
392/* Routine thread_get_assignment */
393#ifdef mig_external
394mig_external
395#else
396extern
397#endif /* mig_external */
398kern_return_t thread_get_assignment
399(
400 thread_inspect_t thread,
401 processor_set_name_t *assigned_set
402);
403
404/* Routine thread_set_policy */
405#ifdef mig_external
406mig_external
407#else
408extern
409#endif /* mig_external */
410kern_return_t thread_set_policy
411(
412 thread_act_t thr_act,
413 processor_set_t pset,
414 policy_t policy,
415 policy_base_t base,
416 mach_msg_type_number_t baseCnt,
417 policy_limit_t limit,
418 mach_msg_type_number_t limitCnt
419);
420
421/* Routine thread_get_mach_voucher */
422#ifdef mig_external
423mig_external
424#else
425extern
426#endif /* mig_external */
427__TVOS_PROHIBITED __WATCHOS_PROHIBITED
428kern_return_t thread_get_mach_voucher
429(
430 thread_read_t thr_act,
431 mach_voucher_selector_t which,
432 ipc_voucher_t *voucher
433);
434
435/* Routine thread_set_mach_voucher */
436#ifdef mig_external
437mig_external
438#else
439extern
440#endif /* mig_external */
441__TVOS_PROHIBITED __WATCHOS_PROHIBITED
442kern_return_t thread_set_mach_voucher
443(
444 thread_act_t thr_act,
445 ipc_voucher_t voucher
446);
447
448/* Routine thread_swap_mach_voucher */
449#ifdef mig_external
450mig_external
451#else
452extern
453#endif /* mig_external */
454__TVOS_PROHIBITED __WATCHOS_PROHIBITED
455kern_return_t thread_swap_mach_voucher
456(
457 thread_act_t thr_act,
458 ipc_voucher_t new_voucher,
459 ipc_voucher_t *old_voucher
460);
461
462/* Routine thread_convert_thread_state */
463#ifdef mig_external
464mig_external
465#else
466extern
467#endif /* mig_external */
468kern_return_t thread_convert_thread_state
469(
470 thread_act_t thread,
471 int direction,
472 thread_state_flavor_t flavor,
473 thread_state_t in_state,
474 mach_msg_type_number_t in_stateCnt,
475 thread_state_t out_state,
476 mach_msg_type_number_t *out_stateCnt
477);
478
479/* Routine thread_get_exception_ports_info */
480#ifdef mig_external
481mig_external
482#else
483extern
484#endif /* mig_external */
485kern_return_t thread_get_exception_ports_info
486(
487 mach_port_t port,
488 exception_mask_t exception_mask,
489 exception_mask_array_t masks,
490 mach_msg_type_number_t *masksCnt,
491 exception_handler_info_array_t old_handlers_info,
492 exception_behavior_array_t old_behaviors,
493 exception_flavor_array_t old_flavors
494);
495
496/* Routine thread_adopt_exception_handler */
497#ifdef mig_external
498mig_external
499#else
500extern
501#endif /* mig_external */
502__TVOS_PROHIBITED __WATCHOS_PROHIBITED
503kern_return_t thread_adopt_exception_handler
504(
505 thread_t thread,
506 mach_port_t exc_port,
507 exception_mask_t exc_mask,
508 exception_behavior_t behavior_mask,
509 thread_state_flavor_t flavor_mask
510);
511
512__END_DECLS
513
514/********************** Caution **************************/
515/* The following data types should be used to calculate */
516/* maximum message sizes only. The actual message may be */
517/* smaller, and the position of the arguments within the */
518/* message layout may vary from what is presented here. */
519/* For example, if any of the arguments are variable- */
520/* sized, and less than the maximum is sent, the data */
521/* will be packed tight in the actual message to reduce */
522/* the presence of holes. */
523/********************** Caution **************************/
524
525/* typedefs for all requests */
526
527#ifndef __Request__thread_act_subsystem__defined
528#define __Request__thread_act_subsystem__defined
529
530#ifdef __MigPackStructs
531#pragma pack(push, 4)
532#endif
533 typedef struct {
534 mach_msg_header_t Head;
535 } __Request__thread_terminate_t __attribute__((unused));
536#ifdef __MigPackStructs
537#pragma pack(pop)
538#endif
539
540#ifdef __MigPackStructs
541#pragma pack(push, 4)
542#endif
543 typedef struct {
544 mach_msg_header_t Head;
545 NDR_record_t NDR;
546 int flavor;
547 mach_msg_type_number_t old_stateCnt;
548 } __Request__act_get_state_t __attribute__((unused));
549#ifdef __MigPackStructs
550#pragma pack(pop)
551#endif
552
553#ifdef __MigPackStructs
554#pragma pack(push, 4)
555#endif
556 typedef struct {
557 mach_msg_header_t Head;
558 NDR_record_t NDR;
559 int flavor;
560 mach_msg_type_number_t new_stateCnt;
561 natural_t new_state[1296];
562 } __Request__act_set_state_t __attribute__((unused));
563#ifdef __MigPackStructs
564#pragma pack(pop)
565#endif
566
567#ifdef __MigPackStructs
568#pragma pack(push, 4)
569#endif
570 typedef struct {
571 mach_msg_header_t Head;
572 NDR_record_t NDR;
573 thread_state_flavor_t flavor;
574 mach_msg_type_number_t old_stateCnt;
575 } __Request__thread_get_state_t __attribute__((unused));
576#ifdef __MigPackStructs
577#pragma pack(pop)
578#endif
579
580#ifdef __MigPackStructs
581#pragma pack(push, 4)
582#endif
583 typedef struct {
584 mach_msg_header_t Head;
585 NDR_record_t NDR;
586 thread_state_flavor_t flavor;
587 mach_msg_type_number_t new_stateCnt;
588 natural_t new_state[1296];
589 } __Request__thread_set_state_t __attribute__((unused));
590#ifdef __MigPackStructs
591#pragma pack(pop)
592#endif
593
594#ifdef __MigPackStructs
595#pragma pack(push, 4)
596#endif
597 typedef struct {
598 mach_msg_header_t Head;
599 } __Request__thread_suspend_t __attribute__((unused));
600#ifdef __MigPackStructs
601#pragma pack(pop)
602#endif
603
604#ifdef __MigPackStructs
605#pragma pack(push, 4)
606#endif
607 typedef struct {
608 mach_msg_header_t Head;
609 } __Request__thread_resume_t __attribute__((unused));
610#ifdef __MigPackStructs
611#pragma pack(pop)
612#endif
613
614#ifdef __MigPackStructs
615#pragma pack(push, 4)
616#endif
617 typedef struct {
618 mach_msg_header_t Head;
619 } __Request__thread_abort_t __attribute__((unused));
620#ifdef __MigPackStructs
621#pragma pack(pop)
622#endif
623
624#ifdef __MigPackStructs
625#pragma pack(push, 4)
626#endif
627 typedef struct {
628 mach_msg_header_t Head;
629 } __Request__thread_abort_safely_t __attribute__((unused));
630#ifdef __MigPackStructs
631#pragma pack(pop)
632#endif
633
634#ifdef __MigPackStructs
635#pragma pack(push, 4)
636#endif
637 typedef struct {
638 mach_msg_header_t Head;
639 } __Request__thread_depress_abort_t __attribute__((unused));
640#ifdef __MigPackStructs
641#pragma pack(pop)
642#endif
643
644#ifdef __MigPackStructs
645#pragma pack(push, 4)
646#endif
647 typedef struct {
648 mach_msg_header_t Head;
649 NDR_record_t NDR;
650 int which_port;
651 } __Request__thread_get_special_port_t __attribute__((unused));
652#ifdef __MigPackStructs
653#pragma pack(pop)
654#endif
655
656#ifdef __MigPackStructs
657#pragma pack(push, 4)
658#endif
659 typedef struct {
660 mach_msg_header_t Head;
661 /* start of the kernel processed data */
662 mach_msg_body_t msgh_body;
663 mach_msg_port_descriptor_t special_port;
664 /* end of the kernel processed data */
665 NDR_record_t NDR;
666 int which_port;
667 } __Request__thread_set_special_port_t __attribute__((unused));
668#ifdef __MigPackStructs
669#pragma pack(pop)
670#endif
671
672#ifdef __MigPackStructs
673#pragma pack(push, 4)
674#endif
675 typedef struct {
676 mach_msg_header_t Head;
677 NDR_record_t NDR;
678 thread_flavor_t flavor;
679 mach_msg_type_number_t thread_info_outCnt;
680 } __Request__thread_info_t __attribute__((unused));
681#ifdef __MigPackStructs
682#pragma pack(pop)
683#endif
684
685#ifdef __MigPackStructs
686#pragma pack(push, 4)
687#endif
688 typedef struct {
689 mach_msg_header_t Head;
690 /* start of the kernel processed data */
691 mach_msg_body_t msgh_body;
692 mach_msg_port_descriptor_t new_port;
693 /* end of the kernel processed data */
694 NDR_record_t NDR;
695 exception_mask_t exception_mask;
696 exception_behavior_t behavior;
697 thread_state_flavor_t new_flavor;
698 } __Request__thread_set_exception_ports_t __attribute__((unused));
699#ifdef __MigPackStructs
700#pragma pack(pop)
701#endif
702
703#ifdef __MigPackStructs
704#pragma pack(push, 4)
705#endif
706 typedef struct {
707 mach_msg_header_t Head;
708 NDR_record_t NDR;
709 exception_mask_t exception_mask;
710 } __Request__thread_get_exception_ports_t __attribute__((unused));
711#ifdef __MigPackStructs
712#pragma pack(pop)
713#endif
714
715#ifdef __MigPackStructs
716#pragma pack(push, 4)
717#endif
718 typedef struct {
719 mach_msg_header_t Head;
720 /* start of the kernel processed data */
721 mach_msg_body_t msgh_body;
722 mach_msg_port_descriptor_t new_port;
723 /* end of the kernel processed data */
724 NDR_record_t NDR;
725 exception_mask_t exception_mask;
726 exception_behavior_t behavior;
727 thread_state_flavor_t new_flavor;
728 } __Request__thread_swap_exception_ports_t __attribute__((unused));
729#ifdef __MigPackStructs
730#pragma pack(pop)
731#endif
732
733#ifdef __MigPackStructs
734#pragma pack(push, 4)
735#endif
736 typedef struct {
737 mach_msg_header_t Head;
738 NDR_record_t NDR;
739 policy_t policy;
740 mach_msg_type_number_t baseCnt;
741 integer_t base[5];
742 boolean_t set_limit;
743 } __Request__thread_policy_t __attribute__((unused));
744#ifdef __MigPackStructs
745#pragma pack(pop)
746#endif
747
748#ifdef __MigPackStructs
749#pragma pack(push, 4)
750#endif
751 typedef struct {
752 mach_msg_header_t Head;
753 NDR_record_t NDR;
754 thread_policy_flavor_t flavor;
755 mach_msg_type_number_t policy_infoCnt;
756 integer_t policy_info[16];
757 } __Request__thread_policy_set_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 thread_policy_flavor_t flavor;
769 mach_msg_type_number_t policy_infoCnt;
770 boolean_t get_default;
771 } __Request__thread_policy_get_t __attribute__((unused));
772#ifdef __MigPackStructs
773#pragma pack(pop)
774#endif
775
776#ifdef __MigPackStructs
777#pragma pack(push, 4)
778#endif
779 typedef struct {
780 mach_msg_header_t Head;
781 /* start of the kernel processed data */
782 mach_msg_body_t msgh_body;
783 mach_msg_port_descriptor_t reply;
784 /* end of the kernel processed data */
785 } __Request__thread_sample_t __attribute__((unused));
786#ifdef __MigPackStructs
787#pragma pack(pop)
788#endif
789
790#ifdef __MigPackStructs
791#pragma pack(push, 4)
792#endif
793 typedef struct {
794 mach_msg_header_t Head;
795 NDR_record_t NDR;
796 boolean_t trace_status;
797 } __Request__etap_trace_thread_t __attribute__((unused));
798#ifdef __MigPackStructs
799#pragma pack(pop)
800#endif
801
802#ifdef __MigPackStructs
803#pragma pack(push, 4)
804#endif
805 typedef struct {
806 mach_msg_header_t Head;
807 /* start of the kernel processed data */
808 mach_msg_body_t msgh_body;
809 mach_msg_port_descriptor_t new_set;
810 /* end of the kernel processed data */
811 } __Request__thread_assign_t __attribute__((unused));
812#ifdef __MigPackStructs
813#pragma pack(pop)
814#endif
815
816#ifdef __MigPackStructs
817#pragma pack(push, 4)
818#endif
819 typedef struct {
820 mach_msg_header_t Head;
821 } __Request__thread_assign_default_t __attribute__((unused));
822#ifdef __MigPackStructs
823#pragma pack(pop)
824#endif
825
826#ifdef __MigPackStructs
827#pragma pack(push, 4)
828#endif
829 typedef struct {
830 mach_msg_header_t Head;
831 } __Request__thread_get_assignment_t __attribute__((unused));
832#ifdef __MigPackStructs
833#pragma pack(pop)
834#endif
835
836#ifdef __MigPackStructs
837#pragma pack(push, 4)
838#endif
839 typedef struct {
840 mach_msg_header_t Head;
841 /* start of the kernel processed data */
842 mach_msg_body_t msgh_body;
843 mach_msg_port_descriptor_t pset;
844 /* end of the kernel processed data */
845 NDR_record_t NDR;
846 policy_t policy;
847 mach_msg_type_number_t baseCnt;
848 integer_t base[5];
849 mach_msg_type_number_t limitCnt;
850 integer_t limit[1];
851 } __Request__thread_set_policy_t __attribute__((unused));
852#ifdef __MigPackStructs
853#pragma pack(pop)
854#endif
855
856#ifdef __MigPackStructs
857#pragma pack(push, 4)
858#endif
859 typedef struct {
860 mach_msg_header_t Head;
861 NDR_record_t NDR;
862 mach_voucher_selector_t which;
863 } __Request__thread_get_mach_voucher_t __attribute__((unused));
864#ifdef __MigPackStructs
865#pragma pack(pop)
866#endif
867
868#ifdef __MigPackStructs
869#pragma pack(push, 4)
870#endif
871 typedef struct {
872 mach_msg_header_t Head;
873 /* start of the kernel processed data */
874 mach_msg_body_t msgh_body;
875 mach_msg_port_descriptor_t voucher;
876 /* end of the kernel processed data */
877 } __Request__thread_set_mach_voucher_t __attribute__((unused));
878#ifdef __MigPackStructs
879#pragma pack(pop)
880#endif
881
882#ifdef __MigPackStructs
883#pragma pack(push, 4)
884#endif
885 typedef struct {
886 mach_msg_header_t Head;
887 /* start of the kernel processed data */
888 mach_msg_body_t msgh_body;
889 mach_msg_port_descriptor_t new_voucher;
890 mach_msg_port_descriptor_t old_voucher;
891 /* end of the kernel processed data */
892 } __Request__thread_swap_mach_voucher_t __attribute__((unused));
893#ifdef __MigPackStructs
894#pragma pack(pop)
895#endif
896
897#ifdef __MigPackStructs
898#pragma pack(push, 4)
899#endif
900 typedef struct {
901 mach_msg_header_t Head;
902 NDR_record_t NDR;
903 int direction;
904 thread_state_flavor_t flavor;
905 mach_msg_type_number_t in_stateCnt;
906 natural_t in_state[1296];
907 mach_msg_type_number_t out_stateCnt;
908 } __Request__thread_convert_thread_state_t __attribute__((unused));
909#ifdef __MigPackStructs
910#pragma pack(pop)
911#endif
912
913#ifdef __MigPackStructs
914#pragma pack(push, 4)
915#endif
916 typedef struct {
917 mach_msg_header_t Head;
918 NDR_record_t NDR;
919 exception_mask_t exception_mask;
920 } __Request__thread_get_exception_ports_info_t __attribute__((unused));
921#ifdef __MigPackStructs
922#pragma pack(pop)
923#endif
924
925#ifdef __MigPackStructs
926#pragma pack(push, 4)
927#endif
928 typedef struct {
929 mach_msg_header_t Head;
930 /* start of the kernel processed data */
931 mach_msg_body_t msgh_body;
932 mach_msg_port_descriptor_t exc_port;
933 /* end of the kernel processed data */
934 NDR_record_t NDR;
935 exception_mask_t exc_mask;
936 exception_behavior_t behavior_mask;
937 thread_state_flavor_t flavor_mask;
938 } __Request__thread_adopt_exception_handler_t __attribute__((unused));
939#ifdef __MigPackStructs
940#pragma pack(pop)
941#endif
942#endif /* !__Request__thread_act_subsystem__defined */
943
944/* union of all requests */
945
946#ifndef __RequestUnion__thread_act_subsystem__defined
947#define __RequestUnion__thread_act_subsystem__defined
948union __RequestUnion__thread_act_subsystem {
949 __Request__thread_terminate_t Request_thread_terminate;
950 __Request__act_get_state_t Request_act_get_state;
951 __Request__act_set_state_t Request_act_set_state;
952 __Request__thread_get_state_t Request_thread_get_state;
953 __Request__thread_set_state_t Request_thread_set_state;
954 __Request__thread_suspend_t Request_thread_suspend;
955 __Request__thread_resume_t Request_thread_resume;
956 __Request__thread_abort_t Request_thread_abort;
957 __Request__thread_abort_safely_t Request_thread_abort_safely;
958 __Request__thread_depress_abort_t Request_thread_depress_abort;
959 __Request__thread_get_special_port_t Request_thread_get_special_port;
960 __Request__thread_set_special_port_t Request_thread_set_special_port;
961 __Request__thread_info_t Request_thread_info;
962 __Request__thread_set_exception_ports_t Request_thread_set_exception_ports;
963 __Request__thread_get_exception_ports_t Request_thread_get_exception_ports;
964 __Request__thread_swap_exception_ports_t Request_thread_swap_exception_ports;
965 __Request__thread_policy_t Request_thread_policy;
966 __Request__thread_policy_set_t Request_thread_policy_set;
967 __Request__thread_policy_get_t Request_thread_policy_get;
968 __Request__thread_sample_t Request_thread_sample;
969 __Request__etap_trace_thread_t Request_etap_trace_thread;
970 __Request__thread_assign_t Request_thread_assign;
971 __Request__thread_assign_default_t Request_thread_assign_default;
972 __Request__thread_get_assignment_t Request_thread_get_assignment;
973 __Request__thread_set_policy_t Request_thread_set_policy;
974 __Request__thread_get_mach_voucher_t Request_thread_get_mach_voucher;
975 __Request__thread_set_mach_voucher_t Request_thread_set_mach_voucher;
976 __Request__thread_swap_mach_voucher_t Request_thread_swap_mach_voucher;
977 __Request__thread_convert_thread_state_t Request_thread_convert_thread_state;
978 __Request__thread_get_exception_ports_info_t Request_thread_get_exception_ports_info;
979 __Request__thread_adopt_exception_handler_t Request_thread_adopt_exception_handler;
980};
981#endif /* !__RequestUnion__thread_act_subsystem__defined */
982/* typedefs for all replies */
983
984#ifndef __Reply__thread_act_subsystem__defined
985#define __Reply__thread_act_subsystem__defined
986
987#ifdef __MigPackStructs
988#pragma pack(push, 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_terminate_t __attribute__((unused));
995#ifdef __MigPackStructs
996#pragma pack(pop)
997#endif
998
999#ifdef __MigPackStructs
1000#pragma pack(push, 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 old_stateCnt;
1007 natural_t old_state[1296];
1008 } __Reply__act_get_state_t __attribute__((unused));
1009#ifdef __MigPackStructs
1010#pragma pack(pop)
1011#endif
1012
1013#ifdef __MigPackStructs
1014#pragma pack(push, 4)
1015#endif
1016 typedef struct {
1017 mach_msg_header_t Head;
1018 NDR_record_t NDR;
1019 kern_return_t RetCode;
1020 } __Reply__act_set_state_t __attribute__((unused));
1021#ifdef __MigPackStructs
1022#pragma pack(pop)
1023#endif
1024
1025#ifdef __MigPackStructs
1026#pragma pack(push, 4)
1027#endif
1028 typedef struct {
1029 mach_msg_header_t Head;
1030 NDR_record_t NDR;
1031 kern_return_t RetCode;
1032 mach_msg_type_number_t old_stateCnt;
1033 natural_t old_state[1296];
1034 } __Reply__thread_get_state_t __attribute__((unused));
1035#ifdef __MigPackStructs
1036#pragma pack(pop)
1037#endif
1038
1039#ifdef __MigPackStructs
1040#pragma pack(push, 4)
1041#endif
1042 typedef struct {
1043 mach_msg_header_t Head;
1044 NDR_record_t NDR;
1045 kern_return_t RetCode;
1046 } __Reply__thread_set_state_t __attribute__((unused));
1047#ifdef __MigPackStructs
1048#pragma pack(pop)
1049#endif
1050
1051#ifdef __MigPackStructs
1052#pragma pack(push, 4)
1053#endif
1054 typedef struct {
1055 mach_msg_header_t Head;
1056 NDR_record_t NDR;
1057 kern_return_t RetCode;
1058 } __Reply__thread_suspend_t __attribute__((unused));
1059#ifdef __MigPackStructs
1060#pragma pack(pop)
1061#endif
1062
1063#ifdef __MigPackStructs
1064#pragma pack(push, 4)
1065#endif
1066 typedef struct {
1067 mach_msg_header_t Head;
1068 NDR_record_t NDR;
1069 kern_return_t RetCode;
1070 } __Reply__thread_resume_t __attribute__((unused));
1071#ifdef __MigPackStructs
1072#pragma pack(pop)
1073#endif
1074
1075#ifdef __MigPackStructs
1076#pragma pack(push, 4)
1077#endif
1078 typedef struct {
1079 mach_msg_header_t Head;
1080 NDR_record_t NDR;
1081 kern_return_t RetCode;
1082 } __Reply__thread_abort_t __attribute__((unused));
1083#ifdef __MigPackStructs
1084#pragma pack(pop)
1085#endif
1086
1087#ifdef __MigPackStructs
1088#pragma pack(push, 4)
1089#endif
1090 typedef struct {
1091 mach_msg_header_t Head;
1092 NDR_record_t NDR;
1093 kern_return_t RetCode;
1094 } __Reply__thread_abort_safely_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 kern_return_t RetCode;
1106 } __Reply__thread_depress_abort_t __attribute__((unused));
1107#ifdef __MigPackStructs
1108#pragma pack(pop)
1109#endif
1110
1111#ifdef __MigPackStructs
1112#pragma pack(push, 4)
1113#endif
1114 typedef struct {
1115 mach_msg_header_t Head;
1116 /* start of the kernel processed data */
1117 mach_msg_body_t msgh_body;
1118 mach_msg_port_descriptor_t special_port;
1119 /* end of the kernel processed data */
1120 } __Reply__thread_get_special_port_t __attribute__((unused));
1121#ifdef __MigPackStructs
1122#pragma pack(pop)
1123#endif
1124
1125#ifdef __MigPackStructs
1126#pragma pack(push, 4)
1127#endif
1128 typedef struct {
1129 mach_msg_header_t Head;
1130 NDR_record_t NDR;
1131 kern_return_t RetCode;
1132 } __Reply__thread_set_special_port_t __attribute__((unused));
1133#ifdef __MigPackStructs
1134#pragma pack(pop)
1135#endif
1136
1137#ifdef __MigPackStructs
1138#pragma pack(push, 4)
1139#endif
1140 typedef struct {
1141 mach_msg_header_t Head;
1142 NDR_record_t NDR;
1143 kern_return_t RetCode;
1144 mach_msg_type_number_t thread_info_outCnt;
1145 integer_t thread_info_out[32];
1146 } __Reply__thread_info_t __attribute__((unused));
1147#ifdef __MigPackStructs
1148#pragma pack(pop)
1149#endif
1150
1151#ifdef __MigPackStructs
1152#pragma pack(push, 4)
1153#endif
1154 typedef struct {
1155 mach_msg_header_t Head;
1156 NDR_record_t NDR;
1157 kern_return_t RetCode;
1158 } __Reply__thread_set_exception_ports_t __attribute__((unused));
1159#ifdef __MigPackStructs
1160#pragma pack(pop)
1161#endif
1162
1163#ifdef __MigPackStructs
1164#pragma pack(push, 4)
1165#endif
1166 typedef struct {
1167 mach_msg_header_t Head;
1168 /* start of the kernel processed data */
1169 mach_msg_body_t msgh_body;
1170 mach_msg_port_descriptor_t old_handlers[32];
1171 /* end of the kernel processed data */
1172 NDR_record_t NDR;
1173 mach_msg_type_number_t masksCnt;
1174 exception_mask_t masks[32];
1175 exception_behavior_t old_behaviors[32];
1176 thread_state_flavor_t old_flavors[32];
1177 } __Reply__thread_get_exception_ports_t __attribute__((unused));
1178#ifdef __MigPackStructs
1179#pragma pack(pop)
1180#endif
1181
1182#ifdef __MigPackStructs
1183#pragma pack(push, 4)
1184#endif
1185 typedef struct {
1186 mach_msg_header_t Head;
1187 /* start of the kernel processed data */
1188 mach_msg_body_t msgh_body;
1189 mach_msg_port_descriptor_t old_handlers[32];
1190 /* end of the kernel processed data */
1191 NDR_record_t NDR;
1192 mach_msg_type_number_t masksCnt;
1193 exception_mask_t masks[32];
1194 exception_behavior_t old_behaviors[32];
1195 thread_state_flavor_t old_flavors[32];
1196 } __Reply__thread_swap_exception_ports_t __attribute__((unused));
1197#ifdef __MigPackStructs
1198#pragma pack(pop)
1199#endif
1200
1201#ifdef __MigPackStructs
1202#pragma pack(push, 4)
1203#endif
1204 typedef struct {
1205 mach_msg_header_t Head;
1206 NDR_record_t NDR;
1207 kern_return_t RetCode;
1208 } __Reply__thread_policy_t __attribute__((unused));
1209#ifdef __MigPackStructs
1210#pragma pack(pop)
1211#endif
1212
1213#ifdef __MigPackStructs
1214#pragma pack(push, 4)
1215#endif
1216 typedef struct {
1217 mach_msg_header_t Head;
1218 NDR_record_t NDR;
1219 kern_return_t RetCode;
1220 } __Reply__thread_policy_set_t __attribute__((unused));
1221#ifdef __MigPackStructs
1222#pragma pack(pop)
1223#endif
1224
1225#ifdef __MigPackStructs
1226#pragma pack(push, 4)
1227#endif
1228 typedef struct {
1229 mach_msg_header_t Head;
1230 NDR_record_t NDR;
1231 kern_return_t RetCode;
1232 mach_msg_type_number_t policy_infoCnt;
1233 integer_t policy_info[16];
1234 boolean_t get_default;
1235 } __Reply__thread_policy_get_t __attribute__((unused));
1236#ifdef __MigPackStructs
1237#pragma pack(pop)
1238#endif
1239
1240#ifdef __MigPackStructs
1241#pragma pack(push, 4)
1242#endif
1243 typedef struct {
1244 mach_msg_header_t Head;
1245 NDR_record_t NDR;
1246 kern_return_t RetCode;
1247 } __Reply__thread_sample_t __attribute__((unused));
1248#ifdef __MigPackStructs
1249#pragma pack(pop)
1250#endif
1251
1252#ifdef __MigPackStructs
1253#pragma pack(push, 4)
1254#endif
1255 typedef struct {
1256 mach_msg_header_t Head;
1257 NDR_record_t NDR;
1258 kern_return_t RetCode;
1259 } __Reply__etap_trace_thread_t __attribute__((unused));
1260#ifdef __MigPackStructs
1261#pragma pack(pop)
1262#endif
1263
1264#ifdef __MigPackStructs
1265#pragma pack(push, 4)
1266#endif
1267 typedef struct {
1268 mach_msg_header_t Head;
1269 NDR_record_t NDR;
1270 kern_return_t RetCode;
1271 } __Reply__thread_assign_t __attribute__((unused));
1272#ifdef __MigPackStructs
1273#pragma pack(pop)
1274#endif
1275
1276#ifdef __MigPackStructs
1277#pragma pack(push, 4)
1278#endif
1279 typedef struct {
1280 mach_msg_header_t Head;
1281 NDR_record_t NDR;
1282 kern_return_t RetCode;
1283 } __Reply__thread_assign_default_t __attribute__((unused));
1284#ifdef __MigPackStructs
1285#pragma pack(pop)
1286#endif
1287
1288#ifdef __MigPackStructs
1289#pragma pack(push, 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 assigned_set;
1296 /* end of the kernel processed data */
1297 } __Reply__thread_get_assignment_t __attribute__((unused));
1298#ifdef __MigPackStructs
1299#pragma pack(pop)
1300#endif
1301
1302#ifdef __MigPackStructs
1303#pragma pack(push, 4)
1304#endif
1305 typedef struct {
1306 mach_msg_header_t Head;
1307 NDR_record_t NDR;
1308 kern_return_t RetCode;
1309 } __Reply__thread_set_policy_t __attribute__((unused));
1310#ifdef __MigPackStructs
1311#pragma pack(pop)
1312#endif
1313
1314#ifdef __MigPackStructs
1315#pragma pack(push, 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 voucher;
1322 /* end of the kernel processed data */
1323 } __Reply__thread_get_mach_voucher_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__thread_set_mach_voucher_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 /* start of the kernel processed data */
1346 mach_msg_body_t msgh_body;
1347 mach_msg_port_descriptor_t old_voucher;
1348 /* end of the kernel processed data */
1349 } __Reply__thread_swap_mach_voucher_t __attribute__((unused));
1350#ifdef __MigPackStructs
1351#pragma pack(pop)
1352#endif
1353
1354#ifdef __MigPackStructs
1355#pragma pack(push, 4)
1356#endif
1357 typedef struct {
1358 mach_msg_header_t Head;
1359 NDR_record_t NDR;
1360 kern_return_t RetCode;
1361 mach_msg_type_number_t out_stateCnt;
1362 natural_t out_state[1296];
1363 } __Reply__thread_convert_thread_state_t __attribute__((unused));
1364#ifdef __MigPackStructs
1365#pragma pack(pop)
1366#endif
1367
1368#ifdef __MigPackStructs
1369#pragma pack(push, 4)
1370#endif
1371 typedef struct {
1372 mach_msg_header_t Head;
1373 NDR_record_t NDR;
1374 kern_return_t RetCode;
1375 mach_msg_type_number_t masksCnt;
1376 exception_mask_t masks[32];
1377 exception_handler_info_t old_handlers_info[32];
1378 exception_behavior_t old_behaviors[32];
1379 thread_state_flavor_t old_flavors[32];
1380 } __Reply__thread_get_exception_ports_info_t __attribute__((unused));
1381#ifdef __MigPackStructs
1382#pragma pack(pop)
1383#endif
1384
1385#ifdef __MigPackStructs
1386#pragma pack(push, 4)
1387#endif
1388 typedef struct {
1389 mach_msg_header_t Head;
1390 NDR_record_t NDR;
1391 kern_return_t RetCode;
1392 } __Reply__thread_adopt_exception_handler_t __attribute__((unused));
1393#ifdef __MigPackStructs
1394#pragma pack(pop)
1395#endif
1396#endif /* !__Reply__thread_act_subsystem__defined */
1397
1398/* union of all replies */
1399
1400#ifndef __ReplyUnion__thread_act_subsystem__defined
1401#define __ReplyUnion__thread_act_subsystem__defined
1402union __ReplyUnion__thread_act_subsystem {
1403 __Reply__thread_terminate_t Reply_thread_terminate;
1404 __Reply__act_get_state_t Reply_act_get_state;
1405 __Reply__act_set_state_t Reply_act_set_state;
1406 __Reply__thread_get_state_t Reply_thread_get_state;
1407 __Reply__thread_set_state_t Reply_thread_set_state;
1408 __Reply__thread_suspend_t Reply_thread_suspend;
1409 __Reply__thread_resume_t Reply_thread_resume;
1410 __Reply__thread_abort_t Reply_thread_abort;
1411 __Reply__thread_abort_safely_t Reply_thread_abort_safely;
1412 __Reply__thread_depress_abort_t Reply_thread_depress_abort;
1413 __Reply__thread_get_special_port_t Reply_thread_get_special_port;
1414 __Reply__thread_set_special_port_t Reply_thread_set_special_port;
1415 __Reply__thread_info_t Reply_thread_info;
1416 __Reply__thread_set_exception_ports_t Reply_thread_set_exception_ports;
1417 __Reply__thread_get_exception_ports_t Reply_thread_get_exception_ports;
1418 __Reply__thread_swap_exception_ports_t Reply_thread_swap_exception_ports;
1419 __Reply__thread_policy_t Reply_thread_policy;
1420 __Reply__thread_policy_set_t Reply_thread_policy_set;
1421 __Reply__thread_policy_get_t Reply_thread_policy_get;
1422 __Reply__thread_sample_t Reply_thread_sample;
1423 __Reply__etap_trace_thread_t Reply_etap_trace_thread;
1424 __Reply__thread_assign_t Reply_thread_assign;
1425 __Reply__thread_assign_default_t Reply_thread_assign_default;
1426 __Reply__thread_get_assignment_t Reply_thread_get_assignment;
1427 __Reply__thread_set_policy_t Reply_thread_set_policy;
1428 __Reply__thread_get_mach_voucher_t Reply_thread_get_mach_voucher;
1429 __Reply__thread_set_mach_voucher_t Reply_thread_set_mach_voucher;
1430 __Reply__thread_swap_mach_voucher_t Reply_thread_swap_mach_voucher;
1431 __Reply__thread_convert_thread_state_t Reply_thread_convert_thread_state;
1432 __Reply__thread_get_exception_ports_info_t Reply_thread_get_exception_ports_info;
1433 __Reply__thread_adopt_exception_handler_t Reply_thread_adopt_exception_handler;
1434};
1435#endif /* !__RequestUnion__thread_act_subsystem__defined */
1436
1437#ifndef subsystem_to_name_map_thread_act
1438#define subsystem_to_name_map_thread_act \
1439 { "thread_terminate", 3600 },\
1440 { "act_get_state", 3601 },\
1441 { "act_set_state", 3602 },\
1442 { "thread_get_state", 3603 },\
1443 { "thread_set_state", 3604 },\
1444 { "thread_suspend", 3605 },\
1445 { "thread_resume", 3606 },\
1446 { "thread_abort", 3607 },\
1447 { "thread_abort_safely", 3608 },\
1448 { "thread_depress_abort", 3609 },\
1449 { "thread_get_special_port", 3610 },\
1450 { "thread_set_special_port", 3611 },\
1451 { "thread_info", 3612 },\
1452 { "thread_set_exception_ports", 3613 },\
1453 { "thread_get_exception_ports", 3614 },\
1454 { "thread_swap_exception_ports", 3615 },\
1455 { "thread_policy", 3616 },\
1456 { "thread_policy_set", 3617 },\
1457 { "thread_policy_get", 3618 },\
1458 { "thread_sample", 3619 },\
1459 { "etap_trace_thread", 3620 },\
1460 { "thread_assign", 3621 },\
1461 { "thread_assign_default", 3622 },\
1462 { "thread_get_assignment", 3623 },\
1463 { "thread_set_policy", 3624 },\
1464 { "thread_get_mach_voucher", 3625 },\
1465 { "thread_set_mach_voucher", 3626 },\
1466 { "thread_swap_mach_voucher", 3627 },\
1467 { "thread_convert_thread_state", 3628 },\
1468 { "thread_get_exception_ports_info", 3630 },\
1469 { "thread_adopt_exception_handler", 3631 }
1470#endif
1471
1472#ifdef __AfterMigUserHeader
1473__AfterMigUserHeader
1474#endif /* __AfterMigUserHeader */
1475
1476#endif /* _thread_act_user_ */