Chameleon

Chameleon Svn Source Tree

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

Archive Download this file

Revision: 2182