1#ifndef _thread_act_server_
2#define _thread_act_server_
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 <ipc/ipc_voucher.h>
62#include <kern/ipc_kobject.h>
63#include <kern/ipc_tt.h>
64#include <kern/ipc_host.h>
65#include <kern/ledger.h>
66#include <kern/processor.h>
67#include <kern/sync_sema.h>
68#include <ipc/ipc_eventlink.h>
69#include <vm/memory_object.h>
70#include <vm/vm_map.h>
71#include <kern/arcade.h>
72#include <kern/ipc_mig.h>
73#include <kern/task_ident.h>
74#include <kern/kern_cdata.h>
75#include <mach/mig.h>
76#include <mach/mach_types.h>
77
78#ifdef __BeforeMigServerHeader
79__BeforeMigServerHeader
80#endif /* __BeforeMigServerHeader */
81
82#ifndef MIG_SERVER_ROUTINE
83#define MIG_SERVER_ROUTINE
84#endif
85
86
87/* Routine thread_terminate_from_user */
88#ifdef mig_external
89mig_external
90#else
91extern
92#endif /* mig_external */
93MIG_SERVER_ROUTINE
94kern_return_t thread_terminate_from_user
95(
96 thread_act_t target_act
97);
98
99/* Routine act_get_state_to_user */
100#ifdef mig_external
101mig_external
102#else
103extern
104#endif /* mig_external */
105MIG_SERVER_ROUTINE
106kern_return_t act_get_state_to_user
107(
108 thread_read_t target_act,
109 int flavor,
110 thread_state_t old_state,
111 mach_msg_type_number_t *old_stateCnt
112);
113
114/* Routine act_set_state_from_user */
115#ifdef mig_external
116mig_external
117#else
118extern
119#endif /* mig_external */
120MIG_SERVER_ROUTINE
121kern_return_t act_set_state_from_user
122(
123 thread_act_t target_act,
124 int flavor,
125 thread_state_t new_state,
126 mach_msg_type_number_t new_stateCnt
127);
128
129/* Routine thread_get_state_to_user */
130#ifdef mig_external
131mig_external
132#else
133extern
134#endif /* mig_external */
135MIG_SERVER_ROUTINE
136kern_return_t thread_get_state_to_user
137(
138 thread_read_t target_act,
139 thread_state_flavor_t flavor,
140 thread_state_t old_state,
141 mach_msg_type_number_t *old_stateCnt
142);
143
144/* Routine thread_set_state_from_user */
145#ifdef mig_external
146mig_external
147#else
148extern
149#endif /* mig_external */
150MIG_SERVER_ROUTINE
151kern_return_t thread_set_state_from_user
152(
153 thread_act_t target_act,
154 thread_state_flavor_t flavor,
155 thread_state_t new_state,
156 mach_msg_type_number_t new_stateCnt
157);
158
159/* Routine thread_suspend */
160#ifdef mig_external
161mig_external
162#else
163extern
164#endif /* mig_external */
165MIG_SERVER_ROUTINE
166kern_return_t thread_suspend
167(
168 thread_read_t target_act
169);
170
171/* Routine thread_resume */
172#ifdef mig_external
173mig_external
174#else
175extern
176#endif /* mig_external */
177MIG_SERVER_ROUTINE
178kern_return_t thread_resume
179(
180 thread_read_t target_act
181);
182
183/* Routine thread_abort */
184#ifdef mig_external
185mig_external
186#else
187extern
188#endif /* mig_external */
189MIG_SERVER_ROUTINE
190kern_return_t thread_abort
191(
192 thread_act_t target_act
193);
194
195/* Routine thread_abort_safely */
196#ifdef mig_external
197mig_external
198#else
199extern
200#endif /* mig_external */
201MIG_SERVER_ROUTINE
202kern_return_t thread_abort_safely
203(
204 thread_act_t target_act
205);
206
207/* Routine thread_depress_abort_from_user */
208#ifdef mig_external
209mig_external
210#else
211extern
212#endif /* mig_external */
213MIG_SERVER_ROUTINE
214kern_return_t thread_depress_abort_from_user
215(
216 thread_act_t thread
217);
218
219/* Routine thread_get_special_port_from_user */
220#ifdef mig_external
221mig_external
222#else
223extern
224#endif /* mig_external */
225MIG_SERVER_ROUTINE
226kern_return_t thread_get_special_port_from_user
227(
228 mach_port_t port,
229 int which_port,
230 mach_port_t *special_port
231);
232
233/* Routine thread_set_special_port */
234#ifdef mig_external
235mig_external
236#else
237extern
238#endif /* mig_external */
239MIG_SERVER_ROUTINE
240kern_return_t thread_set_special_port
241(
242 thread_act_t thr_act,
243 int which_port,
244 mach_port_t special_port
245);
246
247/* Routine thread_info */
248#ifdef mig_external
249mig_external
250#else
251extern
252#endif /* mig_external */
253MIG_SERVER_ROUTINE
254kern_return_t thread_info
255(
256 thread_inspect_t target_act,
257 thread_flavor_t flavor,
258 thread_info_t thread_info_out,
259 mach_msg_type_number_t *thread_info_outCnt
260);
261
262/* Routine thread_set_exception_ports */
263#ifdef mig_external
264mig_external
265#else
266extern
267#endif /* mig_external */
268MIG_SERVER_ROUTINE
269kern_return_t thread_set_exception_ports
270(
271 thread_act_t thread,
272 exception_mask_t exception_mask,
273 mach_port_t new_port,
274 exception_behavior_t behavior,
275 thread_state_flavor_t new_flavor
276);
277
278/* Routine thread_get_exception_ports_from_user */
279#ifdef mig_external
280mig_external
281#else
282extern
283#endif /* mig_external */
284MIG_SERVER_ROUTINE
285kern_return_t thread_get_exception_ports_from_user
286(
287 mach_port_t port,
288 exception_mask_t exception_mask,
289 exception_mask_array_t masks,
290 mach_msg_type_number_t *masksCnt,
291 exception_handler_array_t old_handlers,
292 exception_behavior_array_t old_behaviors,
293 exception_flavor_array_t old_flavors
294);
295
296/* Routine thread_swap_exception_ports */
297#ifdef mig_external
298mig_external
299#else
300extern
301#endif /* mig_external */
302MIG_SERVER_ROUTINE
303kern_return_t thread_swap_exception_ports
304(
305 thread_act_t thread,
306 exception_mask_t exception_mask,
307 mach_port_t new_port,
308 exception_behavior_t behavior,
309 thread_state_flavor_t new_flavor,
310 exception_mask_array_t masks,
311 mach_msg_type_number_t *masksCnt,
312 exception_handler_array_t old_handlers,
313 exception_behavior_array_t old_behaviors,
314 exception_flavor_array_t old_flavors
315);
316
317/* Routine thread_policy */
318#ifdef mig_external
319mig_external
320#else
321extern
322#endif /* mig_external */
323MIG_SERVER_ROUTINE
324kern_return_t thread_policy
325(
326 thread_act_t thr_act,
327 policy_t policy,
328 policy_base_t base,
329 mach_msg_type_number_t baseCnt,
330 boolean_t set_limit
331);
332
333/* Routine thread_policy_set */
334#ifdef mig_external
335mig_external
336#else
337extern
338#endif /* mig_external */
339MIG_SERVER_ROUTINE
340kern_return_t thread_policy_set
341(
342 thread_act_t thread,
343 thread_policy_flavor_t flavor,
344 thread_policy_t policy_info,
345 mach_msg_type_number_t policy_infoCnt
346);
347
348/* Routine thread_policy_get */
349#ifdef mig_external
350mig_external
351#else
352extern
353#endif /* mig_external */
354MIG_SERVER_ROUTINE
355kern_return_t thread_policy_get
356(
357 thread_inspect_t thread,
358 thread_policy_flavor_t flavor,
359 thread_policy_t policy_info,
360 mach_msg_type_number_t *policy_infoCnt,
361 boolean_t *get_default
362);
363
364/* Routine thread_set_policy */
365#ifdef mig_external
366mig_external
367#else
368extern
369#endif /* mig_external */
370MIG_SERVER_ROUTINE
371kern_return_t thread_set_policy
372(
373 thread_act_t thr_act,
374 processor_set_t pset,
375 policy_t policy,
376 policy_base_t base,
377 mach_msg_type_number_t baseCnt,
378 policy_limit_t limit,
379 mach_msg_type_number_t limitCnt
380);
381
382/* Routine thread_get_mach_voucher */
383#ifdef mig_external
384mig_external
385#else
386extern
387#endif /* mig_external */
388MIG_SERVER_ROUTINE
389kern_return_t thread_get_mach_voucher
390(
391 thread_read_t thr_act,
392 mach_voucher_selector_t which,
393 ipc_voucher_t *voucher
394);
395
396/* Routine thread_set_mach_voucher */
397#ifdef mig_external
398mig_external
399#else
400extern
401#endif /* mig_external */
402MIG_SERVER_ROUTINE
403kern_return_t thread_set_mach_voucher
404(
405 thread_act_t thr_act,
406 ipc_voucher_t voucher
407);
408
409/* Routine thread_swap_mach_voucher */
410#ifdef mig_external
411mig_external
412#else
413extern
414#endif /* mig_external */
415MIG_SERVER_ROUTINE
416kern_return_t thread_swap_mach_voucher
417(
418 thread_act_t thr_act,
419 ipc_voucher_t new_voucher,
420 ipc_voucher_t *old_voucher
421);
422
423/* Routine thread_convert_thread_state */
424#ifdef mig_external
425mig_external
426#else
427extern
428#endif /* mig_external */
429MIG_SERVER_ROUTINE
430kern_return_t thread_convert_thread_state
431(
432 thread_act_t thread,
433 int direction,
434 thread_state_flavor_t flavor,
435 thread_state_t in_state,
436 mach_msg_type_number_t in_stateCnt,
437 thread_state_t out_state,
438 mach_msg_type_number_t *out_stateCnt
439);
440
441/* Routine thread_get_exception_ports_info */
442#ifdef mig_external
443mig_external
444#else
445extern
446#endif /* mig_external */
447MIG_SERVER_ROUTINE
448kern_return_t thread_get_exception_ports_info
449(
450 mach_port_t port,
451 exception_mask_t exception_mask,
452 exception_mask_array_t masks,
453 mach_msg_type_number_t *masksCnt,
454 exception_handler_info_array_t old_handlers_info,
455 exception_behavior_array_t old_behaviors,
456 exception_flavor_array_t old_flavors
457);
458
459#ifdef mig_external
460mig_external
461#else
462extern
463#endif /* mig_external */
464boolean_t thread_act_server(
465 mach_msg_header_t *InHeadP,
466 void *InDataP,
467 mach_msg_max_trailer_t *InTrailerP,
468 mach_msg_header_t *OutHeadP,
469 void *OutDataP);
470
471#ifdef mig_external
472mig_external
473#else
474extern
475#endif /* mig_external */
476mig_kern_routine_t thread_act_server_routine(
477 mach_msg_header_t *InHeadP);
478
479
480/* Description of this kernel subsystem, for use in direct RPC */
481extern const struct thread_act_subsystem {
482 mig_kern_server_routine_t kserver; /* Server routine */
483 mach_msg_id_t start; /* Min routine number */
484 mach_msg_id_t end; /* Max routine number + 1 */
485 unsigned int maxsize; /* Max msg size */
486 vm_address_t reserved; /* Reserved */
487 struct kern_routine_descriptor /* Array of routine descriptors */
488 kroutine[31];
489} thread_act_subsystem;
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_from_user_t __attribute__((unused));
502#ifdef __MigPackStructs
503#pragma pack(pop)
504#endif
505/* Struct for kernel processed data (Header + Descriptors) */
506#ifdef __MigPackStructs
507#pragma pack(push, 4)
508#endif
509 typedef struct {
510 mach_msg_header_t Head;
511 } __RequestKData__thread_terminate_from_user_t __attribute__((unused));
512#ifdef __MigPackStructs
513#pragma pack(pop)
514#endif
515/* Struct for pure user data */
516#ifdef __MigPackStructs
517#pragma pack(push, 4)
518#endif
519 typedef struct {
520 char padding[0]; /* Avoid generating empty UData structs */
521 } __RequestUData__thread_terminate_from_user_t __attribute__((unused));
522#ifdef __MigPackStructs
523#pragma pack(pop)
524#endif
525
526#ifdef __MigPackStructs
527#pragma pack(push, 4)
528#endif
529 typedef struct {
530 mach_msg_header_t Head;
531 NDR_record_t NDR;
532 int flavor;
533 mach_msg_type_number_t old_stateCnt;
534 } __Request__act_get_state_to_user_t __attribute__((unused));
535#ifdef __MigPackStructs
536#pragma pack(pop)
537#endif
538/* Struct for kernel processed data (Header + Descriptors) */
539#ifdef __MigPackStructs
540#pragma pack(push, 4)
541#endif
542 typedef struct {
543 mach_msg_header_t Head;
544 } __RequestKData__act_get_state_to_user_t __attribute__((unused));
545#ifdef __MigPackStructs
546#pragma pack(pop)
547#endif
548/* Struct for pure user data */
549#ifdef __MigPackStructs
550#pragma pack(push, 4)
551#endif
552 typedef struct {
553 NDR_record_t NDR;
554 int flavor;
555 mach_msg_type_number_t old_stateCnt;
556 char padding[0]; /* Avoid generating empty UData structs */
557 } __RequestUData__act_get_state_to_user_t __attribute__((unused));
558#ifdef __MigPackStructs
559#pragma pack(pop)
560#endif
561
562#ifdef __MigPackStructs
563#pragma pack(push, 4)
564#endif
565 typedef struct {
566 mach_msg_header_t Head;
567 NDR_record_t NDR;
568 int flavor;
569 mach_msg_type_number_t new_stateCnt;
570 natural_t new_state[1296];
571 } __Request__act_set_state_from_user_t __attribute__((unused));
572#ifdef __MigPackStructs
573#pragma pack(pop)
574#endif
575/* Struct for kernel processed data (Header + Descriptors) */
576#ifdef __MigPackStructs
577#pragma pack(push, 4)
578#endif
579 typedef struct {
580 mach_msg_header_t Head;
581 } __RequestKData__act_set_state_from_user_t __attribute__((unused));
582#ifdef __MigPackStructs
583#pragma pack(pop)
584#endif
585/* Struct for pure user data */
586#ifdef __MigPackStructs
587#pragma pack(push, 4)
588#endif
589 typedef struct {
590 NDR_record_t NDR;
591 int flavor;
592 mach_msg_type_number_t new_stateCnt;
593 natural_t new_state[1296];
594 char padding[0]; /* Avoid generating empty UData structs */
595 } __RequestUData__act_set_state_from_user_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 NDR_record_t NDR;
606 thread_state_flavor_t flavor;
607 mach_msg_type_number_t old_stateCnt;
608 } __Request__thread_get_state_to_user_t __attribute__((unused));
609#ifdef __MigPackStructs
610#pragma pack(pop)
611#endif
612/* Struct for kernel processed data (Header + Descriptors) */
613#ifdef __MigPackStructs
614#pragma pack(push, 4)
615#endif
616 typedef struct {
617 mach_msg_header_t Head;
618 } __RequestKData__thread_get_state_to_user_t __attribute__((unused));
619#ifdef __MigPackStructs
620#pragma pack(pop)
621#endif
622/* Struct for pure user data */
623#ifdef __MigPackStructs
624#pragma pack(push, 4)
625#endif
626 typedef struct {
627 NDR_record_t NDR;
628 thread_state_flavor_t flavor;
629 mach_msg_type_number_t old_stateCnt;
630 char padding[0]; /* Avoid generating empty UData structs */
631 } __RequestUData__thread_get_state_to_user_t __attribute__((unused));
632#ifdef __MigPackStructs
633#pragma pack(pop)
634#endif
635
636#ifdef __MigPackStructs
637#pragma pack(push, 4)
638#endif
639 typedef struct {
640 mach_msg_header_t Head;
641 NDR_record_t NDR;
642 thread_state_flavor_t flavor;
643 mach_msg_type_number_t new_stateCnt;
644 natural_t new_state[1296];
645 } __Request__thread_set_state_from_user_t __attribute__((unused));
646#ifdef __MigPackStructs
647#pragma pack(pop)
648#endif
649/* Struct for kernel processed data (Header + Descriptors) */
650#ifdef __MigPackStructs
651#pragma pack(push, 4)
652#endif
653 typedef struct {
654 mach_msg_header_t Head;
655 } __RequestKData__thread_set_state_from_user_t __attribute__((unused));
656#ifdef __MigPackStructs
657#pragma pack(pop)
658#endif
659/* Struct for pure user data */
660#ifdef __MigPackStructs
661#pragma pack(push, 4)
662#endif
663 typedef struct {
664 NDR_record_t NDR;
665 thread_state_flavor_t flavor;
666 mach_msg_type_number_t new_stateCnt;
667 natural_t new_state[1296];
668 char padding[0]; /* Avoid generating empty UData structs */
669 } __RequestUData__thread_set_state_from_user_t __attribute__((unused));
670#ifdef __MigPackStructs
671#pragma pack(pop)
672#endif
673
674#ifdef __MigPackStructs
675#pragma pack(push, 4)
676#endif
677 typedef struct {
678 mach_msg_header_t Head;
679 } __Request__thread_suspend_t __attribute__((unused));
680#ifdef __MigPackStructs
681#pragma pack(pop)
682#endif
683/* Struct for kernel processed data (Header + Descriptors) */
684#ifdef __MigPackStructs
685#pragma pack(push, 4)
686#endif
687 typedef struct {
688 mach_msg_header_t Head;
689 } __RequestKData__thread_suspend_t __attribute__((unused));
690#ifdef __MigPackStructs
691#pragma pack(pop)
692#endif
693/* Struct for pure user data */
694#ifdef __MigPackStructs
695#pragma pack(push, 4)
696#endif
697 typedef struct {
698 char padding[0]; /* Avoid generating empty UData structs */
699 } __RequestUData__thread_suspend_t __attribute__((unused));
700#ifdef __MigPackStructs
701#pragma pack(pop)
702#endif
703
704#ifdef __MigPackStructs
705#pragma pack(push, 4)
706#endif
707 typedef struct {
708 mach_msg_header_t Head;
709 } __Request__thread_resume_t __attribute__((unused));
710#ifdef __MigPackStructs
711#pragma pack(pop)
712#endif
713/* Struct for kernel processed data (Header + Descriptors) */
714#ifdef __MigPackStructs
715#pragma pack(push, 4)
716#endif
717 typedef struct {
718 mach_msg_header_t Head;
719 } __RequestKData__thread_resume_t __attribute__((unused));
720#ifdef __MigPackStructs
721#pragma pack(pop)
722#endif
723/* Struct for pure user data */
724#ifdef __MigPackStructs
725#pragma pack(push, 4)
726#endif
727 typedef struct {
728 char padding[0]; /* Avoid generating empty UData structs */
729 } __RequestUData__thread_resume_t __attribute__((unused));
730#ifdef __MigPackStructs
731#pragma pack(pop)
732#endif
733
734#ifdef __MigPackStructs
735#pragma pack(push, 4)
736#endif
737 typedef struct {
738 mach_msg_header_t Head;
739 } __Request__thread_abort_t __attribute__((unused));
740#ifdef __MigPackStructs
741#pragma pack(pop)
742#endif
743/* Struct for kernel processed data (Header + Descriptors) */
744#ifdef __MigPackStructs
745#pragma pack(push, 4)
746#endif
747 typedef struct {
748 mach_msg_header_t Head;
749 } __RequestKData__thread_abort_t __attribute__((unused));
750#ifdef __MigPackStructs
751#pragma pack(pop)
752#endif
753/* Struct for pure user data */
754#ifdef __MigPackStructs
755#pragma pack(push, 4)
756#endif
757 typedef struct {
758 char padding[0]; /* Avoid generating empty UData structs */
759 } __RequestUData__thread_abort_t __attribute__((unused));
760#ifdef __MigPackStructs
761#pragma pack(pop)
762#endif
763
764#ifdef __MigPackStructs
765#pragma pack(push, 4)
766#endif
767 typedef struct {
768 mach_msg_header_t Head;
769 } __Request__thread_abort_safely_t __attribute__((unused));
770#ifdef __MigPackStructs
771#pragma pack(pop)
772#endif
773/* Struct for kernel processed data (Header + Descriptors) */
774#ifdef __MigPackStructs
775#pragma pack(push, 4)
776#endif
777 typedef struct {
778 mach_msg_header_t Head;
779 } __RequestKData__thread_abort_safely_t __attribute__((unused));
780#ifdef __MigPackStructs
781#pragma pack(pop)
782#endif
783/* Struct for pure user data */
784#ifdef __MigPackStructs
785#pragma pack(push, 4)
786#endif
787 typedef struct {
788 char padding[0]; /* Avoid generating empty UData structs */
789 } __RequestUData__thread_abort_safely_t __attribute__((unused));
790#ifdef __MigPackStructs
791#pragma pack(pop)
792#endif
793
794#ifdef __MigPackStructs
795#pragma pack(push, 4)
796#endif
797 typedef struct {
798 mach_msg_header_t Head;
799 } __Request__thread_depress_abort_from_user_t __attribute__((unused));
800#ifdef __MigPackStructs
801#pragma pack(pop)
802#endif
803/* Struct for kernel processed data (Header + Descriptors) */
804#ifdef __MigPackStructs
805#pragma pack(push, 4)
806#endif
807 typedef struct {
808 mach_msg_header_t Head;
809 } __RequestKData__thread_depress_abort_from_user_t __attribute__((unused));
810#ifdef __MigPackStructs
811#pragma pack(pop)
812#endif
813/* Struct for pure user data */
814#ifdef __MigPackStructs
815#pragma pack(push, 4)
816#endif
817 typedef struct {
818 char padding[0]; /* Avoid generating empty UData structs */
819 } __RequestUData__thread_depress_abort_from_user_t __attribute__((unused));
820#ifdef __MigPackStructs
821#pragma pack(pop)
822#endif
823
824#ifdef __MigPackStructs
825#pragma pack(push, 4)
826#endif
827 typedef struct {
828 mach_msg_header_t Head;
829 NDR_record_t NDR;
830 int which_port;
831 } __Request__thread_get_special_port_from_user_t __attribute__((unused));
832#ifdef __MigPackStructs
833#pragma pack(pop)
834#endif
835/* Struct for kernel processed data (Header + Descriptors) */
836#ifdef __MigPackStructs
837#pragma pack(push, 4)
838#endif
839 typedef struct {
840 mach_msg_header_t Head;
841 } __RequestKData__thread_get_special_port_from_user_t __attribute__((unused));
842#ifdef __MigPackStructs
843#pragma pack(pop)
844#endif
845/* Struct for pure user data */
846#ifdef __MigPackStructs
847#pragma pack(push, 4)
848#endif
849 typedef struct {
850 NDR_record_t NDR;
851 int which_port;
852 char padding[0]; /* Avoid generating empty UData structs */
853 } __RequestUData__thread_get_special_port_from_user_t __attribute__((unused));
854#ifdef __MigPackStructs
855#pragma pack(pop)
856#endif
857
858#ifdef __MigPackStructs
859#pragma pack(push, 4)
860#endif
861 typedef struct {
862 mach_msg_header_t Head;
863 /* start of the kernel processed data */
864 mach_msg_body_t msgh_body;
865 mach_msg_port_descriptor_t special_port;
866 /* end of the kernel processed data */
867 NDR_record_t NDR;
868 int which_port;
869 } __Request__thread_set_special_port_t __attribute__((unused));
870#ifdef __MigPackStructs
871#pragma pack(pop)
872#endif
873/* Struct for kernel processed data (Header + Descriptors) */
874#ifdef __MigPackStructs
875#pragma pack(push, 4)
876#endif
877 typedef struct {
878 mach_msg_header_t Head;
879 mach_msg_body_t msgh_body;
880 mach_msg_port_descriptor_t special_port;
881 } __RequestKData__thread_set_special_port_t __attribute__((unused));
882#ifdef __MigPackStructs
883#pragma pack(pop)
884#endif
885/* Struct for pure user data */
886#ifdef __MigPackStructs
887#pragma pack(push, 4)
888#endif
889 typedef struct {
890 NDR_record_t NDR;
891 int which_port;
892 char padding[0]; /* Avoid generating empty UData structs */
893 } __RequestUData__thread_set_special_port_t __attribute__((unused));
894#ifdef __MigPackStructs
895#pragma pack(pop)
896#endif
897
898#ifdef __MigPackStructs
899#pragma pack(push, 4)
900#endif
901 typedef struct {
902 mach_msg_header_t Head;
903 NDR_record_t NDR;
904 thread_flavor_t flavor;
905 mach_msg_type_number_t thread_info_outCnt;
906 } __Request__thread_info_t __attribute__((unused));
907#ifdef __MigPackStructs
908#pragma pack(pop)
909#endif
910/* Struct for kernel processed data (Header + Descriptors) */
911#ifdef __MigPackStructs
912#pragma pack(push, 4)
913#endif
914 typedef struct {
915 mach_msg_header_t Head;
916 } __RequestKData__thread_info_t __attribute__((unused));
917#ifdef __MigPackStructs
918#pragma pack(pop)
919#endif
920/* Struct for pure user data */
921#ifdef __MigPackStructs
922#pragma pack(push, 4)
923#endif
924 typedef struct {
925 NDR_record_t NDR;
926 thread_flavor_t flavor;
927 mach_msg_type_number_t thread_info_outCnt;
928 char padding[0]; /* Avoid generating empty UData structs */
929 } __RequestUData__thread_info_t __attribute__((unused));
930#ifdef __MigPackStructs
931#pragma pack(pop)
932#endif
933
934#ifdef __MigPackStructs
935#pragma pack(push, 4)
936#endif
937 typedef struct {
938 mach_msg_header_t Head;
939 /* start of the kernel processed data */
940 mach_msg_body_t msgh_body;
941 mach_msg_port_descriptor_t new_port;
942 /* end of the kernel processed data */
943 NDR_record_t NDR;
944 exception_mask_t exception_mask;
945 exception_behavior_t behavior;
946 thread_state_flavor_t new_flavor;
947 } __Request__thread_set_exception_ports_t __attribute__((unused));
948#ifdef __MigPackStructs
949#pragma pack(pop)
950#endif
951/* Struct for kernel processed data (Header + Descriptors) */
952#ifdef __MigPackStructs
953#pragma pack(push, 4)
954#endif
955 typedef struct {
956 mach_msg_header_t Head;
957 mach_msg_body_t msgh_body;
958 mach_msg_port_descriptor_t new_port;
959 } __RequestKData__thread_set_exception_ports_t __attribute__((unused));
960#ifdef __MigPackStructs
961#pragma pack(pop)
962#endif
963/* Struct for pure user data */
964#ifdef __MigPackStructs
965#pragma pack(push, 4)
966#endif
967 typedef struct {
968 NDR_record_t NDR;
969 exception_mask_t exception_mask;
970 exception_behavior_t behavior;
971 thread_state_flavor_t new_flavor;
972 char padding[0]; /* Avoid generating empty UData structs */
973 } __RequestUData__thread_set_exception_ports_t __attribute__((unused));
974#ifdef __MigPackStructs
975#pragma pack(pop)
976#endif
977
978#ifdef __MigPackStructs
979#pragma pack(push, 4)
980#endif
981 typedef struct {
982 mach_msg_header_t Head;
983 NDR_record_t NDR;
984 exception_mask_t exception_mask;
985 } __Request__thread_get_exception_ports_from_user_t __attribute__((unused));
986#ifdef __MigPackStructs
987#pragma pack(pop)
988#endif
989/* Struct for kernel processed data (Header + Descriptors) */
990#ifdef __MigPackStructs
991#pragma pack(push, 4)
992#endif
993 typedef struct {
994 mach_msg_header_t Head;
995 } __RequestKData__thread_get_exception_ports_from_user_t __attribute__((unused));
996#ifdef __MigPackStructs
997#pragma pack(pop)
998#endif
999/* Struct for pure user data */
1000#ifdef __MigPackStructs
1001#pragma pack(push, 4)
1002#endif
1003 typedef struct {
1004 NDR_record_t NDR;
1005 exception_mask_t exception_mask;
1006 char padding[0]; /* Avoid generating empty UData structs */
1007 } __RequestUData__thread_get_exception_ports_from_user_t __attribute__((unused));
1008#ifdef __MigPackStructs
1009#pragma pack(pop)
1010#endif
1011
1012#ifdef __MigPackStructs
1013#pragma pack(push, 4)
1014#endif
1015 typedef struct {
1016 mach_msg_header_t Head;
1017 /* start of the kernel processed data */
1018 mach_msg_body_t msgh_body;
1019 mach_msg_port_descriptor_t new_port;
1020 /* end of the kernel processed data */
1021 NDR_record_t NDR;
1022 exception_mask_t exception_mask;
1023 exception_behavior_t behavior;
1024 thread_state_flavor_t new_flavor;
1025 } __Request__thread_swap_exception_ports_t __attribute__((unused));
1026#ifdef __MigPackStructs
1027#pragma pack(pop)
1028#endif
1029/* Struct for kernel processed data (Header + Descriptors) */
1030#ifdef __MigPackStructs
1031#pragma pack(push, 4)
1032#endif
1033 typedef struct {
1034 mach_msg_header_t Head;
1035 mach_msg_body_t msgh_body;
1036 mach_msg_port_descriptor_t new_port;
1037 } __RequestKData__thread_swap_exception_ports_t __attribute__((unused));
1038#ifdef __MigPackStructs
1039#pragma pack(pop)
1040#endif
1041/* Struct for pure user data */
1042#ifdef __MigPackStructs
1043#pragma pack(push, 4)
1044#endif
1045 typedef struct {
1046 NDR_record_t NDR;
1047 exception_mask_t exception_mask;
1048 exception_behavior_t behavior;
1049 thread_state_flavor_t new_flavor;
1050 char padding[0]; /* Avoid generating empty UData structs */
1051 } __RequestUData__thread_swap_exception_ports_t __attribute__((unused));
1052#ifdef __MigPackStructs
1053#pragma pack(pop)
1054#endif
1055
1056#ifdef __MigPackStructs
1057#pragma pack(push, 4)
1058#endif
1059 typedef struct {
1060 mach_msg_header_t Head;
1061 NDR_record_t NDR;
1062 policy_t policy;
1063 mach_msg_type_number_t baseCnt;
1064 integer_t base[5];
1065 boolean_t set_limit;
1066 } __Request__thread_policy_t __attribute__((unused));
1067#ifdef __MigPackStructs
1068#pragma pack(pop)
1069#endif
1070/* Struct for kernel processed data (Header + Descriptors) */
1071#ifdef __MigPackStructs
1072#pragma pack(push, 4)
1073#endif
1074 typedef struct {
1075 mach_msg_header_t Head;
1076 } __RequestKData__thread_policy_t __attribute__((unused));
1077#ifdef __MigPackStructs
1078#pragma pack(pop)
1079#endif
1080/* Struct for pure user data */
1081#ifdef __MigPackStructs
1082#pragma pack(push, 4)
1083#endif
1084 typedef struct {
1085 NDR_record_t NDR;
1086 policy_t policy;
1087 mach_msg_type_number_t baseCnt;
1088 integer_t base[5];
1089 boolean_t set_limit;
1090 char padding[0]; /* Avoid generating empty UData structs */
1091 } __RequestUData__thread_policy_t __attribute__((unused));
1092#ifdef __MigPackStructs
1093#pragma pack(pop)
1094#endif
1095
1096#ifdef __MigPackStructs
1097#pragma pack(push, 4)
1098#endif
1099 typedef struct {
1100 mach_msg_header_t Head;
1101 NDR_record_t NDR;
1102 thread_policy_flavor_t flavor;
1103 mach_msg_type_number_t policy_infoCnt;
1104 integer_t policy_info[16];
1105 } __Request__thread_policy_set_t __attribute__((unused));
1106#ifdef __MigPackStructs
1107#pragma pack(pop)
1108#endif
1109/* Struct for kernel processed data (Header + Descriptors) */
1110#ifdef __MigPackStructs
1111#pragma pack(push, 4)
1112#endif
1113 typedef struct {
1114 mach_msg_header_t Head;
1115 } __RequestKData__thread_policy_set_t __attribute__((unused));
1116#ifdef __MigPackStructs
1117#pragma pack(pop)
1118#endif
1119/* Struct for pure user data */
1120#ifdef __MigPackStructs
1121#pragma pack(push, 4)
1122#endif
1123 typedef struct {
1124 NDR_record_t NDR;
1125 thread_policy_flavor_t flavor;
1126 mach_msg_type_number_t policy_infoCnt;
1127 integer_t policy_info[16];
1128 char padding[0]; /* Avoid generating empty UData structs */
1129 } __RequestUData__thread_policy_set_t __attribute__((unused));
1130#ifdef __MigPackStructs
1131#pragma pack(pop)
1132#endif
1133
1134#ifdef __MigPackStructs
1135#pragma pack(push, 4)
1136#endif
1137 typedef struct {
1138 mach_msg_header_t Head;
1139 NDR_record_t NDR;
1140 thread_policy_flavor_t flavor;
1141 mach_msg_type_number_t policy_infoCnt;
1142 boolean_t get_default;
1143 } __Request__thread_policy_get_t __attribute__((unused));
1144#ifdef __MigPackStructs
1145#pragma pack(pop)
1146#endif
1147/* Struct for kernel processed data (Header + Descriptors) */
1148#ifdef __MigPackStructs
1149#pragma pack(push, 4)
1150#endif
1151 typedef struct {
1152 mach_msg_header_t Head;
1153 } __RequestKData__thread_policy_get_t __attribute__((unused));
1154#ifdef __MigPackStructs
1155#pragma pack(pop)
1156#endif
1157/* Struct for pure user data */
1158#ifdef __MigPackStructs
1159#pragma pack(push, 4)
1160#endif
1161 typedef struct {
1162 NDR_record_t NDR;
1163 thread_policy_flavor_t flavor;
1164 mach_msg_type_number_t policy_infoCnt;
1165 boolean_t get_default;
1166 char padding[0]; /* Avoid generating empty UData structs */
1167 } __RequestUData__thread_policy_get_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 /* start of the kernel processed data */
1178 mach_msg_body_t msgh_body;
1179 mach_msg_port_descriptor_t pset;
1180 /* end of the kernel processed data */
1181 NDR_record_t NDR;
1182 policy_t policy;
1183 mach_msg_type_number_t baseCnt;
1184 integer_t base[5];
1185 mach_msg_type_number_t limitCnt;
1186 integer_t limit[1];
1187 } __Request__thread_set_policy_t __attribute__((unused));
1188#ifdef __MigPackStructs
1189#pragma pack(pop)
1190#endif
1191/* Struct for kernel processed data (Header + Descriptors) */
1192#ifdef __MigPackStructs
1193#pragma pack(push, 4)
1194#endif
1195 typedef struct {
1196 mach_msg_header_t Head;
1197 mach_msg_body_t msgh_body;
1198 mach_msg_port_descriptor_t pset;
1199 } __RequestKData__thread_set_policy_t __attribute__((unused));
1200#ifdef __MigPackStructs
1201#pragma pack(pop)
1202#endif
1203/* Struct for pure user data */
1204#ifdef __MigPackStructs
1205#pragma pack(push, 4)
1206#endif
1207 typedef struct {
1208 NDR_record_t NDR;
1209 policy_t policy;
1210 mach_msg_type_number_t baseCnt;
1211 integer_t base[5];
1212 mach_msg_type_number_t limitCnt;
1213 integer_t limit[1];
1214 char padding[0]; /* Avoid generating empty UData structs */
1215 } __RequestUData__thread_set_policy_t __attribute__((unused));
1216#ifdef __MigPackStructs
1217#pragma pack(pop)
1218#endif
1219
1220#ifdef __MigPackStructs
1221#pragma pack(push, 4)
1222#endif
1223 typedef struct {
1224 mach_msg_header_t Head;
1225 NDR_record_t NDR;
1226 mach_voucher_selector_t which;
1227 } __Request__thread_get_mach_voucher_t __attribute__((unused));
1228#ifdef __MigPackStructs
1229#pragma pack(pop)
1230#endif
1231/* Struct for kernel processed data (Header + Descriptors) */
1232#ifdef __MigPackStructs
1233#pragma pack(push, 4)
1234#endif
1235 typedef struct {
1236 mach_msg_header_t Head;
1237 } __RequestKData__thread_get_mach_voucher_t __attribute__((unused));
1238#ifdef __MigPackStructs
1239#pragma pack(pop)
1240#endif
1241/* Struct for pure user data */
1242#ifdef __MigPackStructs
1243#pragma pack(push, 4)
1244#endif
1245 typedef struct {
1246 NDR_record_t NDR;
1247 mach_voucher_selector_t which;
1248 char padding[0]; /* Avoid generating empty UData structs */
1249 } __RequestUData__thread_get_mach_voucher_t __attribute__((unused));
1250#ifdef __MigPackStructs
1251#pragma pack(pop)
1252#endif
1253
1254#ifdef __MigPackStructs
1255#pragma pack(push, 4)
1256#endif
1257 typedef struct {
1258 mach_msg_header_t Head;
1259 /* start of the kernel processed data */
1260 mach_msg_body_t msgh_body;
1261 mach_msg_port_descriptor_t voucher;
1262 /* end of the kernel processed data */
1263 } __Request__thread_set_mach_voucher_t __attribute__((unused));
1264#ifdef __MigPackStructs
1265#pragma pack(pop)
1266#endif
1267/* Struct for kernel processed data (Header + Descriptors) */
1268#ifdef __MigPackStructs
1269#pragma pack(push, 4)
1270#endif
1271 typedef struct {
1272 mach_msg_header_t Head;
1273 mach_msg_body_t msgh_body;
1274 mach_msg_port_descriptor_t voucher;
1275 } __RequestKData__thread_set_mach_voucher_t __attribute__((unused));
1276#ifdef __MigPackStructs
1277#pragma pack(pop)
1278#endif
1279/* Struct for pure user data */
1280#ifdef __MigPackStructs
1281#pragma pack(push, 4)
1282#endif
1283 typedef struct {
1284 char padding[0]; /* Avoid generating empty UData structs */
1285 } __RequestUData__thread_set_mach_voucher_t __attribute__((unused));
1286#ifdef __MigPackStructs
1287#pragma pack(pop)
1288#endif
1289
1290#ifdef __MigPackStructs
1291#pragma pack(push, 4)
1292#endif
1293 typedef struct {
1294 mach_msg_header_t Head;
1295 /* start of the kernel processed data */
1296 mach_msg_body_t msgh_body;
1297 mach_msg_port_descriptor_t new_voucher;
1298 mach_msg_port_descriptor_t old_voucher;
1299 /* end of the kernel processed data */
1300 } __Request__thread_swap_mach_voucher_t __attribute__((unused));
1301#ifdef __MigPackStructs
1302#pragma pack(pop)
1303#endif
1304/* Struct for kernel processed data (Header + Descriptors) */
1305#ifdef __MigPackStructs
1306#pragma pack(push, 4)
1307#endif
1308 typedef struct {
1309 mach_msg_header_t Head;
1310 mach_msg_body_t msgh_body;
1311 mach_msg_port_descriptor_t new_voucher;
1312 mach_msg_port_descriptor_t old_voucher;
1313 } __RequestKData__thread_swap_mach_voucher_t __attribute__((unused));
1314#ifdef __MigPackStructs
1315#pragma pack(pop)
1316#endif
1317/* Struct for pure user data */
1318#ifdef __MigPackStructs
1319#pragma pack(push, 4)
1320#endif
1321 typedef struct {
1322 char padding[0]; /* Avoid generating empty UData structs */
1323 } __RequestUData__thread_swap_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 int direction;
1335 thread_state_flavor_t flavor;
1336 mach_msg_type_number_t in_stateCnt;
1337 natural_t in_state[1296];
1338 mach_msg_type_number_t out_stateCnt;
1339 } __Request__thread_convert_thread_state_t __attribute__((unused));
1340#ifdef __MigPackStructs
1341#pragma pack(pop)
1342#endif
1343/* Struct for kernel processed data (Header + Descriptors) */
1344#ifdef __MigPackStructs
1345#pragma pack(push, 4)
1346#endif
1347 typedef struct {
1348 mach_msg_header_t Head;
1349 } __RequestKData__thread_convert_thread_state_t __attribute__((unused));
1350#ifdef __MigPackStructs
1351#pragma pack(pop)
1352#endif
1353/* Struct for pure user data */
1354#ifdef __MigPackStructs
1355#pragma pack(push, 4)
1356#endif
1357 typedef struct {
1358 NDR_record_t NDR;
1359 int direction;
1360 thread_state_flavor_t flavor;
1361 mach_msg_type_number_t in_stateCnt;
1362 natural_t in_state[1296];
1363 mach_msg_type_number_t out_stateCnt;
1364 char padding[0]; /* Avoid generating empty UData structs */
1365 } __RequestUData__thread_convert_thread_state_t __attribute__((unused));
1366#ifdef __MigPackStructs
1367#pragma pack(pop)
1368#endif
1369
1370#ifdef __MigPackStructs
1371#pragma pack(push, 4)
1372#endif
1373 typedef struct {
1374 mach_msg_header_t Head;
1375 NDR_record_t NDR;
1376 exception_mask_t exception_mask;
1377 } __Request__thread_get_exception_ports_info_t __attribute__((unused));
1378#ifdef __MigPackStructs
1379#pragma pack(pop)
1380#endif
1381/* Struct for kernel processed data (Header + Descriptors) */
1382#ifdef __MigPackStructs
1383#pragma pack(push, 4)
1384#endif
1385 typedef struct {
1386 mach_msg_header_t Head;
1387 } __RequestKData__thread_get_exception_ports_info_t __attribute__((unused));
1388#ifdef __MigPackStructs
1389#pragma pack(pop)
1390#endif
1391/* Struct for pure user data */
1392#ifdef __MigPackStructs
1393#pragma pack(push, 4)
1394#endif
1395 typedef struct {
1396 NDR_record_t NDR;
1397 exception_mask_t exception_mask;
1398 char padding[0]; /* Avoid generating empty UData structs */
1399 } __RequestUData__thread_get_exception_ports_info_t __attribute__((unused));
1400#ifdef __MigPackStructs
1401#pragma pack(pop)
1402#endif
1403#endif /* !__Request__thread_act_subsystem__defined */
1404
1405
1406/* union of all requests */
1407
1408#ifndef __RequestUnion__thread_act_subsystem__defined
1409#define __RequestUnion__thread_act_subsystem__defined
1410union __RequestUnion__thread_act_subsystem {
1411 __Request__thread_terminate_from_user_t Request_thread_terminate_from_user;
1412 __Request__act_get_state_to_user_t Request_act_get_state_to_user;
1413 __Request__act_set_state_from_user_t Request_act_set_state_from_user;
1414 __Request__thread_get_state_to_user_t Request_thread_get_state_to_user;
1415 __Request__thread_set_state_from_user_t Request_thread_set_state_from_user;
1416 __Request__thread_suspend_t Request_thread_suspend;
1417 __Request__thread_resume_t Request_thread_resume;
1418 __Request__thread_abort_t Request_thread_abort;
1419 __Request__thread_abort_safely_t Request_thread_abort_safely;
1420 __Request__thread_depress_abort_from_user_t Request_thread_depress_abort_from_user;
1421 __Request__thread_get_special_port_from_user_t Request_thread_get_special_port_from_user;
1422 __Request__thread_set_special_port_t Request_thread_set_special_port;
1423 __Request__thread_info_t Request_thread_info;
1424 __Request__thread_set_exception_ports_t Request_thread_set_exception_ports;
1425 __Request__thread_get_exception_ports_from_user_t Request_thread_get_exception_ports_from_user;
1426 __Request__thread_swap_exception_ports_t Request_thread_swap_exception_ports;
1427 __Request__thread_policy_t Request_thread_policy;
1428 __Request__thread_policy_set_t Request_thread_policy_set;
1429 __Request__thread_policy_get_t Request_thread_policy_get;
1430 __Request__thread_set_policy_t Request_thread_set_policy;
1431 __Request__thread_get_mach_voucher_t Request_thread_get_mach_voucher;
1432 __Request__thread_set_mach_voucher_t Request_thread_set_mach_voucher;
1433 __Request__thread_swap_mach_voucher_t Request_thread_swap_mach_voucher;
1434 __Request__thread_convert_thread_state_t Request_thread_convert_thread_state;
1435 __Request__thread_get_exception_ports_info_t Request_thread_get_exception_ports_info;
1436};
1437#endif /* __RequestUnion__thread_act_subsystem__defined */
1438/* typedefs for all replies */
1439
1440#ifndef __Reply__thread_act_subsystem__defined
1441#define __Reply__thread_act_subsystem__defined
1442
1443#ifdef __MigPackStructs
1444#pragma pack(push, 4)
1445#endif
1446 typedef struct {
1447 mach_msg_header_t Head;
1448 NDR_record_t NDR;
1449 kern_return_t RetCode;
1450 } __Reply__thread_terminate_from_user_t __attribute__((unused));
1451#ifdef __MigPackStructs
1452#pragma pack(pop)
1453#endif
1454/* Struct for kernel processed data (Header + Descriptors) */
1455#ifdef __MigPackStructs
1456#pragma pack(push, 4)
1457#endif
1458 typedef struct {
1459 mach_msg_header_t Head;
1460 } __ReplyKData__thread_terminate_from_user_t __attribute__((unused));
1461#ifdef __MigPackStructs
1462#pragma pack(pop)
1463#endif
1464/* Struct for pure user data */
1465#ifdef __MigPackStructs
1466#pragma pack(push, 4)
1467#endif
1468 typedef struct {
1469 NDR_record_t NDR;
1470 kern_return_t RetCode;
1471 char padding[0]; /* Avoid generating empty UData structs */
1472 } __ReplyUData__thread_terminate_from_user_t __attribute__((unused));
1473#ifdef __MigPackStructs
1474#pragma pack(pop)
1475#endif
1476
1477#ifdef __MigPackStructs
1478#pragma pack(push, 4)
1479#endif
1480 typedef struct {
1481 mach_msg_header_t Head;
1482 NDR_record_t NDR;
1483 kern_return_t RetCode;
1484 mach_msg_type_number_t old_stateCnt;
1485 natural_t old_state[1296];
1486 } __Reply__act_get_state_to_user_t __attribute__((unused));
1487#ifdef __MigPackStructs
1488#pragma pack(pop)
1489#endif
1490/* Struct for kernel processed data (Header + Descriptors) */
1491#ifdef __MigPackStructs
1492#pragma pack(push, 4)
1493#endif
1494 typedef struct {
1495 mach_msg_header_t Head;
1496 } __ReplyKData__act_get_state_to_user_t __attribute__((unused));
1497#ifdef __MigPackStructs
1498#pragma pack(pop)
1499#endif
1500/* Struct for pure user data */
1501#ifdef __MigPackStructs
1502#pragma pack(push, 4)
1503#endif
1504 typedef struct {
1505 NDR_record_t NDR;
1506 kern_return_t RetCode;
1507 mach_msg_type_number_t old_stateCnt;
1508 natural_t old_state[1296];
1509 char padding[0]; /* Avoid generating empty UData structs */
1510 } __ReplyUData__act_get_state_to_user_t __attribute__((unused));
1511#ifdef __MigPackStructs
1512#pragma pack(pop)
1513#endif
1514
1515#ifdef __MigPackStructs
1516#pragma pack(push, 4)
1517#endif
1518 typedef struct {
1519 mach_msg_header_t Head;
1520 NDR_record_t NDR;
1521 kern_return_t RetCode;
1522 } __Reply__act_set_state_from_user_t __attribute__((unused));
1523#ifdef __MigPackStructs
1524#pragma pack(pop)
1525#endif
1526/* Struct for kernel processed data (Header + Descriptors) */
1527#ifdef __MigPackStructs
1528#pragma pack(push, 4)
1529#endif
1530 typedef struct {
1531 mach_msg_header_t Head;
1532 } __ReplyKData__act_set_state_from_user_t __attribute__((unused));
1533#ifdef __MigPackStructs
1534#pragma pack(pop)
1535#endif
1536/* Struct for pure user data */
1537#ifdef __MigPackStructs
1538#pragma pack(push, 4)
1539#endif
1540 typedef struct {
1541 NDR_record_t NDR;
1542 kern_return_t RetCode;
1543 char padding[0]; /* Avoid generating empty UData structs */
1544 } __ReplyUData__act_set_state_from_user_t __attribute__((unused));
1545#ifdef __MigPackStructs
1546#pragma pack(pop)
1547#endif
1548
1549#ifdef __MigPackStructs
1550#pragma pack(push, 4)
1551#endif
1552 typedef struct {
1553 mach_msg_header_t Head;
1554 NDR_record_t NDR;
1555 kern_return_t RetCode;
1556 mach_msg_type_number_t old_stateCnt;
1557 natural_t old_state[1296];
1558 } __Reply__thread_get_state_to_user_t __attribute__((unused));
1559#ifdef __MigPackStructs
1560#pragma pack(pop)
1561#endif
1562/* Struct for kernel processed data (Header + Descriptors) */
1563#ifdef __MigPackStructs
1564#pragma pack(push, 4)
1565#endif
1566 typedef struct {
1567 mach_msg_header_t Head;
1568 } __ReplyKData__thread_get_state_to_user_t __attribute__((unused));
1569#ifdef __MigPackStructs
1570#pragma pack(pop)
1571#endif
1572/* Struct for pure user data */
1573#ifdef __MigPackStructs
1574#pragma pack(push, 4)
1575#endif
1576 typedef struct {
1577 NDR_record_t NDR;
1578 kern_return_t RetCode;
1579 mach_msg_type_number_t old_stateCnt;
1580 natural_t old_state[1296];
1581 char padding[0]; /* Avoid generating empty UData structs */
1582 } __ReplyUData__thread_get_state_to_user_t __attribute__((unused));
1583#ifdef __MigPackStructs
1584#pragma pack(pop)
1585#endif
1586
1587#ifdef __MigPackStructs
1588#pragma pack(push, 4)
1589#endif
1590 typedef struct {
1591 mach_msg_header_t Head;
1592 NDR_record_t NDR;
1593 kern_return_t RetCode;
1594 } __Reply__thread_set_state_from_user_t __attribute__((unused));
1595#ifdef __MigPackStructs
1596#pragma pack(pop)
1597#endif
1598/* Struct for kernel processed data (Header + Descriptors) */
1599#ifdef __MigPackStructs
1600#pragma pack(push, 4)
1601#endif
1602 typedef struct {
1603 mach_msg_header_t Head;
1604 } __ReplyKData__thread_set_state_from_user_t __attribute__((unused));
1605#ifdef __MigPackStructs
1606#pragma pack(pop)
1607#endif
1608/* Struct for pure user data */
1609#ifdef __MigPackStructs
1610#pragma pack(push, 4)
1611#endif
1612 typedef struct {
1613 NDR_record_t NDR;
1614 kern_return_t RetCode;
1615 char padding[0]; /* Avoid generating empty UData structs */
1616 } __ReplyUData__thread_set_state_from_user_t __attribute__((unused));
1617#ifdef __MigPackStructs
1618#pragma pack(pop)
1619#endif
1620
1621#ifdef __MigPackStructs
1622#pragma pack(push, 4)
1623#endif
1624 typedef struct {
1625 mach_msg_header_t Head;
1626 NDR_record_t NDR;
1627 kern_return_t RetCode;
1628 } __Reply__thread_suspend_t __attribute__((unused));
1629#ifdef __MigPackStructs
1630#pragma pack(pop)
1631#endif
1632/* Struct for kernel processed data (Header + Descriptors) */
1633#ifdef __MigPackStructs
1634#pragma pack(push, 4)
1635#endif
1636 typedef struct {
1637 mach_msg_header_t Head;
1638 } __ReplyKData__thread_suspend_t __attribute__((unused));
1639#ifdef __MigPackStructs
1640#pragma pack(pop)
1641#endif
1642/* Struct for pure user data */
1643#ifdef __MigPackStructs
1644#pragma pack(push, 4)
1645#endif
1646 typedef struct {
1647 NDR_record_t NDR;
1648 kern_return_t RetCode;
1649 char padding[0]; /* Avoid generating empty UData structs */
1650 } __ReplyUData__thread_suspend_t __attribute__((unused));
1651#ifdef __MigPackStructs
1652#pragma pack(pop)
1653#endif
1654
1655#ifdef __MigPackStructs
1656#pragma pack(push, 4)
1657#endif
1658 typedef struct {
1659 mach_msg_header_t Head;
1660 NDR_record_t NDR;
1661 kern_return_t RetCode;
1662 } __Reply__thread_resume_t __attribute__((unused));
1663#ifdef __MigPackStructs
1664#pragma pack(pop)
1665#endif
1666/* Struct for kernel processed data (Header + Descriptors) */
1667#ifdef __MigPackStructs
1668#pragma pack(push, 4)
1669#endif
1670 typedef struct {
1671 mach_msg_header_t Head;
1672 } __ReplyKData__thread_resume_t __attribute__((unused));
1673#ifdef __MigPackStructs
1674#pragma pack(pop)
1675#endif
1676/* Struct for pure user data */
1677#ifdef __MigPackStructs
1678#pragma pack(push, 4)
1679#endif
1680 typedef struct {
1681 NDR_record_t NDR;
1682 kern_return_t RetCode;
1683 char padding[0]; /* Avoid generating empty UData structs */
1684 } __ReplyUData__thread_resume_t __attribute__((unused));
1685#ifdef __MigPackStructs
1686#pragma pack(pop)
1687#endif
1688
1689#ifdef __MigPackStructs
1690#pragma pack(push, 4)
1691#endif
1692 typedef struct {
1693 mach_msg_header_t Head;
1694 NDR_record_t NDR;
1695 kern_return_t RetCode;
1696 } __Reply__thread_abort_t __attribute__((unused));
1697#ifdef __MigPackStructs
1698#pragma pack(pop)
1699#endif
1700/* Struct for kernel processed data (Header + Descriptors) */
1701#ifdef __MigPackStructs
1702#pragma pack(push, 4)
1703#endif
1704 typedef struct {
1705 mach_msg_header_t Head;
1706 } __ReplyKData__thread_abort_t __attribute__((unused));
1707#ifdef __MigPackStructs
1708#pragma pack(pop)
1709#endif
1710/* Struct for pure user data */
1711#ifdef __MigPackStructs
1712#pragma pack(push, 4)
1713#endif
1714 typedef struct {
1715 NDR_record_t NDR;
1716 kern_return_t RetCode;
1717 char padding[0]; /* Avoid generating empty UData structs */
1718 } __ReplyUData__thread_abort_t __attribute__((unused));
1719#ifdef __MigPackStructs
1720#pragma pack(pop)
1721#endif
1722
1723#ifdef __MigPackStructs
1724#pragma pack(push, 4)
1725#endif
1726 typedef struct {
1727 mach_msg_header_t Head;
1728 NDR_record_t NDR;
1729 kern_return_t RetCode;
1730 } __Reply__thread_abort_safely_t __attribute__((unused));
1731#ifdef __MigPackStructs
1732#pragma pack(pop)
1733#endif
1734/* Struct for kernel processed data (Header + Descriptors) */
1735#ifdef __MigPackStructs
1736#pragma pack(push, 4)
1737#endif
1738 typedef struct {
1739 mach_msg_header_t Head;
1740 } __ReplyKData__thread_abort_safely_t __attribute__((unused));
1741#ifdef __MigPackStructs
1742#pragma pack(pop)
1743#endif
1744/* Struct for pure user data */
1745#ifdef __MigPackStructs
1746#pragma pack(push, 4)
1747#endif
1748 typedef struct {
1749 NDR_record_t NDR;
1750 kern_return_t RetCode;
1751 char padding[0]; /* Avoid generating empty UData structs */
1752 } __ReplyUData__thread_abort_safely_t __attribute__((unused));
1753#ifdef __MigPackStructs
1754#pragma pack(pop)
1755#endif
1756
1757#ifdef __MigPackStructs
1758#pragma pack(push, 4)
1759#endif
1760 typedef struct {
1761 mach_msg_header_t Head;
1762 NDR_record_t NDR;
1763 kern_return_t RetCode;
1764 } __Reply__thread_depress_abort_from_user_t __attribute__((unused));
1765#ifdef __MigPackStructs
1766#pragma pack(pop)
1767#endif
1768/* Struct for kernel processed data (Header + Descriptors) */
1769#ifdef __MigPackStructs
1770#pragma pack(push, 4)
1771#endif
1772 typedef struct {
1773 mach_msg_header_t Head;
1774 } __ReplyKData__thread_depress_abort_from_user_t __attribute__((unused));
1775#ifdef __MigPackStructs
1776#pragma pack(pop)
1777#endif
1778/* Struct for pure user data */
1779#ifdef __MigPackStructs
1780#pragma pack(push, 4)
1781#endif
1782 typedef struct {
1783 NDR_record_t NDR;
1784 kern_return_t RetCode;
1785 char padding[0]; /* Avoid generating empty UData structs */
1786 } __ReplyUData__thread_depress_abort_from_user_t __attribute__((unused));
1787#ifdef __MigPackStructs
1788#pragma pack(pop)
1789#endif
1790
1791#ifdef __MigPackStructs
1792#pragma pack(push, 4)
1793#endif
1794 typedef struct {
1795 mach_msg_header_t Head;
1796 /* start of the kernel processed data */
1797 mach_msg_body_t msgh_body;
1798 mach_msg_port_descriptor_t special_port;
1799 /* end of the kernel processed data */
1800 } __Reply__thread_get_special_port_from_user_t __attribute__((unused));
1801#ifdef __MigPackStructs
1802#pragma pack(pop)
1803#endif
1804/* Struct for kernel processed data (Header + Descriptors) */
1805#ifdef __MigPackStructs
1806#pragma pack(push, 4)
1807#endif
1808 typedef struct {
1809 mach_msg_header_t Head;
1810 mach_msg_body_t msgh_body;
1811 mach_msg_port_descriptor_t special_port;
1812 } __ReplyKData__thread_get_special_port_from_user_t __attribute__((unused));
1813#ifdef __MigPackStructs
1814#pragma pack(pop)
1815#endif
1816/* Struct for pure user data */
1817#ifdef __MigPackStructs
1818#pragma pack(push, 4)
1819#endif
1820 typedef struct {
1821 char padding[0]; /* Avoid generating empty UData structs */
1822 } __ReplyUData__thread_get_special_port_from_user_t __attribute__((unused));
1823#ifdef __MigPackStructs
1824#pragma pack(pop)
1825#endif
1826
1827#ifdef __MigPackStructs
1828#pragma pack(push, 4)
1829#endif
1830 typedef struct {
1831 mach_msg_header_t Head;
1832 NDR_record_t NDR;
1833 kern_return_t RetCode;
1834 } __Reply__thread_set_special_port_t __attribute__((unused));
1835#ifdef __MigPackStructs
1836#pragma pack(pop)
1837#endif
1838/* Struct for kernel processed data (Header + Descriptors) */
1839#ifdef __MigPackStructs
1840#pragma pack(push, 4)
1841#endif
1842 typedef struct {
1843 mach_msg_header_t Head;
1844 } __ReplyKData__thread_set_special_port_t __attribute__((unused));
1845#ifdef __MigPackStructs
1846#pragma pack(pop)
1847#endif
1848/* Struct for pure user data */
1849#ifdef __MigPackStructs
1850#pragma pack(push, 4)
1851#endif
1852 typedef struct {
1853 NDR_record_t NDR;
1854 kern_return_t RetCode;
1855 char padding[0]; /* Avoid generating empty UData structs */
1856 } __ReplyUData__thread_set_special_port_t __attribute__((unused));
1857#ifdef __MigPackStructs
1858#pragma pack(pop)
1859#endif
1860
1861#ifdef __MigPackStructs
1862#pragma pack(push, 4)
1863#endif
1864 typedef struct {
1865 mach_msg_header_t Head;
1866 NDR_record_t NDR;
1867 kern_return_t RetCode;
1868 mach_msg_type_number_t thread_info_outCnt;
1869 integer_t thread_info_out[32];
1870 } __Reply__thread_info_t __attribute__((unused));
1871#ifdef __MigPackStructs
1872#pragma pack(pop)
1873#endif
1874/* Struct for kernel processed data (Header + Descriptors) */
1875#ifdef __MigPackStructs
1876#pragma pack(push, 4)
1877#endif
1878 typedef struct {
1879 mach_msg_header_t Head;
1880 } __ReplyKData__thread_info_t __attribute__((unused));
1881#ifdef __MigPackStructs
1882#pragma pack(pop)
1883#endif
1884/* Struct for pure user data */
1885#ifdef __MigPackStructs
1886#pragma pack(push, 4)
1887#endif
1888 typedef struct {
1889 NDR_record_t NDR;
1890 kern_return_t RetCode;
1891 mach_msg_type_number_t thread_info_outCnt;
1892 integer_t thread_info_out[32];
1893 char padding[0]; /* Avoid generating empty UData structs */
1894 } __ReplyUData__thread_info_t __attribute__((unused));
1895#ifdef __MigPackStructs
1896#pragma pack(pop)
1897#endif
1898
1899#ifdef __MigPackStructs
1900#pragma pack(push, 4)
1901#endif
1902 typedef struct {
1903 mach_msg_header_t Head;
1904 NDR_record_t NDR;
1905 kern_return_t RetCode;
1906 } __Reply__thread_set_exception_ports_t __attribute__((unused));
1907#ifdef __MigPackStructs
1908#pragma pack(pop)
1909#endif
1910/* Struct for kernel processed data (Header + Descriptors) */
1911#ifdef __MigPackStructs
1912#pragma pack(push, 4)
1913#endif
1914 typedef struct {
1915 mach_msg_header_t Head;
1916 } __ReplyKData__thread_set_exception_ports_t __attribute__((unused));
1917#ifdef __MigPackStructs
1918#pragma pack(pop)
1919#endif
1920/* Struct for pure user data */
1921#ifdef __MigPackStructs
1922#pragma pack(push, 4)
1923#endif
1924 typedef struct {
1925 NDR_record_t NDR;
1926 kern_return_t RetCode;
1927 char padding[0]; /* Avoid generating empty UData structs */
1928 } __ReplyUData__thread_set_exception_ports_t __attribute__((unused));
1929#ifdef __MigPackStructs
1930#pragma pack(pop)
1931#endif
1932
1933#ifdef __MigPackStructs
1934#pragma pack(push, 4)
1935#endif
1936 typedef struct {
1937 mach_msg_header_t Head;
1938 /* start of the kernel processed data */
1939 mach_msg_body_t msgh_body;
1940 mach_msg_port_descriptor_t old_handlers[32];
1941 /* end of the kernel processed data */
1942 NDR_record_t NDR;
1943 mach_msg_type_number_t masksCnt;
1944 exception_mask_t masks[32];
1945 exception_behavior_t old_behaviors[32];
1946 thread_state_flavor_t old_flavors[32];
1947 } __Reply__thread_get_exception_ports_from_user_t __attribute__((unused));
1948#ifdef __MigPackStructs
1949#pragma pack(pop)
1950#endif
1951/* Struct for kernel processed data (Header + Descriptors) */
1952#ifdef __MigPackStructs
1953#pragma pack(push, 4)
1954#endif
1955 typedef struct {
1956 mach_msg_header_t Head;
1957 mach_msg_body_t msgh_body;
1958 mach_msg_port_descriptor_t old_handlers[32];
1959 } __ReplyKData__thread_get_exception_ports_from_user_t __attribute__((unused));
1960#ifdef __MigPackStructs
1961#pragma pack(pop)
1962#endif
1963/* Struct for pure user data */
1964#ifdef __MigPackStructs
1965#pragma pack(push, 4)
1966#endif
1967 typedef struct {
1968 NDR_record_t NDR;
1969 mach_msg_type_number_t masksCnt;
1970 exception_mask_t masks[32];
1971 exception_behavior_t old_behaviors[32];
1972 thread_state_flavor_t old_flavors[32];
1973 char padding[0]; /* Avoid generating empty UData structs */
1974 } __ReplyUData__thread_get_exception_ports_from_user_t __attribute__((unused));
1975#ifdef __MigPackStructs
1976#pragma pack(pop)
1977#endif
1978
1979#ifdef __MigPackStructs
1980#pragma pack(push, 4)
1981#endif
1982 typedef struct {
1983 mach_msg_header_t Head;
1984 /* start of the kernel processed data */
1985 mach_msg_body_t msgh_body;
1986 mach_msg_port_descriptor_t old_handlers[32];
1987 /* end of the kernel processed data */
1988 NDR_record_t NDR;
1989 mach_msg_type_number_t masksCnt;
1990 exception_mask_t masks[32];
1991 exception_behavior_t old_behaviors[32];
1992 thread_state_flavor_t old_flavors[32];
1993 } __Reply__thread_swap_exception_ports_t __attribute__((unused));
1994#ifdef __MigPackStructs
1995#pragma pack(pop)
1996#endif
1997/* Struct for kernel processed data (Header + Descriptors) */
1998#ifdef __MigPackStructs
1999#pragma pack(push, 4)
2000#endif
2001 typedef struct {
2002 mach_msg_header_t Head;
2003 mach_msg_body_t msgh_body;
2004 mach_msg_port_descriptor_t old_handlers[32];
2005 } __ReplyKData__thread_swap_exception_ports_t __attribute__((unused));
2006#ifdef __MigPackStructs
2007#pragma pack(pop)
2008#endif
2009/* Struct for pure user data */
2010#ifdef __MigPackStructs
2011#pragma pack(push, 4)
2012#endif
2013 typedef struct {
2014 NDR_record_t NDR;
2015 mach_msg_type_number_t masksCnt;
2016 exception_mask_t masks[32];
2017 exception_behavior_t old_behaviors[32];
2018 thread_state_flavor_t old_flavors[32];
2019 char padding[0]; /* Avoid generating empty UData structs */
2020 } __ReplyUData__thread_swap_exception_ports_t __attribute__((unused));
2021#ifdef __MigPackStructs
2022#pragma pack(pop)
2023#endif
2024
2025#ifdef __MigPackStructs
2026#pragma pack(push, 4)
2027#endif
2028 typedef struct {
2029 mach_msg_header_t Head;
2030 NDR_record_t NDR;
2031 kern_return_t RetCode;
2032 } __Reply__thread_policy_t __attribute__((unused));
2033#ifdef __MigPackStructs
2034#pragma pack(pop)
2035#endif
2036/* Struct for kernel processed data (Header + Descriptors) */
2037#ifdef __MigPackStructs
2038#pragma pack(push, 4)
2039#endif
2040 typedef struct {
2041 mach_msg_header_t Head;
2042 } __ReplyKData__thread_policy_t __attribute__((unused));
2043#ifdef __MigPackStructs
2044#pragma pack(pop)
2045#endif
2046/* Struct for pure user data */
2047#ifdef __MigPackStructs
2048#pragma pack(push, 4)
2049#endif
2050 typedef struct {
2051 NDR_record_t NDR;
2052 kern_return_t RetCode;
2053 char padding[0]; /* Avoid generating empty UData structs */
2054 } __ReplyUData__thread_policy_t __attribute__((unused));
2055#ifdef __MigPackStructs
2056#pragma pack(pop)
2057#endif
2058
2059#ifdef __MigPackStructs
2060#pragma pack(push, 4)
2061#endif
2062 typedef struct {
2063 mach_msg_header_t Head;
2064 NDR_record_t NDR;
2065 kern_return_t RetCode;
2066 } __Reply__thread_policy_set_t __attribute__((unused));
2067#ifdef __MigPackStructs
2068#pragma pack(pop)
2069#endif
2070/* Struct for kernel processed data (Header + Descriptors) */
2071#ifdef __MigPackStructs
2072#pragma pack(push, 4)
2073#endif
2074 typedef struct {
2075 mach_msg_header_t Head;
2076 } __ReplyKData__thread_policy_set_t __attribute__((unused));
2077#ifdef __MigPackStructs
2078#pragma pack(pop)
2079#endif
2080/* Struct for pure user data */
2081#ifdef __MigPackStructs
2082#pragma pack(push, 4)
2083#endif
2084 typedef struct {
2085 NDR_record_t NDR;
2086 kern_return_t RetCode;
2087 char padding[0]; /* Avoid generating empty UData structs */
2088 } __ReplyUData__thread_policy_set_t __attribute__((unused));
2089#ifdef __MigPackStructs
2090#pragma pack(pop)
2091#endif
2092
2093#ifdef __MigPackStructs
2094#pragma pack(push, 4)
2095#endif
2096 typedef struct {
2097 mach_msg_header_t Head;
2098 NDR_record_t NDR;
2099 kern_return_t RetCode;
2100 mach_msg_type_number_t policy_infoCnt;
2101 integer_t policy_info[16];
2102 boolean_t get_default;
2103 } __Reply__thread_policy_get_t __attribute__((unused));
2104#ifdef __MigPackStructs
2105#pragma pack(pop)
2106#endif
2107/* Struct for kernel processed data (Header + Descriptors) */
2108#ifdef __MigPackStructs
2109#pragma pack(push, 4)
2110#endif
2111 typedef struct {
2112 mach_msg_header_t Head;
2113 } __ReplyKData__thread_policy_get_t __attribute__((unused));
2114#ifdef __MigPackStructs
2115#pragma pack(pop)
2116#endif
2117/* Struct for pure user data */
2118#ifdef __MigPackStructs
2119#pragma pack(push, 4)
2120#endif
2121 typedef struct {
2122 NDR_record_t NDR;
2123 kern_return_t RetCode;
2124 mach_msg_type_number_t policy_infoCnt;
2125 integer_t policy_info[16];
2126 boolean_t get_default;
2127 char padding[0]; /* Avoid generating empty UData structs */
2128 } __ReplyUData__thread_policy_get_t __attribute__((unused));
2129#ifdef __MigPackStructs
2130#pragma pack(pop)
2131#endif
2132
2133#ifdef __MigPackStructs
2134#pragma pack(push, 4)
2135#endif
2136 typedef struct {
2137 mach_msg_header_t Head;
2138 NDR_record_t NDR;
2139 kern_return_t RetCode;
2140 } __Reply__thread_set_policy_t __attribute__((unused));
2141#ifdef __MigPackStructs
2142#pragma pack(pop)
2143#endif
2144/* Struct for kernel processed data (Header + Descriptors) */
2145#ifdef __MigPackStructs
2146#pragma pack(push, 4)
2147#endif
2148 typedef struct {
2149 mach_msg_header_t Head;
2150 } __ReplyKData__thread_set_policy_t __attribute__((unused));
2151#ifdef __MigPackStructs
2152#pragma pack(pop)
2153#endif
2154/* Struct for pure user data */
2155#ifdef __MigPackStructs
2156#pragma pack(push, 4)
2157#endif
2158 typedef struct {
2159 NDR_record_t NDR;
2160 kern_return_t RetCode;
2161 char padding[0]; /* Avoid generating empty UData structs */
2162 } __ReplyUData__thread_set_policy_t __attribute__((unused));
2163#ifdef __MigPackStructs
2164#pragma pack(pop)
2165#endif
2166
2167#ifdef __MigPackStructs
2168#pragma pack(push, 4)
2169#endif
2170 typedef struct {
2171 mach_msg_header_t Head;
2172 /* start of the kernel processed data */
2173 mach_msg_body_t msgh_body;
2174 mach_msg_port_descriptor_t voucher;
2175 /* end of the kernel processed data */
2176 } __Reply__thread_get_mach_voucher_t __attribute__((unused));
2177#ifdef __MigPackStructs
2178#pragma pack(pop)
2179#endif
2180/* Struct for kernel processed data (Header + Descriptors) */
2181#ifdef __MigPackStructs
2182#pragma pack(push, 4)
2183#endif
2184 typedef struct {
2185 mach_msg_header_t Head;
2186 mach_msg_body_t msgh_body;
2187 mach_msg_port_descriptor_t voucher;
2188 } __ReplyKData__thread_get_mach_voucher_t __attribute__((unused));
2189#ifdef __MigPackStructs
2190#pragma pack(pop)
2191#endif
2192/* Struct for pure user data */
2193#ifdef __MigPackStructs
2194#pragma pack(push, 4)
2195#endif
2196 typedef struct {
2197 char padding[0]; /* Avoid generating empty UData structs */
2198 } __ReplyUData__thread_get_mach_voucher_t __attribute__((unused));
2199#ifdef __MigPackStructs
2200#pragma pack(pop)
2201#endif
2202
2203#ifdef __MigPackStructs
2204#pragma pack(push, 4)
2205#endif
2206 typedef struct {
2207 mach_msg_header_t Head;
2208 NDR_record_t NDR;
2209 kern_return_t RetCode;
2210 } __Reply__thread_set_mach_voucher_t __attribute__((unused));
2211#ifdef __MigPackStructs
2212#pragma pack(pop)
2213#endif
2214/* Struct for kernel processed data (Header + Descriptors) */
2215#ifdef __MigPackStructs
2216#pragma pack(push, 4)
2217#endif
2218 typedef struct {
2219 mach_msg_header_t Head;
2220 } __ReplyKData__thread_set_mach_voucher_t __attribute__((unused));
2221#ifdef __MigPackStructs
2222#pragma pack(pop)
2223#endif
2224/* Struct for pure user data */
2225#ifdef __MigPackStructs
2226#pragma pack(push, 4)
2227#endif
2228 typedef struct {
2229 NDR_record_t NDR;
2230 kern_return_t RetCode;
2231 char padding[0]; /* Avoid generating empty UData structs */
2232 } __ReplyUData__thread_set_mach_voucher_t __attribute__((unused));
2233#ifdef __MigPackStructs
2234#pragma pack(pop)
2235#endif
2236
2237#ifdef __MigPackStructs
2238#pragma pack(push, 4)
2239#endif
2240 typedef struct {
2241 mach_msg_header_t Head;
2242 /* start of the kernel processed data */
2243 mach_msg_body_t msgh_body;
2244 mach_msg_port_descriptor_t old_voucher;
2245 /* end of the kernel processed data */
2246 } __Reply__thread_swap_mach_voucher_t __attribute__((unused));
2247#ifdef __MigPackStructs
2248#pragma pack(pop)
2249#endif
2250/* Struct for kernel processed data (Header + Descriptors) */
2251#ifdef __MigPackStructs
2252#pragma pack(push, 4)
2253#endif
2254 typedef struct {
2255 mach_msg_header_t Head;
2256 mach_msg_body_t msgh_body;
2257 mach_msg_port_descriptor_t old_voucher;
2258 } __ReplyKData__thread_swap_mach_voucher_t __attribute__((unused));
2259#ifdef __MigPackStructs
2260#pragma pack(pop)
2261#endif
2262/* Struct for pure user data */
2263#ifdef __MigPackStructs
2264#pragma pack(push, 4)
2265#endif
2266 typedef struct {
2267 char padding[0]; /* Avoid generating empty UData structs */
2268 } __ReplyUData__thread_swap_mach_voucher_t __attribute__((unused));
2269#ifdef __MigPackStructs
2270#pragma pack(pop)
2271#endif
2272
2273#ifdef __MigPackStructs
2274#pragma pack(push, 4)
2275#endif
2276 typedef struct {
2277 mach_msg_header_t Head;
2278 NDR_record_t NDR;
2279 kern_return_t RetCode;
2280 mach_msg_type_number_t out_stateCnt;
2281 natural_t out_state[1296];
2282 } __Reply__thread_convert_thread_state_t __attribute__((unused));
2283#ifdef __MigPackStructs
2284#pragma pack(pop)
2285#endif
2286/* Struct for kernel processed data (Header + Descriptors) */
2287#ifdef __MigPackStructs
2288#pragma pack(push, 4)
2289#endif
2290 typedef struct {
2291 mach_msg_header_t Head;
2292 } __ReplyKData__thread_convert_thread_state_t __attribute__((unused));
2293#ifdef __MigPackStructs
2294#pragma pack(pop)
2295#endif
2296/* Struct for pure user data */
2297#ifdef __MigPackStructs
2298#pragma pack(push, 4)
2299#endif
2300 typedef struct {
2301 NDR_record_t NDR;
2302 kern_return_t RetCode;
2303 mach_msg_type_number_t out_stateCnt;
2304 natural_t out_state[1296];
2305 char padding[0]; /* Avoid generating empty UData structs */
2306 } __ReplyUData__thread_convert_thread_state_t __attribute__((unused));
2307#ifdef __MigPackStructs
2308#pragma pack(pop)
2309#endif
2310
2311#ifdef __MigPackStructs
2312#pragma pack(push, 4)
2313#endif
2314 typedef struct {
2315 mach_msg_header_t Head;
2316 NDR_record_t NDR;
2317 kern_return_t RetCode;
2318 mach_msg_type_number_t masksCnt;
2319 exception_mask_t masks[32];
2320 exception_handler_info_t old_handlers_info[32];
2321 exception_behavior_t old_behaviors[32];
2322 thread_state_flavor_t old_flavors[32];
2323 } __Reply__thread_get_exception_ports_info_t __attribute__((unused));
2324#ifdef __MigPackStructs
2325#pragma pack(pop)
2326#endif
2327/* Struct for kernel processed data (Header + Descriptors) */
2328#ifdef __MigPackStructs
2329#pragma pack(push, 4)
2330#endif
2331 typedef struct {
2332 mach_msg_header_t Head;
2333 } __ReplyKData__thread_get_exception_ports_info_t __attribute__((unused));
2334#ifdef __MigPackStructs
2335#pragma pack(pop)
2336#endif
2337/* Struct for pure user data */
2338#ifdef __MigPackStructs
2339#pragma pack(push, 4)
2340#endif
2341 typedef struct {
2342 NDR_record_t NDR;
2343 kern_return_t RetCode;
2344 mach_msg_type_number_t masksCnt;
2345 exception_mask_t masks[32];
2346 exception_handler_info_t old_handlers_info[32];
2347 exception_behavior_t old_behaviors[32];
2348 thread_state_flavor_t old_flavors[32];
2349 char padding[0]; /* Avoid generating empty UData structs */
2350 } __ReplyUData__thread_get_exception_ports_info_t __attribute__((unused));
2351#ifdef __MigPackStructs
2352#pragma pack(pop)
2353#endif
2354#endif /* !__Reply__thread_act_subsystem__defined */
2355
2356
2357/* union of all replies */
2358
2359#ifndef __ReplyUnion__thread_act_subsystem__defined
2360#define __ReplyUnion__thread_act_subsystem__defined
2361union __ReplyUnion__thread_act_subsystem {
2362 __Reply__thread_terminate_from_user_t Reply_thread_terminate_from_user;
2363 __Reply__act_get_state_to_user_t Reply_act_get_state_to_user;
2364 __Reply__act_set_state_from_user_t Reply_act_set_state_from_user;
2365 __Reply__thread_get_state_to_user_t Reply_thread_get_state_to_user;
2366 __Reply__thread_set_state_from_user_t Reply_thread_set_state_from_user;
2367 __Reply__thread_suspend_t Reply_thread_suspend;
2368 __Reply__thread_resume_t Reply_thread_resume;
2369 __Reply__thread_abort_t Reply_thread_abort;
2370 __Reply__thread_abort_safely_t Reply_thread_abort_safely;
2371 __Reply__thread_depress_abort_from_user_t Reply_thread_depress_abort_from_user;
2372 __Reply__thread_get_special_port_from_user_t Reply_thread_get_special_port_from_user;
2373 __Reply__thread_set_special_port_t Reply_thread_set_special_port;
2374 __Reply__thread_info_t Reply_thread_info;
2375 __Reply__thread_set_exception_ports_t Reply_thread_set_exception_ports;
2376 __Reply__thread_get_exception_ports_from_user_t Reply_thread_get_exception_ports_from_user;
2377 __Reply__thread_swap_exception_ports_t Reply_thread_swap_exception_ports;
2378 __Reply__thread_policy_t Reply_thread_policy;
2379 __Reply__thread_policy_set_t Reply_thread_policy_set;
2380 __Reply__thread_policy_get_t Reply_thread_policy_get;
2381 __Reply__thread_set_policy_t Reply_thread_set_policy;
2382 __Reply__thread_get_mach_voucher_t Reply_thread_get_mach_voucher;
2383 __Reply__thread_set_mach_voucher_t Reply_thread_set_mach_voucher;
2384 __Reply__thread_swap_mach_voucher_t Reply_thread_swap_mach_voucher;
2385 __Reply__thread_convert_thread_state_t Reply_thread_convert_thread_state;
2386 __Reply__thread_get_exception_ports_info_t Reply_thread_get_exception_ports_info;
2387};
2388#endif /* __ReplyUnion__thread_act_subsystem__defined */
2389
2390#ifndef subsystem_to_name_map_thread_act
2391#define subsystem_to_name_map_thread_act \
2392 { "thread_terminate_from_user", 3600 },\
2393 { "act_get_state_to_user", 3601 },\
2394 { "act_set_state_from_user", 3602 },\
2395 { "thread_get_state_to_user", 3603 },\
2396 { "thread_set_state_from_user", 3604 },\
2397 { "thread_suspend", 3605 },\
2398 { "thread_resume", 3606 },\
2399 { "thread_abort", 3607 },\
2400 { "thread_abort_safely", 3608 },\
2401 { "thread_depress_abort_from_user", 3609 },\
2402 { "thread_get_special_port_from_user", 3610 },\
2403 { "thread_set_special_port", 3611 },\
2404 { "thread_info", 3612 },\
2405 { "thread_set_exception_ports", 3613 },\
2406 { "thread_get_exception_ports_from_user", 3614 },\
2407 { "thread_swap_exception_ports", 3615 },\
2408 { "thread_policy", 3616 },\
2409 { "thread_policy_set", 3617 },\
2410 { "thread_policy_get", 3618 },\
2411 { "thread_set_policy", 3624 },\
2412 { "thread_get_mach_voucher", 3625 },\
2413 { "thread_set_mach_voucher", 3626 },\
2414 { "thread_swap_mach_voucher", 3627 },\
2415 { "thread_convert_thread_state", 3628 },\
2416 { "thread_get_exception_ports_info", 3630 }
2417#endif
2418
2419#ifdef __AfterMigServerHeader
2420__AfterMigServerHeader
2421#endif /* __AfterMigServerHeader */
2422
2423#endif /* _thread_act_server_ */
2424