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