]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EdkModulePkg/Universal/PCD/Dxe/Service.h
Explain how to build for other architectures.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Dxe / Service.h
... / ...
CommitLineData
1/** @file\r
2Private functions used by PCD DXE driver.\r
3\r
4Copyright (c) 2006, Intel Corporation \r
5All rights reserved. This program and the accompanying materials \r
6are licensed and made available under the terms and conditions of the BSD License \r
7which accompanies this distribution. The full text of the license may be found at \r
8http://opensource.org/licenses/bsd-license.php \r
9 \r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13\r
14Module Name: Service.h\r
15\r
16**/\r
17\r
18#ifndef _SERVICE_H\r
19#define _SERVICE_H\r
20\r
21//\r
22// Please make sure the PCD Serivce PEIM Version is consistent with\r
23// the version of PCD Database generation tool\r
24//\r
25#define PCD_DXE_SERVICE_DRIVER_VERSION 1\r
26\r
27//\r
28// PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
29// and generated by PCD Database generation tool.\r
30//\r
31#if (PCD_DXE_SERVICE_PEIM_VERSION != PCD_DXE_DATABASE_GENTOOL_VERSION)\r
32 #error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"\r
33#endif\r
34\r
35\r
36typedef struct {\r
37 LIST_ENTRY Node;\r
38 PCD_PROTOCOL_CALLBACK CallbackFn;\r
39} CALLBACK_FN_ENTRY;\r
40\r
41#define CR_FNENTRY_FROM_LISTNODE(Record, Type, Field) _CR(Record, Type, Field)\r
42\r
43//\r
44// Internal Functions\r
45//\r
46\r
47EFI_STATUS\r
48SetWorker (\r
49 IN UINTN TokenNumber,\r
50 IN VOID *Data,\r
51 IN UINTN Size,\r
52 IN BOOLEAN PtrType\r
53 )\r
54;\r
55\r
56EFI_STATUS\r
57ExSetWorker (\r
58 IN UINTN ExTokenNumber,\r
59 IN CONST EFI_GUID *Guid,\r
60 VOID *Data,\r
61 UINTN Size,\r
62 BOOLEAN PtrType\r
63 )\r
64;\r
65\r
66\r
67VOID *\r
68GetWorker (\r
69 UINTN TokenNumber,\r
70 UINTN GetSize\r
71 )\r
72;\r
73\r
74VOID *\r
75ExGetWorker (\r
76 IN CONST EFI_GUID *Guid,\r
77 IN UINTN ExTokenNumber,\r
78 IN UINTN GetSize\r
79 ) \r
80;\r
81\r
82UINT32\r
83GetSkuEnabledTokenNumber (\r
84 UINT32 LocalTokenNumber,\r
85 UINTN Size,\r
86 BOOLEAN IsPeiDb\r
87 ) \r
88;\r
89\r
90EFI_STATUS\r
91GetHiiVariable (\r
92 IN EFI_GUID *VariableGuid,\r
93 IN UINT16 *VariableName,\r
94 OUT VOID **VariableData,\r
95 OUT UINTN *VariableSize\r
96 )\r
97;\r
98\r
99EFI_STATUS\r
100SetHiiVariable (\r
101 IN EFI_GUID *VariableGuid,\r
102 IN UINT16 *VariableName,\r
103 IN CONST VOID *Data,\r
104 IN UINTN DataSize,\r
105 IN UINTN Offset\r
106 )\r
107;\r
108\r
109EFI_STATUS\r
110DxeRegisterCallBackWorker (\r
111 IN UINTN TokenNumber,\r
112 IN CONST EFI_GUID *Guid, OPTIONAL\r
113 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
114);\r
115\r
116EFI_STATUS\r
117DxeUnRegisterCallBackWorker (\r
118 IN UINTN TokenNumber,\r
119 IN CONST EFI_GUID *Guid, OPTIONAL\r
120 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
121);\r
122\r
123VOID\r
124BuildPcdDxeDataBase (\r
125 VOID\r
126);\r
127\r
128\r
129UINTN \r
130GetExPcdTokenNumber (\r
131 IN CONST EFI_GUID *Guid,\r
132 IN UINT32 ExTokenNumber\r
133 )\r
134;\r
135//\r
136// Protocol Interface function declaration.\r
137//\r
138VOID\r
139EFIAPI\r
140DxePcdSetSku (\r
141 IN UINTN SkuId\r
142 )\r
143;\r
144\r
145\r
146UINT8\r
147EFIAPI\r
148DxePcdGet8 (\r
149 IN UINTN TokenNumber\r
150 )\r
151;\r
152\r
153\r
154UINT16\r
155EFIAPI\r
156DxePcdGet16 (\r
157 IN UINTN TokenNumber\r
158 )\r
159;\r
160\r
161\r
162UINT32\r
163EFIAPI\r
164DxePcdGet32 (\r
165 IN UINTN TokenNumber\r
166 )\r
167;\r
168\r
169\r
170UINT64\r
171EFIAPI\r
172DxePcdGet64 (\r
173 IN UINTN TokenNumber\r
174 )\r
175;\r
176\r
177\r
178VOID *\r
179EFIAPI\r
180DxePcdGetPtr (\r
181 IN UINTN TokenNumber\r
182 )\r
183;\r
184\r
185\r
186BOOLEAN\r
187EFIAPI\r
188DxePcdGetBool (\r
189 IN UINTN TokenNumber\r
190 )\r
191;\r
192\r
193\r
194UINTN\r
195EFIAPI\r
196DxePcdGetSize (\r
197 IN UINTN TokenNumber\r
198 )\r
199;\r
200\r
201\r
202UINT8\r
203EFIAPI\r
204DxePcdGet8Ex (\r
205 IN CONST EFI_GUID *Guid,\r
206 IN UINTN TokenNumber\r
207 )\r
208;\r
209\r
210\r
211UINT16\r
212EFIAPI\r
213DxePcdGet16Ex (\r
214 IN CONST EFI_GUID *Guid,\r
215 IN UINTN TokenNumber\r
216 )\r
217;\r
218\r
219\r
220UINT32\r
221EFIAPI\r
222DxePcdGet32Ex (\r
223 IN CONST EFI_GUID *Guid,\r
224 IN UINTN TokenNumber\r
225 )\r
226;\r
227\r
228\r
229\r
230UINT64\r
231EFIAPI\r
232DxePcdGet64Ex (\r
233 IN CONST EFI_GUID *Guid,\r
234 IN UINTN TokenNumber\r
235 )\r
236;\r
237\r
238\r
239\r
240VOID *\r
241EFIAPI\r
242DxePcdGetPtrEx (\r
243 IN CONST EFI_GUID *Guid,\r
244 IN UINTN TokenNumber\r
245 )\r
246;\r
247\r
248\r
249BOOLEAN\r
250EFIAPI\r
251DxePcdGetBoolEx (\r
252 IN CONST EFI_GUID *Guid,\r
253 IN UINTN TokenNumber\r
254 )\r
255;\r
256\r
257\r
258UINTN\r
259EFIAPI\r
260DxePcdGetSizeEx (\r
261 IN CONST EFI_GUID *Guid,\r
262 IN UINTN TokenNumber\r
263 )\r
264;\r
265\r
266\r
267EFI_STATUS\r
268EFIAPI\r
269DxePcdSet8 (\r
270 IN UINTN TokenNumber,\r
271 IN UINT8 Value\r
272 )\r
273;\r
274\r
275\r
276EFI_STATUS\r
277EFIAPI\r
278DxePcdSet16 (\r
279 IN UINTN TokenNumber,\r
280 IN UINT16 Value\r
281 )\r
282;\r
283\r
284\r
285EFI_STATUS\r
286EFIAPI\r
287DxePcdSet32 (\r
288 IN UINTN TokenNumber,\r
289 IN UINT32 Value\r
290 )\r
291;\r
292\r
293\r
294EFI_STATUS\r
295EFIAPI\r
296DxePcdSet64 (\r
297 IN UINTN TokenNumber,\r
298 IN UINT64 Value\r
299 )\r
300;\r
301\r
302\r
303EFI_STATUS\r
304EFIAPI\r
305DxePcdSetPtr (\r
306 IN UINTN TokenNumber,\r
307 IN UINTN SizeOfBuffer,\r
308 IN VOID *Buffer\r
309 )\r
310;\r
311\r
312\r
313EFI_STATUS\r
314EFIAPI\r
315DxePcdSetBool (\r
316 IN UINTN TokenNumber,\r
317 IN BOOLEAN Value\r
318 )\r
319;\r
320\r
321\r
322EFI_STATUS\r
323EFIAPI\r
324DxePcdSet8Ex (\r
325 IN CONST EFI_GUID *Guid,\r
326 IN UINTN TokenNumber,\r
327 IN UINT8 Value\r
328 )\r
329;\r
330\r
331\r
332EFI_STATUS\r
333EFIAPI\r
334DxePcdSet16Ex (\r
335 IN CONST EFI_GUID *Guid,\r
336 IN UINTN TokenNumber,\r
337 IN UINT16 Value\r
338 )\r
339;\r
340\r
341\r
342EFI_STATUS\r
343EFIAPI\r
344DxePcdSet32Ex (\r
345 IN CONST EFI_GUID *Guid,\r
346 IN UINTN TokenNumber,\r
347 IN UINT32 Value\r
348 )\r
349;\r
350\r
351\r
352EFI_STATUS\r
353EFIAPI\r
354DxePcdSet64Ex (\r
355 IN CONST EFI_GUID *Guid,\r
356 IN UINTN TokenNumber,\r
357 IN UINT64 Value\r
358 )\r
359;\r
360\r
361\r
362EFI_STATUS\r
363EFIAPI\r
364DxePcdSetPtrEx (\r
365 IN CONST EFI_GUID *Guid,\r
366 IN UINTN TokenNumber,\r
367 IN UINTN SizeOfBuffer,\r
368 IN VOID *Buffer\r
369 )\r
370;\r
371\r
372\r
373EFI_STATUS\r
374EFIAPI\r
375DxePcdSetBoolEx (\r
376 IN CONST EFI_GUID *Guid,\r
377 IN UINTN TokenNumber,\r
378 IN BOOLEAN Value\r
379 )\r
380;\r
381\r
382\r
383\r
384EFI_STATUS\r
385EFIAPI\r
386DxeRegisterCallBackOnSet (\r
387 IN UINTN TokenNumber,\r
388 IN CONST EFI_GUID *Guid, OPTIONAL\r
389 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
390 )\r
391;\r
392\r
393\r
394EFI_STATUS\r
395EFIAPI\r
396DxeUnRegisterCallBackOnSet (\r
397 IN UINTN TokenNumber,\r
398 IN CONST EFI_GUID *Guid, OPTIONAL\r
399 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
400 )\r
401;\r
402\r
403\r
404EFI_STATUS\r
405EFIAPI\r
406DxePcdGetNextToken (\r
407 IN CONST EFI_GUID *Guid, OPTIONAL\r
408 IN OUT UINTN *TokenNumber\r
409 )\r
410;\r
411\r
412UINTN \r
413ExGetNextTokeNumber (\r
414 IN CONST EFI_GUID *Guid,\r
415 IN UINTN TokenNumber,\r
416 IN EFI_GUID *GuidTable,\r
417 IN UINTN SizeOfGuidTable,\r
418 IN DYNAMICEX_MAPPING *ExMapTable,\r
419 IN UINTN SizeOfExMapTable\r
420 )\r
421;\r
422\r
423extern EFI_GUID gPcdDataBaseHobGuid;\r
424\r
425extern PCD_DATABASE * mPcdDatabase;\r
426\r
427extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit;\r
428\r
429#endif\r