Chameleon

Chameleon Svn Source Tree

Root/branches/ErmaC/Enoch_Modules/i386/include/mach/processor_set.h

1#ifndef_processor_set_user_
2#define_processor_set_user_
3
4/* Module processor_set */
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#ifndefprocessor_set_MSG_COUNT
29#defineprocessor_set_MSG_COUNT10
30#endif/* processor_set_MSG_COUNT */
31
32#include <mach/std_types.h>
33#include <mach/mig.h>
34#include <mach/mach_types.h>
35
36#ifdef __BeforeMigUserHeader
37__BeforeMigUserHeader
38#endif /* __BeforeMigUserHeader */
39
40#include <sys/cdefs.h>
41__BEGIN_DECLS
42
43
44/* Routine processor_set_statistics */
45#ifdefmig_external
46mig_external
47#else
48extern
49#endif/* mig_external */
50kern_return_t processor_set_statistics
51(
52processor_set_name_t pset,
53processor_set_flavor_t flavor,
54processor_set_info_t info_out,
55mach_msg_type_number_t *info_outCnt
56);
57
58/* Routine processor_set_destroy */
59#ifdefmig_external
60mig_external
61#else
62extern
63#endif/* mig_external */
64kern_return_t processor_set_destroy
65(
66processor_set_t set
67);
68
69/* Routine processor_set_max_priority */
70#ifdefmig_external
71mig_external
72#else
73extern
74#endif/* mig_external */
75kern_return_t processor_set_max_priority
76(
77processor_set_t processor_set,
78int max_priority,
79boolean_t change_threads
80);
81
82/* Routine processor_set_policy_enable */
83#ifdefmig_external
84mig_external
85#else
86extern
87#endif/* mig_external */
88kern_return_t processor_set_policy_enable
89(
90processor_set_t processor_set,
91int policy
92);
93
94/* Routine processor_set_policy_disable */
95#ifdefmig_external
96mig_external
97#else
98extern
99#endif/* mig_external */
100kern_return_t processor_set_policy_disable
101(
102processor_set_t processor_set,
103int policy,
104boolean_t change_threads
105);
106
107/* Routine processor_set_tasks */
108#ifdefmig_external
109mig_external
110#else
111extern
112#endif/* mig_external */
113kern_return_t processor_set_tasks
114(
115processor_set_t processor_set,
116task_array_t *task_list,
117mach_msg_type_number_t *task_listCnt
118);
119
120/* Routine processor_set_threads */
121#ifdefmig_external
122mig_external
123#else
124extern
125#endif/* mig_external */
126kern_return_t processor_set_threads
127(
128processor_set_t processor_set,
129thread_act_array_t *thread_list,
130mach_msg_type_number_t *thread_listCnt
131);
132
133/* Routine processor_set_policy_control */
134#ifdefmig_external
135mig_external
136#else
137extern
138#endif/* mig_external */
139kern_return_t processor_set_policy_control
140(
141processor_set_t pset,
142processor_set_flavor_t flavor,
143processor_set_info_t policy_info,
144mach_msg_type_number_t policy_infoCnt,
145boolean_t change
146);
147
148/* Routine processor_set_stack_usage */
149#ifdefmig_external
150mig_external
151#else
152extern
153#endif/* mig_external */
154kern_return_t processor_set_stack_usage
155(
156processor_set_t pset,
157unsigned *ltotal,
158vm_size_t *space,
159vm_size_t *resident,
160vm_size_t *maxusage,
161vm_offset_t *maxstack
162);
163
164/* Routine processor_set_info */
165#ifdefmig_external
166mig_external
167#else
168extern
169#endif/* mig_external */
170kern_return_t processor_set_info
171(
172processor_set_name_t set_name,
173int flavor,
174host_t *host,
175processor_set_info_t info_out,
176mach_msg_type_number_t *info_outCnt
177);
178
179__END_DECLS
180
181/********************** Caution **************************/
182/* The following data types should be used to calculate */
183/* maximum message sizes only. The actual message may be */
184/* smaller, and the position of the arguments within the */
185/* message layout may vary from what is presented here. */
186/* For example, if any of the arguments are variable- */
187/* sized, and less than the maximum is sent, the data */
188/* will be packed tight in the actual message to reduce */
189/* the presence of holes. */
190/********************** Caution **************************/
191
192/* typedefs for all requests */
193
194#ifndef __Request__processor_set_subsystem__defined
195#define __Request__processor_set_subsystem__defined
196
197#ifdef __MigPackStructs
198#pragma pack(4)
199#endif
200typedef struct {
201mach_msg_header_t Head;
202NDR_record_t NDR;
203processor_set_flavor_t flavor;
204mach_msg_type_number_t info_outCnt;
205} __Request__processor_set_statistics_t;
206#ifdef __MigPackStructs
207#pragma pack()
208#endif
209
210#ifdef __MigPackStructs
211#pragma pack(4)
212#endif
213typedef struct {
214mach_msg_header_t Head;
215} __Request__processor_set_destroy_t;
216#ifdef __MigPackStructs
217#pragma pack()
218#endif
219
220#ifdef __MigPackStructs
221#pragma pack(4)
222#endif
223typedef struct {
224mach_msg_header_t Head;
225NDR_record_t NDR;
226int max_priority;
227boolean_t change_threads;
228} __Request__processor_set_max_priority_t;
229#ifdef __MigPackStructs
230#pragma pack()
231#endif
232
233#ifdef __MigPackStructs
234#pragma pack(4)
235#endif
236typedef struct {
237mach_msg_header_t Head;
238NDR_record_t NDR;
239int policy;
240} __Request__processor_set_policy_enable_t;
241#ifdef __MigPackStructs
242#pragma pack()
243#endif
244
245#ifdef __MigPackStructs
246#pragma pack(4)
247#endif
248typedef struct {
249mach_msg_header_t Head;
250NDR_record_t NDR;
251int policy;
252boolean_t change_threads;
253} __Request__processor_set_policy_disable_t;
254#ifdef __MigPackStructs
255#pragma pack()
256#endif
257
258#ifdef __MigPackStructs
259#pragma pack(4)
260#endif
261typedef struct {
262mach_msg_header_t Head;
263} __Request__processor_set_tasks_t;
264#ifdef __MigPackStructs
265#pragma pack()
266#endif
267
268#ifdef __MigPackStructs
269#pragma pack(4)
270#endif
271typedef struct {
272mach_msg_header_t Head;
273} __Request__processor_set_threads_t;
274#ifdef __MigPackStructs
275#pragma pack()
276#endif
277
278#ifdef __MigPackStructs
279#pragma pack(4)
280#endif
281typedef struct {
282mach_msg_header_t Head;
283NDR_record_t NDR;
284processor_set_flavor_t flavor;
285mach_msg_type_number_t policy_infoCnt;
286integer_t policy_info[5];
287boolean_t change;
288} __Request__processor_set_policy_control_t;
289#ifdef __MigPackStructs
290#pragma pack()
291#endif
292
293#ifdef __MigPackStructs
294#pragma pack(4)
295#endif
296typedef struct {
297mach_msg_header_t Head;
298} __Request__processor_set_stack_usage_t;
299#ifdef __MigPackStructs
300#pragma pack()
301#endif
302
303#ifdef __MigPackStructs
304#pragma pack(4)
305#endif
306typedef struct {
307mach_msg_header_t Head;
308NDR_record_t NDR;
309int flavor;
310mach_msg_type_number_t info_outCnt;
311} __Request__processor_set_info_t;
312#ifdef __MigPackStructs
313#pragma pack()
314#endif
315#endif /* !__Request__processor_set_subsystem__defined */
316
317/* union of all requests */
318
319#ifndef __RequestUnion__processor_set_subsystem__defined
320#define __RequestUnion__processor_set_subsystem__defined
321union __RequestUnion__processor_set_subsystem {
322__Request__processor_set_statistics_t Request_processor_set_statistics;
323__Request__processor_set_destroy_t Request_processor_set_destroy;
324__Request__processor_set_max_priority_t Request_processor_set_max_priority;
325__Request__processor_set_policy_enable_t Request_processor_set_policy_enable;
326__Request__processor_set_policy_disable_t Request_processor_set_policy_disable;
327__Request__processor_set_tasks_t Request_processor_set_tasks;
328__Request__processor_set_threads_t Request_processor_set_threads;
329__Request__processor_set_policy_control_t Request_processor_set_policy_control;
330__Request__processor_set_stack_usage_t Request_processor_set_stack_usage;
331__Request__processor_set_info_t Request_processor_set_info;
332};
333#endif /* !__RequestUnion__processor_set_subsystem__defined */
334/* typedefs for all replies */
335
336#ifndef __Reply__processor_set_subsystem__defined
337#define __Reply__processor_set_subsystem__defined
338
339#ifdef __MigPackStructs
340#pragma pack(4)
341#endif
342typedef struct {
343mach_msg_header_t Head;
344NDR_record_t NDR;
345kern_return_t RetCode;
346mach_msg_type_number_t info_outCnt;
347integer_t info_out[5];
348} __Reply__processor_set_statistics_t;
349#ifdef __MigPackStructs
350#pragma pack()
351#endif
352
353#ifdef __MigPackStructs
354#pragma pack(4)
355#endif
356typedef struct {
357mach_msg_header_t Head;
358NDR_record_t NDR;
359kern_return_t RetCode;
360} __Reply__processor_set_destroy_t;
361#ifdef __MigPackStructs
362#pragma pack()
363#endif
364
365#ifdef __MigPackStructs
366#pragma pack(4)
367#endif
368typedef struct {
369mach_msg_header_t Head;
370NDR_record_t NDR;
371kern_return_t RetCode;
372} __Reply__processor_set_max_priority_t;
373#ifdef __MigPackStructs
374#pragma pack()
375#endif
376
377#ifdef __MigPackStructs
378#pragma pack(4)
379#endif
380typedef struct {
381mach_msg_header_t Head;
382NDR_record_t NDR;
383kern_return_t RetCode;
384} __Reply__processor_set_policy_enable_t;
385#ifdef __MigPackStructs
386#pragma pack()
387#endif
388
389#ifdef __MigPackStructs
390#pragma pack(4)
391#endif
392typedef struct {
393mach_msg_header_t Head;
394NDR_record_t NDR;
395kern_return_t RetCode;
396} __Reply__processor_set_policy_disable_t;
397#ifdef __MigPackStructs
398#pragma pack()
399#endif
400
401#ifdef __MigPackStructs
402#pragma pack(4)
403#endif
404typedef struct {
405mach_msg_header_t Head;
406/* start of the kernel processed data */
407mach_msg_body_t msgh_body;
408mach_msg_ool_ports_descriptor_t task_list;
409/* end of the kernel processed data */
410NDR_record_t NDR;
411mach_msg_type_number_t task_listCnt;
412} __Reply__processor_set_tasks_t;
413#ifdef __MigPackStructs
414#pragma pack()
415#endif
416
417#ifdef __MigPackStructs
418#pragma pack(4)
419#endif
420typedef struct {
421mach_msg_header_t Head;
422/* start of the kernel processed data */
423mach_msg_body_t msgh_body;
424mach_msg_ool_ports_descriptor_t thread_list;
425/* end of the kernel processed data */
426NDR_record_t NDR;
427mach_msg_type_number_t thread_listCnt;
428} __Reply__processor_set_threads_t;
429#ifdef __MigPackStructs
430#pragma pack()
431#endif
432
433#ifdef __MigPackStructs
434#pragma pack(4)
435#endif
436typedef struct {
437mach_msg_header_t Head;
438NDR_record_t NDR;
439kern_return_t RetCode;
440} __Reply__processor_set_policy_control_t;
441#ifdef __MigPackStructs
442#pragma pack()
443#endif
444
445#ifdef __MigPackStructs
446#pragma pack(4)
447#endif
448typedef struct {
449mach_msg_header_t Head;
450NDR_record_t NDR;
451kern_return_t RetCode;
452unsigned ltotal;
453vm_size_t space;
454vm_size_t resident;
455vm_size_t maxusage;
456vm_offset_t maxstack;
457} __Reply__processor_set_stack_usage_t;
458#ifdef __MigPackStructs
459#pragma pack()
460#endif
461
462#ifdef __MigPackStructs
463#pragma pack(4)
464#endif
465typedef struct {
466mach_msg_header_t Head;
467/* start of the kernel processed data */
468mach_msg_body_t msgh_body;
469mach_msg_port_descriptor_t host;
470/* end of the kernel processed data */
471NDR_record_t NDR;
472mach_msg_type_number_t info_outCnt;
473integer_t info_out[5];
474} __Reply__processor_set_info_t;
475#ifdef __MigPackStructs
476#pragma pack()
477#endif
478#endif /* !__Reply__processor_set_subsystem__defined */
479
480/* union of all replies */
481
482#ifndef __ReplyUnion__processor_set_subsystem__defined
483#define __ReplyUnion__processor_set_subsystem__defined
484union __ReplyUnion__processor_set_subsystem {
485__Reply__processor_set_statistics_t Reply_processor_set_statistics;
486__Reply__processor_set_destroy_t Reply_processor_set_destroy;
487__Reply__processor_set_max_priority_t Reply_processor_set_max_priority;
488__Reply__processor_set_policy_enable_t Reply_processor_set_policy_enable;
489__Reply__processor_set_policy_disable_t Reply_processor_set_policy_disable;
490__Reply__processor_set_tasks_t Reply_processor_set_tasks;
491__Reply__processor_set_threads_t Reply_processor_set_threads;
492__Reply__processor_set_policy_control_t Reply_processor_set_policy_control;
493__Reply__processor_set_stack_usage_t Reply_processor_set_stack_usage;
494__Reply__processor_set_info_t Reply_processor_set_info;
495};
496#endif /* !__RequestUnion__processor_set_subsystem__defined */
497
498#ifndef subsystem_to_name_map_processor_set
499#define subsystem_to_name_map_processor_set \
500 { "processor_set_statistics", 4000 },\
501 { "processor_set_destroy", 4001 },\
502 { "processor_set_max_priority", 4002 },\
503 { "processor_set_policy_enable", 4003 },\
504 { "processor_set_policy_disable", 4004 },\
505 { "processor_set_tasks", 4005 },\
506 { "processor_set_threads", 4006 },\
507 { "processor_set_policy_control", 4007 },\
508 { "processor_set_stack_usage", 4008 },\
509 { "processor_set_info", 4009 }
510#endif
511
512#ifdef __AfterMigUserHeader
513__AfterMigUserHeader
514#endif /* __AfterMigUserHeader */
515
516#endif /* _processor_set_user_ */
517

Archive Download this file

Revision: 2238