]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EdkModulePkg/Universal/PCD/Dxe/Service.h
BaseMemoryLib:
[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
100DxeRegisterCallBackWorker (\r
101 IN UINTN TokenNumber,\r
102 IN CONST EFI_GUID *Guid, OPTIONAL\r
103 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
104);\r
105\r
106EFI_STATUS\r
107DxeUnRegisterCallBackWorker (\r
108 IN UINTN TokenNumber,\r
109 IN CONST EFI_GUID *Guid, OPTIONAL\r
110 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
111);\r
112\r
113VOID\r
114BuildPcdDxeDataBase (\r
115 VOID\r
116);\r
117\r
118\r
119UINTN \r
120GetExPcdTokenNumber (\r
121 IN CONST EFI_GUID *Guid,\r
122 IN UINTN ExTokenNumber\r
123 )\r
124;\r
125//\r
126// Protocol Interface function declaration.\r
127//\r
128VOID\r
129EFIAPI\r
130DxePcdSetSku (\r
131 IN UINTN SkuId\r
132 )\r
133;\r
134\r
135\r
136UINT8\r
137EFIAPI\r
138DxePcdGet8 (\r
139 IN UINTN TokenNumber\r
140 )\r
141;\r
142\r
143\r
144UINT16\r
145EFIAPI\r
146DxePcdGet16 (\r
147 IN UINTN TokenNumber\r
148 )\r
149;\r
150\r
151\r
152UINT32\r
153EFIAPI\r
154DxePcdGet32 (\r
155 IN UINTN TokenNumber\r
156 )\r
157;\r
158\r
159\r
160UINT64\r
161EFIAPI\r
162DxePcdGet64 (\r
163 IN UINTN TokenNumber\r
164 )\r
165;\r
166\r
167\r
168VOID *\r
169EFIAPI\r
170DxePcdGetPtr (\r
171 IN UINTN TokenNumber\r
172 )\r
173;\r
174\r
175\r
176BOOLEAN\r
177EFIAPI\r
178DxePcdGetBool (\r
179 IN UINTN TokenNumber\r
180 )\r
181;\r
182\r
183\r
184UINTN\r
185EFIAPI\r
186DxePcdGetSize (\r
187 IN UINTN TokenNumber\r
188 )\r
189;\r
190\r
191\r
192UINT8\r
193EFIAPI\r
194DxePcdGet8Ex (\r
195 IN CONST EFI_GUID *Guid,\r
196 IN UINTN TokenNumber\r
197 )\r
198;\r
199\r
200\r
201UINT16\r
202EFIAPI\r
203DxePcdGet16Ex (\r
204 IN CONST EFI_GUID *Guid,\r
205 IN UINTN TokenNumber\r
206 )\r
207;\r
208\r
209\r
210UINT32\r
211EFIAPI\r
212DxePcdGet32Ex (\r
213 IN CONST EFI_GUID *Guid,\r
214 IN UINTN TokenNumber\r
215 )\r
216;\r
217\r
218\r
219\r
220UINT64\r
221EFIAPI\r
222DxePcdGet64Ex (\r
223 IN CONST EFI_GUID *Guid,\r
224 IN UINTN TokenNumber\r
225 )\r
226;\r
227\r
228\r
229\r
230VOID *\r
231EFIAPI\r
232DxePcdGetPtrEx (\r
233 IN CONST EFI_GUID *Guid,\r
234 IN UINTN TokenNumber\r
235 )\r
236;\r
237\r
238\r
239BOOLEAN\r
240EFIAPI\r
241DxePcdGetBoolEx (\r
242 IN CONST EFI_GUID *Guid,\r
243 IN UINTN TokenNumber\r
244 )\r
245;\r
246\r
247\r
248UINTN\r
249EFIAPI\r
250DxePcdGetSizeEx (\r
251 IN CONST EFI_GUID *Guid,\r
252 IN UINTN TokenNumber\r
253 )\r
254;\r
255\r
256\r
257EFI_STATUS\r
258EFIAPI\r
259DxePcdSet8 (\r
260 IN UINTN TokenNumber,\r
261 IN UINT8 Value\r
262 )\r
263;\r
264\r
265\r
266EFI_STATUS\r
267EFIAPI\r
268DxePcdSet16 (\r
269 IN UINTN TokenNumber,\r
270 IN UINT16 Value\r
271 )\r
272;\r
273\r
274\r
275EFI_STATUS\r
276EFIAPI\r
277DxePcdSet32 (\r
278 IN UINTN TokenNumber,\r
279 IN UINT32 Value\r
280 )\r
281;\r
282\r
283\r
284EFI_STATUS\r
285EFIAPI\r
286DxePcdSet64 (\r
287 IN UINTN TokenNumber,\r
288 IN UINT64 Value\r
289 )\r
290;\r
291\r
292\r
293EFI_STATUS\r
294EFIAPI\r
295DxePcdSetPtr (\r
296 IN UINTN TokenNumber,\r
297 IN UINTN SizeOfBuffer,\r
298 IN VOID *Buffer\r
299 )\r
300;\r
301\r
302\r
303EFI_STATUS\r
304EFIAPI\r
305DxePcdSetBool (\r
306 IN UINTN TokenNumber,\r
307 IN BOOLEAN Value\r
308 )\r
309;\r
310\r
311\r
312EFI_STATUS\r
313EFIAPI\r
314DxePcdSet8Ex (\r
315 IN CONST EFI_GUID *Guid,\r
316 IN UINTN TokenNumber,\r
317 IN UINT8 Value\r
318 )\r
319;\r
320\r
321\r
322EFI_STATUS\r
323EFIAPI\r
324DxePcdSet16Ex (\r
325 IN CONST EFI_GUID *Guid,\r
326 IN UINTN TokenNumber,\r
327 IN UINT16 Value\r
328 )\r
329;\r
330\r
331\r
332EFI_STATUS\r
333EFIAPI\r
334DxePcdSet32Ex (\r
335 IN CONST EFI_GUID *Guid,\r
336 IN UINTN TokenNumber,\r
337 IN UINT32 Value\r
338 )\r
339;\r
340\r
341\r
342EFI_STATUS\r
343EFIAPI\r
344DxePcdSet64Ex (\r
345 IN CONST EFI_GUID *Guid,\r
346 IN UINTN TokenNumber,\r
347 IN UINT64 Value\r
348 )\r
349;\r
350\r
351\r
352EFI_STATUS\r
353EFIAPI\r
354DxePcdSetPtrEx (\r
355 IN CONST EFI_GUID *Guid,\r
356 IN UINTN TokenNumber,\r
357 IN UINTN SizeOfBuffer,\r
358 IN VOID *Buffer\r
359 )\r
360;\r
361\r
362\r
363EFI_STATUS\r
364EFIAPI\r
365DxePcdSetBoolEx (\r
366 IN CONST EFI_GUID *Guid,\r
367 IN UINTN TokenNumber,\r
368 IN BOOLEAN Value\r
369 )\r
370;\r
371\r
372\r
373\r
374EFI_STATUS\r
375EFIAPI\r
376DxeRegisterCallBackOnSet (\r
377 IN UINTN TokenNumber,\r
378 IN CONST EFI_GUID *Guid, OPTIONAL\r
379 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
380 )\r
381;\r
382\r
383\r
384EFI_STATUS\r
385EFIAPI\r
386DxeUnRegisterCallBackOnSet (\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
396DxePcdGetNextToken (\r
397 IN CONST EFI_GUID *Guid, OPTIONAL\r
398 IN OUT UINTN *TokenNumber\r
399 )\r
400;\r
401\r
402UINTN \r
403ExGetNextTokeNumber (\r
404 IN CONST EFI_GUID *Guid,\r
405 IN UINTN TokenNumber,\r
406 IN EFI_GUID *GuidTable,\r
407 IN UINTN SizeOfGuidTable,\r
408 IN DYNAMICEX_MAPPING *ExMapTable,\r
409 IN UINTN SizeOfExMapTable\r
410 )\r
411;\r
412\r
413extern EFI_GUID gPcdDataBaseHobGuid;\r
414\r
415extern PCD_DATABASE * mPcdDatabase;\r
416\r
417extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit;\r
418\r
419#endif\r