]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/PCD/Dxe/Service.h
Explain how to build for other architectures.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Dxe / Service.h
CommitLineData
878ddf1f 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
52e1905d 21//\r
4acf8ce7 22// Please make sure the PCD Serivce PEIM Version is consistent with\r
23// the version of PCD Database generation tool\r
52e1905d 24//\r
4acf8ce7 25#define PCD_DXE_SERVICE_DRIVER_VERSION 1\r
52e1905d 26\r
27//\r
4acf8ce7 28// PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
29// and generated by PCD Database generation tool.\r
52e1905d 30//\r
4acf8ce7 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
52e1905d 33#endif\r
34\r
4c114006 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
52e1905d 43//\r
44// Internal Functions\r
45//\r
46\r
47EFI_STATUS\r
48SetWorker (\r
8a43e8dd 49 IN UINTN TokenNumber,\r
0653eb89 50 IN VOID *Data,\r
51 IN UINTN Size,\r
52 IN BOOLEAN PtrType\r
52e1905d 53 )\r
54;\r
55\r
56EFI_STATUS\r
57ExSetWorker (\r
8a43e8dd 58 IN UINTN ExTokenNumber,\r
52e1905d 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
8a43e8dd 69 UINTN TokenNumber,\r
9d6d8b24 70 UINTN GetSize\r
52e1905d 71 )\r
72;\r
73\r
74VOID *\r
75ExGetWorker (\r
76 IN CONST EFI_GUID *Guid,\r
8a43e8dd 77 IN UINTN ExTokenNumber,\r
52e1905d 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
0653eb89 94 OUT VOID **VariableData,\r
52e1905d 95 OUT UINTN *VariableSize\r
96 )\r
97;\r
878ddf1f 98\r
c0e96fed 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
878ddf1f 109EFI_STATUS\r
110DxeRegisterCallBackWorker (\r
8a43e8dd 111 IN UINTN TokenNumber,\r
4c114006 112 IN CONST EFI_GUID *Guid, OPTIONAL\r
113 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
878ddf1f 114);\r
115\r
878ddf1f 116EFI_STATUS\r
4c114006 117DxeUnRegisterCallBackWorker (\r
8a43e8dd 118 IN UINTN TokenNumber,\r
4c114006 119 IN CONST EFI_GUID *Guid, OPTIONAL\r
120 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
121);\r
878ddf1f 122\r
123VOID\r
52e1905d 124BuildPcdDxeDataBase (\r
878ddf1f 125 VOID\r
126);\r
127\r
52e1905d 128\r
8a43e8dd 129UINTN \r
9d6d8b24 130GetExPcdTokenNumber (\r
52e1905d 131 IN CONST EFI_GUID *Guid,\r
4f242357 132 IN UINT32 ExTokenNumber\r
52e1905d 133 )\r
134;\r
878ddf1f 135//\r
136// Protocol Interface function declaration.\r
137//\r
00b7af13 138VOID\r
878ddf1f 139EFIAPI\r
140DxePcdSetSku (\r
8a43e8dd 141 IN UINTN SkuId\r
878ddf1f 142 )\r
143;\r
144\r
145\r
146UINT8\r
147EFIAPI\r
148DxePcdGet8 (\r
8a43e8dd 149 IN UINTN TokenNumber\r
878ddf1f 150 )\r
151;\r
152\r
153\r
154UINT16\r
155EFIAPI\r
156DxePcdGet16 (\r
8a43e8dd 157 IN UINTN TokenNumber\r
878ddf1f 158 )\r
159;\r
160\r
161\r
162UINT32\r
163EFIAPI\r
164DxePcdGet32 (\r
8a43e8dd 165 IN UINTN TokenNumber\r
878ddf1f 166 )\r
167;\r
168\r
169\r
170UINT64\r
171EFIAPI\r
172DxePcdGet64 (\r
8a43e8dd 173 IN UINTN TokenNumber\r
878ddf1f 174 )\r
175;\r
176\r
177\r
178VOID *\r
179EFIAPI\r
180DxePcdGetPtr (\r
8a43e8dd 181 IN UINTN TokenNumber\r
878ddf1f 182 )\r
183;\r
184\r
185\r
186BOOLEAN\r
187EFIAPI\r
188DxePcdGetBool (\r
8a43e8dd 189 IN UINTN TokenNumber\r
878ddf1f 190 )\r
191;\r
192\r
193\r
194UINTN\r
195EFIAPI\r
196DxePcdGetSize (\r
8a43e8dd 197 IN UINTN TokenNumber\r
878ddf1f 198 )\r
199;\r
200\r
201\r
202UINT8\r
203EFIAPI\r
204DxePcdGet8Ex (\r
205 IN CONST EFI_GUID *Guid,\r
8a43e8dd 206 IN UINTN TokenNumber\r
878ddf1f 207 )\r
208;\r
209\r
210\r
211UINT16\r
212EFIAPI\r
213DxePcdGet16Ex (\r
214 IN CONST EFI_GUID *Guid,\r
8a43e8dd 215 IN UINTN TokenNumber\r
878ddf1f 216 )\r
217;\r
218\r
219\r
220UINT32\r
221EFIAPI\r
222DxePcdGet32Ex (\r
223 IN CONST EFI_GUID *Guid,\r
8a43e8dd 224 IN UINTN TokenNumber\r
878ddf1f 225 )\r
226;\r
227\r
228\r
229\r
230UINT64\r
231EFIAPI\r
232DxePcdGet64Ex (\r
233 IN CONST EFI_GUID *Guid,\r
8a43e8dd 234 IN UINTN TokenNumber\r
878ddf1f 235 )\r
236;\r
237\r
238\r
239\r
240VOID *\r
241EFIAPI\r
242DxePcdGetPtrEx (\r
243 IN CONST EFI_GUID *Guid,\r
8a43e8dd 244 IN UINTN TokenNumber\r
878ddf1f 245 )\r
246;\r
247\r
248\r
249BOOLEAN\r
250EFIAPI\r
251DxePcdGetBoolEx (\r
252 IN CONST EFI_GUID *Guid,\r
8a43e8dd 253 IN UINTN TokenNumber\r
878ddf1f 254 )\r
255;\r
256\r
257\r
258UINTN\r
259EFIAPI\r
260DxePcdGetSizeEx (\r
261 IN CONST EFI_GUID *Guid,\r
8a43e8dd 262 IN UINTN TokenNumber\r
878ddf1f 263 )\r
264;\r
265\r
266\r
267EFI_STATUS\r
268EFIAPI\r
269DxePcdSet8 (\r
8a43e8dd 270 IN UINTN TokenNumber,\r
878ddf1f 271 IN UINT8 Value\r
272 )\r
273;\r
274\r
275\r
276EFI_STATUS\r
277EFIAPI\r
278DxePcdSet16 (\r
8a43e8dd 279 IN UINTN TokenNumber,\r
878ddf1f 280 IN UINT16 Value\r
281 )\r
282;\r
283\r
284\r
285EFI_STATUS\r
286EFIAPI\r
287DxePcdSet32 (\r
8a43e8dd 288 IN UINTN TokenNumber,\r
878ddf1f 289 IN UINT32 Value\r
290 )\r
291;\r
292\r
293\r
294EFI_STATUS\r
295EFIAPI\r
296DxePcdSet64 (\r
8a43e8dd 297 IN UINTN TokenNumber,\r
878ddf1f 298 IN UINT64 Value\r
299 )\r
300;\r
301\r
302\r
303EFI_STATUS\r
304EFIAPI\r
305DxePcdSetPtr (\r
8a43e8dd 306 IN UINTN TokenNumber,\r
00b7af13 307 IN UINTN SizeOfBuffer,\r
308 IN VOID *Buffer\r
878ddf1f 309 )\r
310;\r
311\r
312\r
313EFI_STATUS\r
314EFIAPI\r
315DxePcdSetBool (\r
8a43e8dd 316 IN UINTN TokenNumber,\r
878ddf1f 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
8a43e8dd 326 IN UINTN TokenNumber,\r
878ddf1f 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
8a43e8dd 336 IN UINTN TokenNumber,\r
878ddf1f 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
8a43e8dd 346 IN UINTN TokenNumber,\r
878ddf1f 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
8a43e8dd 356 IN UINTN TokenNumber,\r
878ddf1f 357 IN UINT64 Value\r
358 )\r
359;\r
360\r
361\r
362EFI_STATUS\r
363EFIAPI\r
364DxePcdSetPtrEx (\r
00b7af13 365 IN CONST EFI_GUID *Guid,\r
8a43e8dd 366 IN UINTN TokenNumber,\r
00b7af13 367 IN UINTN SizeOfBuffer,\r
368 IN VOID *Buffer\r
878ddf1f 369 )\r
370;\r
371\r
372\r
373EFI_STATUS\r
374EFIAPI\r
375DxePcdSetBoolEx (\r
4c114006 376 IN CONST EFI_GUID *Guid,\r
8a43e8dd 377 IN UINTN TokenNumber,\r
878ddf1f 378 IN BOOLEAN Value\r
379 )\r
380;\r
381\r
382\r
383\r
384EFI_STATUS\r
385EFIAPI\r
4c114006 386DxeRegisterCallBackOnSet (\r
8a43e8dd 387 IN UINTN TokenNumber,\r
4c114006 388 IN CONST EFI_GUID *Guid, OPTIONAL\r
878ddf1f 389 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
390 )\r
391;\r
392\r
393\r
394EFI_STATUS\r
395EFIAPI\r
4c114006 396DxeUnRegisterCallBackOnSet (\r
8a43e8dd 397 IN UINTN TokenNumber,\r
00b7af13 398 IN CONST EFI_GUID *Guid, OPTIONAL\r
878ddf1f 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
8a43e8dd 408 IN OUT UINTN *TokenNumber\r
878ddf1f 409 )\r
410;\r
411\r
8a43e8dd 412UINTN \r
4c114006 413ExGetNextTokeNumber (\r
414 IN CONST EFI_GUID *Guid,\r
8a43e8dd 415 IN UINTN TokenNumber,\r
4c114006 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
52e1905d 423extern EFI_GUID gPcdDataBaseHobGuid;\r
878ddf1f 424\r
4c114006 425extern PCD_DATABASE * mPcdDatabase;\r
878ddf1f 426\r
52e1905d 427extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit;\r
878ddf1f 428\r
429#endif\r