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