Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/mach/ledger.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_ledger_user_
2#define_ledger_user_
3
4/* Module ledger */
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#ifndefledger_MSG_COUNT
29#defineledger_MSG_COUNT4
30#endif/* ledger_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 ledger_create */
45#ifdefmig_external
46mig_external
47#else
48extern
49#endif/* mig_external */
50kern_return_t ledger_create
51(
52ledger_t parent_ledger,
53ledger_t ledger_ledger,
54ledger_t *new_ledger,
55ledger_item_t transfer
56);
57
58/* Routine ledger_terminate */
59#ifdefmig_external
60mig_external
61#else
62extern
63#endif/* mig_external */
64kern_return_t ledger_terminate
65(
66ledger_t ledger
67);
68
69/* Routine ledger_transfer */
70#ifdefmig_external
71mig_external
72#else
73extern
74#endif/* mig_external */
75kern_return_t ledger_transfer
76(
77ledger_t parent_ledger,
78ledger_t child_ledger,
79ledger_item_t transfer
80);
81
82/* Routine ledger_read */
83#ifdefmig_external
84mig_external
85#else
86extern
87#endif/* mig_external */
88kern_return_t ledger_read
89(
90ledger_t ledger,
91ledger_item_t *balance,
92ledger_item_t *limit
93);
94
95__END_DECLS
96
97/********************** Caution **************************/
98/* The following data types should be used to calculate */
99/* maximum message sizes only. The actual message may be */
100/* smaller, and the position of the arguments within the */
101/* message layout may vary from what is presented here. */
102/* For example, if any of the arguments are variable- */
103/* sized, and less than the maximum is sent, the data */
104/* will be packed tight in the actual message to reduce */
105/* the presence of holes. */
106/********************** Caution **************************/
107
108/* typedefs for all requests */
109
110#ifndef __Request__ledger_subsystem__defined
111#define __Request__ledger_subsystem__defined
112
113#ifdef __MigPackStructs
114#pragma pack(4)
115#endif
116typedef struct {
117mach_msg_header_t Head;
118/* start of the kernel processed data */
119mach_msg_body_t msgh_body;
120mach_msg_port_descriptor_t ledger_ledger;
121/* end of the kernel processed data */
122NDR_record_t NDR;
123ledger_item_t transfer;
124} __Request__ledger_create_t;
125#ifdef __MigPackStructs
126#pragma pack()
127#endif
128
129#ifdef __MigPackStructs
130#pragma pack(4)
131#endif
132typedef struct {
133mach_msg_header_t Head;
134} __Request__ledger_terminate_t;
135#ifdef __MigPackStructs
136#pragma pack()
137#endif
138
139#ifdef __MigPackStructs
140#pragma pack(4)
141#endif
142typedef struct {
143mach_msg_header_t Head;
144/* start of the kernel processed data */
145mach_msg_body_t msgh_body;
146mach_msg_port_descriptor_t child_ledger;
147/* end of the kernel processed data */
148NDR_record_t NDR;
149ledger_item_t transfer;
150} __Request__ledger_transfer_t;
151#ifdef __MigPackStructs
152#pragma pack()
153#endif
154
155#ifdef __MigPackStructs
156#pragma pack(4)
157#endif
158typedef struct {
159mach_msg_header_t Head;
160} __Request__ledger_read_t;
161#ifdef __MigPackStructs
162#pragma pack()
163#endif
164#endif /* !__Request__ledger_subsystem__defined */
165
166/* union of all requests */
167
168#ifndef __RequestUnion__ledger_subsystem__defined
169#define __RequestUnion__ledger_subsystem__defined
170union __RequestUnion__ledger_subsystem {
171__Request__ledger_create_t Request_ledger_create;
172__Request__ledger_terminate_t Request_ledger_terminate;
173__Request__ledger_transfer_t Request_ledger_transfer;
174__Request__ledger_read_t Request_ledger_read;
175};
176#endif /* !__RequestUnion__ledger_subsystem__defined */
177/* typedefs for all replies */
178
179#ifndef __Reply__ledger_subsystem__defined
180#define __Reply__ledger_subsystem__defined
181
182#ifdef __MigPackStructs
183#pragma pack(4)
184#endif
185typedef struct {
186mach_msg_header_t Head;
187/* start of the kernel processed data */
188mach_msg_body_t msgh_body;
189mach_msg_port_descriptor_t new_ledger;
190/* end of the kernel processed data */
191} __Reply__ledger_create_t;
192#ifdef __MigPackStructs
193#pragma pack()
194#endif
195
196#ifdef __MigPackStructs
197#pragma pack(4)
198#endif
199typedef struct {
200mach_msg_header_t Head;
201NDR_record_t NDR;
202kern_return_t RetCode;
203} __Reply__ledger_terminate_t;
204#ifdef __MigPackStructs
205#pragma pack()
206#endif
207
208#ifdef __MigPackStructs
209#pragma pack(4)
210#endif
211typedef struct {
212mach_msg_header_t Head;
213NDR_record_t NDR;
214kern_return_t RetCode;
215} __Reply__ledger_transfer_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;
226kern_return_t RetCode;
227ledger_item_t balance;
228ledger_item_t limit;
229} __Reply__ledger_read_t;
230#ifdef __MigPackStructs
231#pragma pack()
232#endif
233#endif /* !__Reply__ledger_subsystem__defined */
234
235/* union of all replies */
236
237#ifndef __ReplyUnion__ledger_subsystem__defined
238#define __ReplyUnion__ledger_subsystem__defined
239union __ReplyUnion__ledger_subsystem {
240__Reply__ledger_create_t Reply_ledger_create;
241__Reply__ledger_terminate_t Reply_ledger_terminate;
242__Reply__ledger_transfer_t Reply_ledger_transfer;
243__Reply__ledger_read_t Reply_ledger_read;
244};
245#endif /* !__RequestUnion__ledger_subsystem__defined */
246
247#ifndef subsystem_to_name_map_ledger
248#define subsystem_to_name_map_ledger \
249 { "ledger_create", 5000 },\
250 { "ledger_terminate", 5001 },\
251 { "ledger_transfer", 5002 },\
252 { "ledger_read", 5003 }
253#endif
254
255#ifdef __AfterMigUserHeader
256__AfterMigUserHeader
257#endif /* __AfterMigUserHeader */
258
259#endif /* _ledger_user_ */
260

Archive Download this file

Revision: 1146