Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/mach/i386/task.h

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

Archive Download this file

Revision: 1146