Chameleon

Chameleon Svn Source Tree

Root/branches/cparm/i386/modules/include/mach/i386/task.h

1#ifndef_task_user_
2#define_task_user_
3
4/* Module task */
5
6#include <string.h>
7#include <mach/ndr.h>
8#include <mach/boolean.h>
9#include <mach/kern_return.h>
10#include <mach/notify.h>
11#include <mach/mach_types.h>
12#include <mach/message.h>
13#include <mach/mig_errors.h>
14#include <mach/port.h>
15
16#ifdef AUTOTEST
17#ifndef FUNCTION_PTR_T
18#define FUNCTION_PTR_T
19typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
20typedef struct {
21 char *name;
22 function_ptr_t function;
23} function_table_entry;
24typedef function_table_entry *function_table_t;
25#endif /* FUNCTION_PTR_T */
26#endif /* AUTOTEST */
27
28#ifndeftask_MSG_COUNT
29#definetask_MSG_COUNT35
30#endif/* task_MSG_COUNT */
31
32#include <mach/std_types.h>
33#include <mach/mig.h>
34#include <mach/mig.h>
35#include <mach/mach_types.h>
36#include <mach_debug/mach_debug_types.h>
37
38#ifdef __BeforeMigUserHeader
39__BeforeMigUserHeader
40#endif /* __BeforeMigUserHeader */
41
42#include <sys/cdefs.h>
43__BEGIN_DECLS
44
45
46/* Routine task_create */
47#ifdefmig_external
48mig_external
49#else
50extern
51#endif/* mig_external */
52kern_return_t task_create
53(
54task_t target_task,
55ledger_array_t ledgers,
56mach_msg_type_number_t ledgersCnt,
57boolean_t inherit_memory,
58task_t *child_task
59);
60
61/* Routine task_terminate */
62#ifdefmig_external
63mig_external
64#else
65extern
66#endif/* mig_external */
67kern_return_t task_terminate
68(
69task_t target_task
70);
71
72/* Routine task_threads */
73#ifdefmig_external
74mig_external
75#else
76extern
77#endif/* mig_external */
78kern_return_t task_threads
79(
80task_t target_task,
81thread_act_array_t *act_list,
82mach_msg_type_number_t *act_listCnt
83);
84
85/* Routine mach_ports_register */
86#ifdefmig_external
87mig_external
88#else
89extern
90#endif/* mig_external */
91kern_return_t mach_ports_register
92(
93task_t target_task,
94mach_port_array_t init_port_set,
95mach_msg_type_number_t init_port_setCnt
96);
97
98/* Routine mach_ports_lookup */
99#ifdefmig_external
100mig_external
101#else
102extern
103#endif/* mig_external */
104kern_return_t mach_ports_lookup
105(
106task_t target_task,
107mach_port_array_t *init_port_set,
108mach_msg_type_number_t *init_port_setCnt
109);
110
111/* Routine task_info */
112#ifdefmig_external
113mig_external
114#else
115extern
116#endif/* mig_external */
117kern_return_t task_info
118(
119task_name_t target_task,
120task_flavor_t flavor,
121task_info_t task_info_out,
122mach_msg_type_number_t *task_info_outCnt
123);
124
125/* Routine task_set_info */
126#ifdefmig_external
127mig_external
128#else
129extern
130#endif/* mig_external */
131kern_return_t task_set_info
132(
133task_t target_task,
134task_flavor_t flavor,
135task_info_t task_info_in,
136mach_msg_type_number_t task_info_inCnt
137);
138
139/* Routine task_suspend */
140#ifdefmig_external
141mig_external
142#else
143extern
144#endif/* mig_external */
145kern_return_t task_suspend
146(
147task_t target_task
148);
149
150/* Routine task_resume */
151#ifdefmig_external
152mig_external
153#else
154extern
155#endif/* mig_external */
156kern_return_t task_resume
157(
158task_t target_task
159);
160
161/* Routine task_get_special_port */
162#ifdefmig_external
163mig_external
164#else
165extern
166#endif/* mig_external */
167kern_return_t task_get_special_port
168(
169task_t task,
170int which_port,
171mach_port_t *special_port
172);
173
174/* Routine task_set_special_port */
175#ifdefmig_external
176mig_external
177#else
178extern
179#endif/* mig_external */
180kern_return_t task_set_special_port
181(
182task_t task,
183int which_port,
184mach_port_t special_port
185);
186
187/* Routine thread_create */
188#ifdefmig_external
189mig_external
190#else
191extern
192#endif/* mig_external */
193kern_return_t thread_create
194(
195task_t parent_task,
196thread_act_t *child_act
197);
198
199/* Routine thread_create_running */
200#ifdefmig_external
201mig_external
202#else
203extern
204#endif/* mig_external */
205kern_return_t thread_create_running
206(
207task_t parent_task,
208thread_state_flavor_t flavor,
209thread_state_t new_state,
210mach_msg_type_number_t new_stateCnt,
211thread_act_t *child_act
212);
213
214/* Routine task_set_exception_ports */
215#ifdefmig_external
216mig_external
217#else
218extern
219#endif/* mig_external */
220kern_return_t task_set_exception_ports
221(
222task_t task,
223exception_mask_t exception_mask,
224mach_port_t new_port,
225exception_behavior_t behavior,
226thread_state_flavor_t new_flavor
227);
228
229/* Routine task_get_exception_ports */
230#ifdefmig_external
231mig_external
232#else
233extern
234#endif/* mig_external */
235kern_return_t task_get_exception_ports
236(
237task_t task,
238exception_mask_t exception_mask,
239exception_mask_array_t masks,
240mach_msg_type_number_t *masksCnt,
241exception_handler_array_t old_handlers,
242exception_behavior_array_t old_behaviors,
243exception_flavor_array_t old_flavors
244);
245
246/* Routine task_swap_exception_ports */
247#ifdefmig_external
248mig_external
249#else
250extern
251#endif/* mig_external */
252kern_return_t task_swap_exception_ports
253(
254task_t task,
255exception_mask_t exception_mask,
256mach_port_t new_port,
257exception_behavior_t behavior,
258thread_state_flavor_t new_flavor,
259exception_mask_array_t masks,
260mach_msg_type_number_t *masksCnt,
261exception_handler_array_t old_handlerss,
262exception_behavior_array_t old_behaviors,
263exception_flavor_array_t old_flavors
264);
265
266/* Routine lock_set_create */
267#ifdefmig_external
268mig_external
269#else
270extern
271#endif/* mig_external */
272kern_return_t lock_set_create
273(
274task_t task,
275lock_set_t *new_lock_set,
276int n_ulocks,
277int policy
278);
279
280/* Routine lock_set_destroy */
281#ifdefmig_external
282mig_external
283#else
284extern
285#endif/* mig_external */
286kern_return_t lock_set_destroy
287(
288task_t task,
289lock_set_t lock_set
290);
291
292/* Routine semaphore_create */
293#ifdefmig_external
294mig_external
295#else
296extern
297#endif/* mig_external */
298kern_return_t semaphore_create
299(
300task_t task,
301semaphore_t *semaphore,
302int policy,
303int value
304);
305
306/* Routine semaphore_destroy */
307#ifdefmig_external
308mig_external
309#else
310extern
311#endif/* mig_external */
312kern_return_t semaphore_destroy
313(
314task_t task,
315semaphore_t semaphore
316);
317
318/* Routine task_policy_set */
319#ifdefmig_external
320mig_external
321#else
322extern
323#endif/* mig_external */
324kern_return_t task_policy_set
325(
326task_t task,
327task_policy_flavor_t flavor,
328task_policy_t policy_info,
329mach_msg_type_number_t policy_infoCnt
330);
331
332/* Routine task_policy_get */
333#ifdefmig_external
334mig_external
335#else
336extern
337#endif/* mig_external */
338kern_return_t task_policy_get
339(
340task_t task,
341task_policy_flavor_t flavor,
342task_policy_t policy_info,
343mach_msg_type_number_t *policy_infoCnt,
344boolean_t *get_default
345);
346
347/* Routine task_sample */
348#ifdefmig_external
349mig_external
350#else
351extern
352#endif/* mig_external */
353kern_return_t task_sample
354(
355task_t task,
356mach_port_t reply
357);
358
359/* Routine task_policy */
360#ifdefmig_external
361mig_external
362#else
363extern
364#endif/* mig_external */
365kern_return_t task_policy
366(
367task_t task,
368policy_t policy,
369policy_base_t base,
370mach_msg_type_number_t baseCnt,
371boolean_t set_limit,
372boolean_t change
373);
374
375/* Routine task_set_emulation */
376#ifdefmig_external
377mig_external
378#else
379extern
380#endif/* mig_external */
381kern_return_t task_set_emulation
382(
383task_t target_port,
384vm_address_t routine_entry_pt,
385int routine_number
386);
387
388/* Routine task_get_emulation_vector */
389#ifdefmig_external
390mig_external
391#else
392extern
393#endif/* mig_external */
394kern_return_t task_get_emulation_vector
395(
396task_t task,
397int *vector_start,
398emulation_vector_t *emulation_vector,
399mach_msg_type_number_t *emulation_vectorCnt
400);
401
402/* Routine task_set_emulation_vector */
403#ifdefmig_external
404mig_external
405#else
406extern
407#endif/* mig_external */
408kern_return_t task_set_emulation_vector
409(
410task_t task,
411int vector_start,
412emulation_vector_t emulation_vector,
413mach_msg_type_number_t emulation_vectorCnt
414);
415
416/* Routine task_set_ras_pc */
417#ifdefmig_external
418mig_external
419#else
420extern
421#endif/* mig_external */
422kern_return_t task_set_ras_pc
423(
424task_t target_task,
425vm_address_t basepc,
426vm_address_t boundspc
427);
428
429/* Routine task_zone_info */
430#ifdefmig_external
431mig_external
432#else
433extern
434#endif/* mig_external */
435kern_return_t task_zone_info
436(
437task_t target_task,
438mach_zone_name_array_t *names,
439mach_msg_type_number_t *namesCnt,
440task_zone_info_array_t *info,
441mach_msg_type_number_t *infoCnt
442);
443
444/* Routine task_assign */
445#ifdefmig_external
446mig_external
447#else
448extern
449#endif/* mig_external */
450kern_return_t task_assign
451(
452task_t task,
453processor_set_t new_set,
454boolean_t assign_threads
455);
456
457/* Routine task_assign_default */
458#ifdefmig_external
459mig_external
460#else
461extern
462#endif/* mig_external */
463kern_return_t task_assign_default
464(
465task_t task,
466boolean_t assign_threads
467);
468
469/* Routine task_get_assignment */
470#ifdefmig_external
471mig_external
472#else
473extern
474#endif/* mig_external */
475kern_return_t task_get_assignment
476(
477task_t task,
478processor_set_name_t *assigned_set
479);
480
481/* Routine task_set_policy */
482#ifdefmig_external
483mig_external
484#else
485extern
486#endif/* mig_external */
487kern_return_t task_set_policy
488(
489task_t task,
490processor_set_t pset,
491policy_t policy,
492policy_base_t base,
493mach_msg_type_number_t baseCnt,
494policy_limit_t limit,
495mach_msg_type_number_t limitCnt,
496boolean_t change
497);
498
499/* Routine task_get_state */
500#ifdefmig_external
501mig_external
502#else
503extern
504#endif/* mig_external */
505kern_return_t task_get_state
506(
507task_t task,
508thread_state_flavor_t flavor,
509thread_state_t old_state,
510mach_msg_type_number_t *old_stateCnt
511);
512
513/* Routine task_set_state */
514#ifdefmig_external
515mig_external
516#else
517extern
518#endif/* mig_external */
519kern_return_t task_set_state
520(
521task_t task,
522thread_state_flavor_t flavor,
523thread_state_t new_state,
524mach_msg_type_number_t new_stateCnt
525);
526
527__END_DECLS
528
529/********************** Caution **************************/
530/* The following data types should be used to calculate */
531/* maximum message sizes only. The actual message may be */
532/* smaller, and the position of the arguments within the */
533/* message layout may vary from what is presented here. */
534/* For example, if any of the arguments are variable- */
535/* sized, and less than the maximum is sent, the data */
536/* will be packed tight in the actual message to reduce */
537/* the presence of holes. */
538/********************** Caution **************************/
539
540/* typedefs for all requests */
541
542#ifndef __Request__task_subsystem__defined
543#define __Request__task_subsystem__defined
544
545#ifdef __MigPackStructs
546#pragma pack(4)
547#endif
548typedef struct {
549mach_msg_header_t Head;
550/* start of the kernel processed data */
551mach_msg_body_t msgh_body;
552mach_msg_ool_ports_descriptor_t ledgers;
553/* end of the kernel processed data */
554NDR_record_t NDR;
555mach_msg_type_number_t ledgersCnt;
556boolean_t inherit_memory;
557} __Request__task_create_t;
558#ifdef __MigPackStructs
559#pragma pack()
560#endif
561
562#ifdef __MigPackStructs
563#pragma pack(4)
564#endif
565typedef struct {
566mach_msg_header_t Head;
567} __Request__task_terminate_t;
568#ifdef __MigPackStructs
569#pragma pack()
570#endif
571
572#ifdef __MigPackStructs
573#pragma pack(4)
574#endif
575typedef struct {
576mach_msg_header_t Head;
577} __Request__task_threads_t;
578#ifdef __MigPackStructs
579#pragma pack()
580#endif
581
582#ifdef __MigPackStructs
583#pragma pack(4)
584#endif
585typedef struct {
586mach_msg_header_t Head;
587/* start of the kernel processed data */
588mach_msg_body_t msgh_body;
589mach_msg_ool_ports_descriptor_t init_port_set;
590/* end of the kernel processed data */
591NDR_record_t NDR;
592mach_msg_type_number_t init_port_setCnt;
593} __Request__mach_ports_register_t;
594#ifdef __MigPackStructs
595#pragma pack()
596#endif
597
598#ifdef __MigPackStructs
599#pragma pack(4)
600#endif
601typedef struct {
602mach_msg_header_t Head;
603} __Request__mach_ports_lookup_t;
604#ifdef __MigPackStructs
605#pragma pack()
606#endif
607
608#ifdef __MigPackStructs
609#pragma pack(4)
610#endif
611typedef struct {
612mach_msg_header_t Head;
613NDR_record_t NDR;
614task_flavor_t flavor;
615mach_msg_type_number_t task_info_outCnt;
616} __Request__task_info_t;
617#ifdef __MigPackStructs
618#pragma pack()
619#endif
620
621#ifdef __MigPackStructs
622#pragma pack(4)
623#endif
624typedef struct {
625mach_msg_header_t Head;
626NDR_record_t NDR;
627task_flavor_t flavor;
628mach_msg_type_number_t task_info_inCnt;
629integer_t task_info_in[32];
630} __Request__task_set_info_t;
631#ifdef __MigPackStructs
632#pragma pack()
633#endif
634
635#ifdef __MigPackStructs
636#pragma pack(4)
637#endif
638typedef struct {
639mach_msg_header_t Head;
640} __Request__task_suspend_t;
641#ifdef __MigPackStructs
642#pragma pack()
643#endif
644
645#ifdef __MigPackStructs
646#pragma pack(4)
647#endif
648typedef struct {
649mach_msg_header_t Head;
650} __Request__task_resume_t;
651#ifdef __MigPackStructs
652#pragma pack()
653#endif
654
655#ifdef __MigPackStructs
656#pragma pack(4)
657#endif
658typedef struct {
659mach_msg_header_t Head;
660NDR_record_t NDR;
661int which_port;
662} __Request__task_get_special_port_t;
663#ifdef __MigPackStructs
664#pragma pack()
665#endif
666
667#ifdef __MigPackStructs
668#pragma pack(4)
669#endif
670typedef struct {
671mach_msg_header_t Head;
672/* start of the kernel processed data */
673mach_msg_body_t msgh_body;
674mach_msg_port_descriptor_t special_port;
675/* end of the kernel processed data */
676NDR_record_t NDR;
677int which_port;
678} __Request__task_set_special_port_t;
679#ifdef __MigPackStructs
680#pragma pack()
681#endif
682
683#ifdef __MigPackStructs
684#pragma pack(4)
685#endif
686typedef struct {
687mach_msg_header_t Head;
688} __Request__thread_create_t;
689#ifdef __MigPackStructs
690#pragma pack()
691#endif
692
693#ifdef __MigPackStructs
694#pragma pack(4)
695#endif
696typedef struct {
697mach_msg_header_t Head;
698NDR_record_t NDR;
699thread_state_flavor_t flavor;
700mach_msg_type_number_t new_stateCnt;
701natural_t new_state[224];
702} __Request__thread_create_running_t;
703#ifdef __MigPackStructs
704#pragma pack()
705#endif
706
707#ifdef __MigPackStructs
708#pragma pack(4)
709#endif
710typedef struct {
711mach_msg_header_t Head;
712/* start of the kernel processed data */
713mach_msg_body_t msgh_body;
714mach_msg_port_descriptor_t new_port;
715/* end of the kernel processed data */
716NDR_record_t NDR;
717exception_mask_t exception_mask;
718exception_behavior_t behavior;
719thread_state_flavor_t new_flavor;
720} __Request__task_set_exception_ports_t;
721#ifdef __MigPackStructs
722#pragma pack()
723#endif
724
725#ifdef __MigPackStructs
726#pragma pack(4)
727#endif
728typedef struct {
729mach_msg_header_t Head;
730NDR_record_t NDR;
731exception_mask_t exception_mask;
732} __Request__task_get_exception_ports_t;
733#ifdef __MigPackStructs
734#pragma pack()
735#endif
736
737#ifdef __MigPackStructs
738#pragma pack(4)
739#endif
740typedef struct {
741mach_msg_header_t Head;
742/* start of the kernel processed data */
743mach_msg_body_t msgh_body;
744mach_msg_port_descriptor_t new_port;
745/* end of the kernel processed data */
746NDR_record_t NDR;
747exception_mask_t exception_mask;
748exception_behavior_t behavior;
749thread_state_flavor_t new_flavor;
750} __Request__task_swap_exception_ports_t;
751#ifdef __MigPackStructs
752#pragma pack()
753#endif
754
755#ifdef __MigPackStructs
756#pragma pack(4)
757#endif
758typedef struct {
759mach_msg_header_t Head;
760NDR_record_t NDR;
761int n_ulocks;
762int policy;
763} __Request__lock_set_create_t;
764#ifdef __MigPackStructs
765#pragma pack()
766#endif
767
768#ifdef __MigPackStructs
769#pragma pack(4)
770#endif
771typedef struct {
772mach_msg_header_t Head;
773/* start of the kernel processed data */
774mach_msg_body_t msgh_body;
775mach_msg_port_descriptor_t lock_set;
776/* end of the kernel processed data */
777} __Request__lock_set_destroy_t;
778#ifdef __MigPackStructs
779#pragma pack()
780#endif
781
782#ifdef __MigPackStructs
783#pragma pack(4)
784#endif
785typedef struct {
786mach_msg_header_t Head;
787NDR_record_t NDR;
788int policy;
789int value;
790} __Request__semaphore_create_t;
791#ifdef __MigPackStructs
792#pragma pack()
793#endif
794
795#ifdef __MigPackStructs
796#pragma pack(4)
797#endif
798typedef struct {
799mach_msg_header_t Head;
800/* start of the kernel processed data */
801mach_msg_body_t msgh_body;
802mach_msg_port_descriptor_t semaphore;
803/* end of the kernel processed data */
804} __Request__semaphore_destroy_t;
805#ifdef __MigPackStructs
806#pragma pack()
807#endif
808
809#ifdef __MigPackStructs
810#pragma pack(4)
811#endif
812typedef struct {
813mach_msg_header_t Head;
814NDR_record_t NDR;
815task_policy_flavor_t flavor;
816mach_msg_type_number_t policy_infoCnt;
817integer_t policy_info[16];
818} __Request__task_policy_set_t;
819#ifdef __MigPackStructs
820#pragma pack()
821#endif
822
823#ifdef __MigPackStructs
824#pragma pack(4)
825#endif
826typedef struct {
827mach_msg_header_t Head;
828NDR_record_t NDR;
829task_policy_flavor_t flavor;
830mach_msg_type_number_t policy_infoCnt;
831boolean_t get_default;
832} __Request__task_policy_get_t;
833#ifdef __MigPackStructs
834#pragma pack()
835#endif
836
837#ifdef __MigPackStructs
838#pragma pack(4)
839#endif
840typedef struct {
841mach_msg_header_t Head;
842/* start of the kernel processed data */
843mach_msg_body_t msgh_body;
844mach_msg_port_descriptor_t reply;
845/* end of the kernel processed data */
846} __Request__task_sample_t;
847#ifdef __MigPackStructs
848#pragma pack()
849#endif
850
851#ifdef __MigPackStructs
852#pragma pack(4)
853#endif
854typedef struct {
855mach_msg_header_t Head;
856NDR_record_t NDR;
857policy_t policy;
858mach_msg_type_number_t baseCnt;
859integer_t base[5];
860boolean_t set_limit;
861boolean_t change;
862} __Request__task_policy_t;
863#ifdef __MigPackStructs
864#pragma pack()
865#endif
866
867#ifdef __MigPackStructs
868#pragma pack(4)
869#endif
870typedef struct {
871mach_msg_header_t Head;
872NDR_record_t NDR;
873vm_address_t routine_entry_pt;
874int routine_number;
875} __Request__task_set_emulation_t;
876#ifdef __MigPackStructs
877#pragma pack()
878#endif
879
880#ifdef __MigPackStructs
881#pragma pack(4)
882#endif
883typedef struct {
884mach_msg_header_t Head;
885} __Request__task_get_emulation_vector_t;
886#ifdef __MigPackStructs
887#pragma pack()
888#endif
889
890#ifdef __MigPackStructs
891#pragma pack(4)
892#endif
893typedef struct {
894mach_msg_header_t Head;
895/* start of the kernel processed data */
896mach_msg_body_t msgh_body;
897mach_msg_ool_descriptor_t emulation_vector;
898/* end of the kernel processed data */
899NDR_record_t NDR;
900int vector_start;
901mach_msg_type_number_t emulation_vectorCnt;
902} __Request__task_set_emulation_vector_t;
903#ifdef __MigPackStructs
904#pragma pack()
905#endif
906
907#ifdef __MigPackStructs
908#pragma pack(4)
909#endif
910typedef struct {
911mach_msg_header_t Head;
912NDR_record_t NDR;
913vm_address_t basepc;
914vm_address_t boundspc;
915} __Request__task_set_ras_pc_t;
916#ifdef __MigPackStructs
917#pragma pack()
918#endif
919
920#ifdef __MigPackStructs
921#pragma pack(4)
922#endif
923typedef struct {
924mach_msg_header_t Head;
925} __Request__task_zone_info_t;
926#ifdef __MigPackStructs
927#pragma pack()
928#endif
929
930#ifdef __MigPackStructs
931#pragma pack(4)
932#endif
933typedef struct {
934mach_msg_header_t Head;
935/* start of the kernel processed data */
936mach_msg_body_t msgh_body;
937mach_msg_port_descriptor_t new_set;
938/* end of the kernel processed data */
939NDR_record_t NDR;
940boolean_t assign_threads;
941} __Request__task_assign_t;
942#ifdef __MigPackStructs
943#pragma pack()
944#endif
945
946#ifdef __MigPackStructs
947#pragma pack(4)
948#endif
949typedef struct {
950mach_msg_header_t Head;
951NDR_record_t NDR;
952boolean_t assign_threads;
953} __Request__task_assign_default_t;
954#ifdef __MigPackStructs
955#pragma pack()
956#endif
957
958#ifdef __MigPackStructs
959#pragma pack(4)
960#endif
961typedef struct {
962mach_msg_header_t Head;
963} __Request__task_get_assignment_t;
964#ifdef __MigPackStructs
965#pragma pack()
966#endif
967
968#ifdef __MigPackStructs
969#pragma pack(4)
970#endif
971typedef struct {
972mach_msg_header_t Head;
973/* start of the kernel processed data */
974mach_msg_body_t msgh_body;
975mach_msg_port_descriptor_t pset;
976/* end of the kernel processed data */
977NDR_record_t NDR;
978policy_t policy;
979mach_msg_type_number_t baseCnt;
980integer_t base[5];
981mach_msg_type_number_t limitCnt;
982integer_t limit[1];
983boolean_t change;
984} __Request__task_set_policy_t;
985#ifdef __MigPackStructs
986#pragma pack()
987#endif
988
989#ifdef __MigPackStructs
990#pragma pack(4)
991#endif
992typedef struct {
993mach_msg_header_t Head;
994NDR_record_t NDR;
995thread_state_flavor_t flavor;
996mach_msg_type_number_t old_stateCnt;
997} __Request__task_get_state_t;
998#ifdef __MigPackStructs
999#pragma pack()
1000#endif
1001
1002#ifdef __MigPackStructs
1003#pragma pack(4)
1004#endif
1005typedef struct {
1006mach_msg_header_t Head;
1007NDR_record_t NDR;
1008thread_state_flavor_t flavor;
1009mach_msg_type_number_t new_stateCnt;
1010natural_t new_state[224];
1011} __Request__task_set_state_t;
1012#ifdef __MigPackStructs
1013#pragma pack()
1014#endif
1015#endif /* !__Request__task_subsystem__defined */
1016
1017/* union of all requests */
1018
1019#ifndef __RequestUnion__task_subsystem__defined
1020#define __RequestUnion__task_subsystem__defined
1021union __RequestUnion__task_subsystem {
1022__Request__task_create_t Request_task_create;
1023__Request__task_terminate_t Request_task_terminate;
1024__Request__task_threads_t Request_task_threads;
1025__Request__mach_ports_register_t Request_mach_ports_register;
1026__Request__mach_ports_lookup_t Request_mach_ports_lookup;
1027__Request__task_info_t Request_task_info;
1028__Request__task_set_info_t Request_task_set_info;
1029__Request__task_suspend_t Request_task_suspend;
1030__Request__task_resume_t Request_task_resume;
1031__Request__task_get_special_port_t Request_task_get_special_port;
1032__Request__task_set_special_port_t Request_task_set_special_port;
1033__Request__thread_create_t Request_thread_create;
1034__Request__thread_create_running_t Request_thread_create_running;
1035__Request__task_set_exception_ports_t Request_task_set_exception_ports;
1036__Request__task_get_exception_ports_t Request_task_get_exception_ports;
1037__Request__task_swap_exception_ports_t Request_task_swap_exception_ports;
1038__Request__lock_set_create_t Request_lock_set_create;
1039__Request__lock_set_destroy_t Request_lock_set_destroy;
1040__Request__semaphore_create_t Request_semaphore_create;
1041__Request__semaphore_destroy_t Request_semaphore_destroy;
1042__Request__task_policy_set_t Request_task_policy_set;
1043__Request__task_policy_get_t Request_task_policy_get;
1044__Request__task_sample_t Request_task_sample;
1045__Request__task_policy_t Request_task_policy;
1046__Request__task_set_emulation_t Request_task_set_emulation;
1047__Request__task_get_emulation_vector_t Request_task_get_emulation_vector;
1048__Request__task_set_emulation_vector_t Request_task_set_emulation_vector;
1049__Request__task_set_ras_pc_t Request_task_set_ras_pc;
1050__Request__task_zone_info_t Request_task_zone_info;
1051__Request__task_assign_t Request_task_assign;
1052__Request__task_assign_default_t Request_task_assign_default;
1053__Request__task_get_assignment_t Request_task_get_assignment;
1054__Request__task_set_policy_t Request_task_set_policy;
1055__Request__task_get_state_t Request_task_get_state;
1056__Request__task_set_state_t Request_task_set_state;
1057};
1058#endif /* !__RequestUnion__task_subsystem__defined */
1059/* typedefs for all replies */
1060
1061#ifndef __Reply__task_subsystem__defined
1062#define __Reply__task_subsystem__defined
1063
1064#ifdef __MigPackStructs
1065#pragma pack(4)
1066#endif
1067typedef struct {
1068mach_msg_header_t Head;
1069/* start of the kernel processed data */
1070mach_msg_body_t msgh_body;
1071mach_msg_port_descriptor_t child_task;
1072/* end of the kernel processed data */
1073} __Reply__task_create_t;
1074#ifdef __MigPackStructs
1075#pragma pack()
1076#endif
1077
1078#ifdef __MigPackStructs
1079#pragma pack(4)
1080#endif
1081typedef struct {
1082mach_msg_header_t Head;
1083NDR_record_t NDR;
1084kern_return_t RetCode;
1085} __Reply__task_terminate_t;
1086#ifdef __MigPackStructs
1087#pragma pack()
1088#endif
1089
1090#ifdef __MigPackStructs
1091#pragma pack(4)
1092#endif
1093typedef struct {
1094mach_msg_header_t Head;
1095/* start of the kernel processed data */
1096mach_msg_body_t msgh_body;
1097mach_msg_ool_ports_descriptor_t act_list;
1098/* end of the kernel processed data */
1099NDR_record_t NDR;
1100mach_msg_type_number_t act_listCnt;
1101} __Reply__task_threads_t;
1102#ifdef __MigPackStructs
1103#pragma pack()
1104#endif
1105
1106#ifdef __MigPackStructs
1107#pragma pack(4)
1108#endif
1109typedef struct {
1110mach_msg_header_t Head;
1111NDR_record_t NDR;
1112kern_return_t RetCode;
1113} __Reply__mach_ports_register_t;
1114#ifdef __MigPackStructs
1115#pragma pack()
1116#endif
1117
1118#ifdef __MigPackStructs
1119#pragma pack(4)
1120#endif
1121typedef struct {
1122mach_msg_header_t Head;
1123/* start of the kernel processed data */
1124mach_msg_body_t msgh_body;
1125mach_msg_ool_ports_descriptor_t init_port_set;
1126/* end of the kernel processed data */
1127NDR_record_t NDR;
1128mach_msg_type_number_t init_port_setCnt;
1129} __Reply__mach_ports_lookup_t;
1130#ifdef __MigPackStructs
1131#pragma pack()
1132#endif
1133
1134#ifdef __MigPackStructs
1135#pragma pack(4)
1136#endif
1137typedef struct {
1138mach_msg_header_t Head;
1139NDR_record_t NDR;
1140kern_return_t RetCode;
1141mach_msg_type_number_t task_info_outCnt;
1142integer_t task_info_out[32];
1143} __Reply__task_info_t;
1144#ifdef __MigPackStructs
1145#pragma pack()
1146#endif
1147
1148#ifdef __MigPackStructs
1149#pragma pack(4)
1150#endif
1151typedef struct {
1152mach_msg_header_t Head;
1153NDR_record_t NDR;
1154kern_return_t RetCode;
1155} __Reply__task_set_info_t;
1156#ifdef __MigPackStructs
1157#pragma pack()
1158#endif
1159
1160#ifdef __MigPackStructs
1161#pragma pack(4)
1162#endif
1163typedef struct {
1164mach_msg_header_t Head;
1165NDR_record_t NDR;
1166kern_return_t RetCode;
1167} __Reply__task_suspend_t;
1168#ifdef __MigPackStructs
1169#pragma pack()
1170#endif
1171
1172#ifdef __MigPackStructs
1173#pragma pack(4)
1174#endif
1175typedef struct {
1176mach_msg_header_t Head;
1177NDR_record_t NDR;
1178kern_return_t RetCode;
1179} __Reply__task_resume_t;
1180#ifdef __MigPackStructs
1181#pragma pack()
1182#endif
1183
1184#ifdef __MigPackStructs
1185#pragma pack(4)
1186#endif
1187typedef struct {
1188mach_msg_header_t Head;
1189/* start of the kernel processed data */
1190mach_msg_body_t msgh_body;
1191mach_msg_port_descriptor_t special_port;
1192/* end of the kernel processed data */
1193} __Reply__task_get_special_port_t;
1194#ifdef __MigPackStructs
1195#pragma pack()
1196#endif
1197
1198#ifdef __MigPackStructs
1199#pragma pack(4)
1200#endif
1201typedef struct {
1202mach_msg_header_t Head;
1203NDR_record_t NDR;
1204kern_return_t RetCode;
1205} __Reply__task_set_special_port_t;
1206#ifdef __MigPackStructs
1207#pragma pack()
1208#endif
1209
1210#ifdef __MigPackStructs
1211#pragma pack(4)
1212#endif
1213typedef struct {
1214mach_msg_header_t Head;
1215/* start of the kernel processed data */
1216mach_msg_body_t msgh_body;
1217mach_msg_port_descriptor_t child_act;
1218/* end of the kernel processed data */
1219} __Reply__thread_create_t;
1220#ifdef __MigPackStructs
1221#pragma pack()
1222#endif
1223
1224#ifdef __MigPackStructs
1225#pragma pack(4)
1226#endif
1227typedef struct {
1228mach_msg_header_t Head;
1229/* start of the kernel processed data */
1230mach_msg_body_t msgh_body;
1231mach_msg_port_descriptor_t child_act;
1232/* end of the kernel processed data */
1233} __Reply__thread_create_running_t;
1234#ifdef __MigPackStructs
1235#pragma pack()
1236#endif
1237
1238#ifdef __MigPackStructs
1239#pragma pack(4)
1240#endif
1241typedef struct {
1242mach_msg_header_t Head;
1243NDR_record_t NDR;
1244kern_return_t RetCode;
1245} __Reply__task_set_exception_ports_t;
1246#ifdef __MigPackStructs
1247#pragma pack()
1248#endif
1249
1250#ifdef __MigPackStructs
1251#pragma pack(4)
1252#endif
1253typedef struct {
1254mach_msg_header_t Head;
1255/* start of the kernel processed data */
1256mach_msg_body_t msgh_body;
1257mach_msg_port_descriptor_t old_handlers[32];
1258/* end of the kernel processed data */
1259NDR_record_t NDR;
1260mach_msg_type_number_t masksCnt;
1261exception_mask_t masks[32];
1262exception_behavior_t old_behaviors[32];
1263thread_state_flavor_t old_flavors[32];
1264} __Reply__task_get_exception_ports_t;
1265#ifdef __MigPackStructs
1266#pragma pack()
1267#endif
1268
1269#ifdef __MigPackStructs
1270#pragma pack(4)
1271#endif
1272typedef struct {
1273mach_msg_header_t Head;
1274/* start of the kernel processed data */
1275mach_msg_body_t msgh_body;
1276mach_msg_port_descriptor_t old_handlerss[32];
1277/* end of the kernel processed data */
1278NDR_record_t NDR;
1279mach_msg_type_number_t masksCnt;
1280exception_mask_t masks[32];
1281exception_behavior_t old_behaviors[32];
1282thread_state_flavor_t old_flavors[32];
1283} __Reply__task_swap_exception_ports_t;
1284#ifdef __MigPackStructs
1285#pragma pack()
1286#endif
1287
1288#ifdef __MigPackStructs
1289#pragma pack(4)
1290#endif
1291typedef struct {
1292mach_msg_header_t Head;
1293/* start of the kernel processed data */
1294mach_msg_body_t msgh_body;
1295mach_msg_port_descriptor_t new_lock_set;
1296/* end of the kernel processed data */
1297} __Reply__lock_set_create_t;
1298#ifdef __MigPackStructs
1299#pragma pack()
1300#endif
1301
1302#ifdef __MigPackStructs
1303#pragma pack(4)
1304#endif
1305typedef struct {
1306mach_msg_header_t Head;
1307NDR_record_t NDR;
1308kern_return_t RetCode;
1309} __Reply__lock_set_destroy_t;
1310#ifdef __MigPackStructs
1311#pragma pack()
1312#endif
1313
1314#ifdef __MigPackStructs
1315#pragma pack(4)
1316#endif
1317typedef struct {
1318mach_msg_header_t Head;
1319/* start of the kernel processed data */
1320mach_msg_body_t msgh_body;
1321mach_msg_port_descriptor_t semaphore;
1322/* end of the kernel processed data */
1323} __Reply__semaphore_create_t;
1324#ifdef __MigPackStructs
1325#pragma pack()
1326#endif
1327
1328#ifdef __MigPackStructs
1329#pragma pack(4)
1330#endif
1331typedef struct {
1332mach_msg_header_t Head;
1333NDR_record_t NDR;
1334kern_return_t RetCode;
1335} __Reply__semaphore_destroy_t;
1336#ifdef __MigPackStructs
1337#pragma pack()
1338#endif
1339
1340#ifdef __MigPackStructs
1341#pragma pack(4)
1342#endif
1343typedef struct {
1344mach_msg_header_t Head;
1345NDR_record_t NDR;
1346kern_return_t RetCode;
1347} __Reply__task_policy_set_t;
1348#ifdef __MigPackStructs
1349#pragma pack()
1350#endif
1351
1352#ifdef __MigPackStructs
1353#pragma pack(4)
1354#endif
1355typedef struct {
1356mach_msg_header_t Head;
1357NDR_record_t NDR;
1358kern_return_t RetCode;
1359mach_msg_type_number_t policy_infoCnt;
1360integer_t policy_info[16];
1361boolean_t get_default;
1362} __Reply__task_policy_get_t;
1363#ifdef __MigPackStructs
1364#pragma pack()
1365#endif
1366
1367#ifdef __MigPackStructs
1368#pragma pack(4)
1369#endif
1370typedef struct {
1371mach_msg_header_t Head;
1372NDR_record_t NDR;
1373kern_return_t RetCode;
1374} __Reply__task_sample_t;
1375#ifdef __MigPackStructs
1376#pragma pack()
1377#endif
1378
1379#ifdef __MigPackStructs
1380#pragma pack(4)
1381#endif
1382typedef struct {
1383mach_msg_header_t Head;
1384NDR_record_t NDR;
1385kern_return_t RetCode;
1386} __Reply__task_policy_t;
1387#ifdef __MigPackStructs
1388#pragma pack()
1389#endif
1390
1391#ifdef __MigPackStructs
1392#pragma pack(4)
1393#endif
1394typedef struct {
1395mach_msg_header_t Head;
1396NDR_record_t NDR;
1397kern_return_t RetCode;
1398} __Reply__task_set_emulation_t;
1399#ifdef __MigPackStructs
1400#pragma pack()
1401#endif
1402
1403#ifdef __MigPackStructs
1404#pragma pack(4)
1405#endif
1406typedef struct {
1407mach_msg_header_t Head;
1408/* start of the kernel processed data */
1409mach_msg_body_t msgh_body;
1410mach_msg_ool_descriptor_t emulation_vector;
1411/* end of the kernel processed data */
1412NDR_record_t NDR;
1413int vector_start;
1414mach_msg_type_number_t emulation_vectorCnt;
1415} __Reply__task_get_emulation_vector_t;
1416#ifdef __MigPackStructs
1417#pragma pack()
1418#endif
1419
1420#ifdef __MigPackStructs
1421#pragma pack(4)
1422#endif
1423typedef struct {
1424mach_msg_header_t Head;
1425NDR_record_t NDR;
1426kern_return_t RetCode;
1427} __Reply__task_set_emulation_vector_t;
1428#ifdef __MigPackStructs
1429#pragma pack()
1430#endif
1431
1432#ifdef __MigPackStructs
1433#pragma pack(4)
1434#endif
1435typedef struct {
1436mach_msg_header_t Head;
1437NDR_record_t NDR;
1438kern_return_t RetCode;
1439} __Reply__task_set_ras_pc_t;
1440#ifdef __MigPackStructs
1441#pragma pack()
1442#endif
1443
1444#ifdef __MigPackStructs
1445#pragma pack(4)
1446#endif
1447typedef struct {
1448mach_msg_header_t Head;
1449/* start of the kernel processed data */
1450mach_msg_body_t msgh_body;
1451mach_msg_ool_descriptor_t names;
1452mach_msg_ool_descriptor_t info;
1453/* end of the kernel processed data */
1454NDR_record_t NDR;
1455mach_msg_type_number_t namesCnt;
1456mach_msg_type_number_t infoCnt;
1457} __Reply__task_zone_info_t;
1458#ifdef __MigPackStructs
1459#pragma pack()
1460#endif
1461
1462#ifdef __MigPackStructs
1463#pragma pack(4)
1464#endif
1465typedef struct {
1466mach_msg_header_t Head;
1467NDR_record_t NDR;
1468kern_return_t RetCode;
1469} __Reply__task_assign_t;
1470#ifdef __MigPackStructs
1471#pragma pack()
1472#endif
1473
1474#ifdef __MigPackStructs
1475#pragma pack(4)
1476#endif
1477typedef struct {
1478mach_msg_header_t Head;
1479NDR_record_t NDR;
1480kern_return_t RetCode;
1481} __Reply__task_assign_default_t;
1482#ifdef __MigPackStructs
1483#pragma pack()
1484#endif
1485
1486#ifdef __MigPackStructs
1487#pragma pack(4)
1488#endif
1489typedef struct {
1490mach_msg_header_t Head;
1491/* start of the kernel processed data */
1492mach_msg_body_t msgh_body;
1493mach_msg_port_descriptor_t assigned_set;
1494/* end of the kernel processed data */
1495} __Reply__task_get_assignment_t;
1496#ifdef __MigPackStructs
1497#pragma pack()
1498#endif
1499
1500#ifdef __MigPackStructs
1501#pragma pack(4)
1502#endif
1503typedef struct {
1504mach_msg_header_t Head;
1505NDR_record_t NDR;
1506kern_return_t RetCode;
1507} __Reply__task_set_policy_t;
1508#ifdef __MigPackStructs
1509#pragma pack()
1510#endif
1511
1512#ifdef __MigPackStructs
1513#pragma pack(4)
1514#endif
1515typedef struct {
1516mach_msg_header_t Head;
1517NDR_record_t NDR;
1518kern_return_t RetCode;
1519mach_msg_type_number_t old_stateCnt;
1520natural_t old_state[224];
1521} __Reply__task_get_state_t;
1522#ifdef __MigPackStructs
1523#pragma pack()
1524#endif
1525
1526#ifdef __MigPackStructs
1527#pragma pack(4)
1528#endif
1529typedef struct {
1530mach_msg_header_t Head;
1531NDR_record_t NDR;
1532kern_return_t RetCode;
1533} __Reply__task_set_state_t;
1534#ifdef __MigPackStructs
1535#pragma pack()
1536#endif
1537#endif /* !__Reply__task_subsystem__defined */
1538
1539/* union of all replies */
1540
1541#ifndef __ReplyUnion__task_subsystem__defined
1542#define __ReplyUnion__task_subsystem__defined
1543union __ReplyUnion__task_subsystem {
1544__Reply__task_create_t Reply_task_create;
1545__Reply__task_terminate_t Reply_task_terminate;
1546__Reply__task_threads_t Reply_task_threads;
1547__Reply__mach_ports_register_t Reply_mach_ports_register;
1548__Reply__mach_ports_lookup_t Reply_mach_ports_lookup;
1549__Reply__task_info_t Reply_task_info;
1550__Reply__task_set_info_t Reply_task_set_info;
1551__Reply__task_suspend_t Reply_task_suspend;
1552__Reply__task_resume_t Reply_task_resume;
1553__Reply__task_get_special_port_t Reply_task_get_special_port;
1554__Reply__task_set_special_port_t Reply_task_set_special_port;
1555__Reply__thread_create_t Reply_thread_create;
1556__Reply__thread_create_running_t Reply_thread_create_running;
1557__Reply__task_set_exception_ports_t Reply_task_set_exception_ports;
1558__Reply__task_get_exception_ports_t Reply_task_get_exception_ports;
1559__Reply__task_swap_exception_ports_t Reply_task_swap_exception_ports;
1560__Reply__lock_set_create_t Reply_lock_set_create;
1561__Reply__lock_set_destroy_t Reply_lock_set_destroy;
1562__Reply__semaphore_create_t Reply_semaphore_create;
1563__Reply__semaphore_destroy_t Reply_semaphore_destroy;
1564__Reply__task_policy_set_t Reply_task_policy_set;
1565__Reply__task_policy_get_t Reply_task_policy_get;
1566__Reply__task_sample_t Reply_task_sample;
1567__Reply__task_policy_t Reply_task_policy;
1568__Reply__task_set_emulation_t Reply_task_set_emulation;
1569__Reply__task_get_emulation_vector_t Reply_task_get_emulation_vector;
1570__Reply__task_set_emulation_vector_t Reply_task_set_emulation_vector;
1571__Reply__task_set_ras_pc_t Reply_task_set_ras_pc;
1572__Reply__task_zone_info_t Reply_task_zone_info;
1573__Reply__task_assign_t Reply_task_assign;
1574__Reply__task_assign_default_t Reply_task_assign_default;
1575__Reply__task_get_assignment_t Reply_task_get_assignment;
1576__Reply__task_set_policy_t Reply_task_set_policy;
1577__Reply__task_get_state_t Reply_task_get_state;
1578__Reply__task_set_state_t Reply_task_set_state;
1579};
1580#endif /* !__RequestUnion__task_subsystem__defined */
1581
1582#ifndef subsystem_to_name_map_task
1583#define subsystem_to_name_map_task \
1584 { "task_create", 3400 },\
1585 { "task_terminate", 3401 },\
1586 { "task_threads", 3402 },\
1587 { "mach_ports_register", 3403 },\
1588 { "mach_ports_lookup", 3404 },\
1589 { "task_info", 3405 },\
1590 { "task_set_info", 3406 },\
1591 { "task_suspend", 3407 },\
1592 { "task_resume", 3408 },\
1593 { "task_get_special_port", 3409 },\
1594 { "task_set_special_port", 3410 },\
1595 { "thread_create", 3411 },\
1596 { "thread_create_running", 3412 },\
1597 { "task_set_exception_ports", 3413 },\
1598 { "task_get_exception_ports", 3414 },\
1599 { "task_swap_exception_ports", 3415 },\
1600 { "lock_set_create", 3416 },\
1601 { "lock_set_destroy", 3417 },\
1602 { "semaphore_create", 3418 },\
1603 { "semaphore_destroy", 3419 },\
1604 { "task_policy_set", 3420 },\
1605 { "task_policy_get", 3421 },\
1606 { "task_sample", 3422 },\
1607 { "task_policy", 3423 },\
1608 { "task_set_emulation", 3424 },\
1609 { "task_get_emulation_vector", 3425 },\
1610 { "task_set_emulation_vector", 3426 },\
1611 { "task_set_ras_pc", 3427 },\
1612 { "task_zone_info", 3428 },\
1613 { "task_assign", 3429 },\
1614 { "task_assign_default", 3430 },\
1615 { "task_get_assignment", 3431 },\
1616 { "task_set_policy", 3432 },\
1617 { "task_get_state", 3433 },\
1618 { "task_set_state", 3434 }
1619#endif
1620
1621#ifdef __AfterMigUserHeader
1622__AfterMigUserHeader
1623#endif /* __AfterMigUserHeader */
1624
1625#endif /* _task_user_ */
1626

Archive Download this file

Revision: 2182