]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/PCD/Dxe/Service.h
Updated modules to not depend on the IntelFrameworkPkg.
[mirror_edk2.git] / MdeModulePkg / Universal / PCD / Dxe / Service.h
CommitLineData
80408db0 1/** @file\r
2Private functions used by PCD DXE driver.\r
3\r
4Copyright (c) 2006 - 2007, 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// Include common header file for this module.\r
23//\r
24#include "CommonHeader.h"\r
25\r
26//\r
27// Please make sure the PCD Serivce PEIM Version is consistent with\r
28// the version of PCD Database generation tool\r
29//\r
30#define PCD_SERVICE_DXE_DRIVER_VERSION 2\r
31\r
32//\r
33// PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
34// and generated by PCD Database generation tool.\r
35//\r
36#if (PCD_SERVICE_DXE_DRIVER_VERSION != PCD_DXE_SERVICE_DRIVER_AUTOGEN_VERSION)\r
be82f9ff 37// #error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"\r
80408db0 38#endif\r
39\r
40//\r
41// Protocol Interface function declaration.\r
42//\r
43VOID\r
44EFIAPI\r
45DxePcdSetSku (\r
46 IN UINTN SkuId\r
47 )\r
48;\r
49\r
50\r
51UINT8\r
52EFIAPI\r
53DxePcdGet8 (\r
54 IN UINTN TokenNumber\r
55 )\r
56;\r
57\r
58\r
59UINT16\r
60EFIAPI\r
61DxePcdGet16 (\r
62 IN UINTN TokenNumber\r
63 )\r
64;\r
65\r
66\r
67UINT32\r
68EFIAPI\r
69DxePcdGet32 (\r
70 IN UINTN TokenNumber\r
71 )\r
72;\r
73\r
74\r
75UINT64\r
76EFIAPI\r
77DxePcdGet64 (\r
78 IN UINTN TokenNumber\r
79 )\r
80;\r
81\r
82\r
83VOID *\r
84EFIAPI\r
85DxePcdGetPtr (\r
86 IN UINTN TokenNumber\r
87 )\r
88;\r
89\r
90\r
91BOOLEAN\r
92EFIAPI\r
93DxePcdGetBool (\r
94 IN UINTN TokenNumber\r
95 )\r
96;\r
97\r
98\r
99UINTN\r
100EFIAPI\r
101DxePcdGetSize (\r
102 IN UINTN TokenNumber\r
103 )\r
104;\r
105\r
106\r
107UINT8\r
108EFIAPI\r
109DxePcdGet8Ex (\r
110 IN CONST EFI_GUID *Guid,\r
111 IN UINTN TokenNumber\r
112 )\r
113;\r
114\r
115\r
116UINT16\r
117EFIAPI\r
118DxePcdGet16Ex (\r
119 IN CONST EFI_GUID *Guid,\r
120 IN UINTN TokenNumber\r
121 )\r
122;\r
123\r
124\r
125UINT32\r
126EFIAPI\r
127DxePcdGet32Ex (\r
128 IN CONST EFI_GUID *Guid,\r
129 IN UINTN TokenNumber\r
130 )\r
131;\r
132\r
133\r
134\r
135UINT64\r
136EFIAPI\r
137DxePcdGet64Ex (\r
138 IN CONST EFI_GUID *Guid,\r
139 IN UINTN TokenNumber\r
140 )\r
141;\r
142\r
143\r
144\r
145VOID *\r
146EFIAPI\r
147DxePcdGetPtrEx (\r
148 IN CONST EFI_GUID *Guid,\r
149 IN UINTN TokenNumber\r
150 )\r
151;\r
152\r
153\r
154BOOLEAN\r
155EFIAPI\r
156DxePcdGetBoolEx (\r
157 IN CONST EFI_GUID *Guid,\r
158 IN UINTN TokenNumber\r
159 )\r
160;\r
161\r
162\r
163UINTN\r
164EFIAPI\r
165DxePcdGetSizeEx (\r
166 IN CONST EFI_GUID *Guid,\r
167 IN UINTN TokenNumber\r
168 )\r
169;\r
170\r
171\r
172EFI_STATUS\r
173EFIAPI\r
174DxePcdSet8 (\r
175 IN UINTN TokenNumber,\r
176 IN UINT8 Value\r
177 )\r
178;\r
179\r
180\r
181EFI_STATUS\r
182EFIAPI\r
183DxePcdSet16 (\r
184 IN UINTN TokenNumber,\r
185 IN UINT16 Value\r
186 )\r
187;\r
188\r
189\r
190EFI_STATUS\r
191EFIAPI\r
192DxePcdSet32 (\r
193 IN UINTN TokenNumber,\r
194 IN UINT32 Value\r
195 )\r
196;\r
197\r
198\r
199EFI_STATUS\r
200EFIAPI\r
201DxePcdSet64 (\r
202 IN UINTN TokenNumber,\r
203 IN UINT64 Value\r
204 )\r
205;\r
206\r
207\r
208EFI_STATUS\r
209EFIAPI\r
210DxePcdSetPtr (\r
211 IN UINTN TokenNumber,\r
212 IN UINTN *SizeOfBuffer,\r
213 IN VOID *Buffer\r
214 )\r
215;\r
216\r
217\r
218EFI_STATUS\r
219EFIAPI\r
220DxePcdSetBool (\r
221 IN UINTN TokenNumber,\r
222 IN BOOLEAN Value\r
223 )\r
224;\r
225\r
226\r
227EFI_STATUS\r
228EFIAPI\r
229DxePcdSet8Ex (\r
230 IN CONST EFI_GUID *Guid,\r
231 IN UINTN TokenNumber,\r
232 IN UINT8 Value\r
233 )\r
234;\r
235\r
236\r
237EFI_STATUS\r
238EFIAPI\r
239DxePcdSet16Ex (\r
240 IN CONST EFI_GUID *Guid,\r
241 IN UINTN TokenNumber,\r
242 IN UINT16 Value\r
243 )\r
244;\r
245\r
246\r
247EFI_STATUS\r
248EFIAPI\r
249DxePcdSet32Ex (\r
250 IN CONST EFI_GUID *Guid,\r
251 IN UINTN TokenNumber,\r
252 IN UINT32 Value\r
253 )\r
254;\r
255\r
256\r
257EFI_STATUS\r
258EFIAPI\r
259DxePcdSet64Ex (\r
260 IN CONST EFI_GUID *Guid,\r
261 IN UINTN TokenNumber,\r
262 IN UINT64 Value\r
263 )\r
264;\r
265\r
266\r
267EFI_STATUS\r
268EFIAPI\r
269DxePcdSetPtrEx (\r
270 IN CONST EFI_GUID *Guid,\r
271 IN UINTN TokenNumber,\r
272 IN OUT UINTN *SizeOfBuffer,\r
273 IN VOID *Buffer\r
274 )\r
275;\r
276\r
277\r
278EFI_STATUS\r
279EFIAPI\r
280DxePcdSetBoolEx (\r
281 IN CONST EFI_GUID *Guid,\r
282 IN UINTN TokenNumber,\r
283 IN BOOLEAN Value\r
284 )\r
285;\r
286\r
287\r
288\r
289EFI_STATUS\r
290EFIAPI\r
291DxeRegisterCallBackOnSet (\r
292 IN CONST EFI_GUID *Guid, OPTIONAL\r
293 IN UINTN TokenNumber,\r
294 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
295 )\r
296;\r
297\r
298\r
299EFI_STATUS\r
300EFIAPI\r
301DxeUnRegisterCallBackOnSet (\r
302 IN CONST EFI_GUID *Guid, OPTIONAL\r
303 IN UINTN TokenNumber,\r
304 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
305 )\r
306;\r
307\r
308\r
309EFI_STATUS\r
310EFIAPI\r
311DxePcdGetNextToken (\r
312 IN CONST EFI_GUID *Guid, OPTIONAL\r
313 IN OUT UINTN *TokenNumber\r
314 )\r
315;\r
316\r
317\r
318\r
319EFI_STATUS\r
320EFIAPI\r
321DxePcdGetNextTokenSpace (\r
322 IN OUT CONST EFI_GUID **Guid\r
323 )\r
324;\r
325\r
326\r
327typedef struct {\r
328 LIST_ENTRY Node;\r
329 PCD_PROTOCOL_CALLBACK CallbackFn;\r
330} CALLBACK_FN_ENTRY;\r
331\r
332#define CR_FNENTRY_FROM_LISTNODE(Record, Type, Field) _CR(Record, Type, Field)\r
333\r
334//\r
335// Internal Functions\r
336//\r
337\r
338EFI_STATUS\r
339SetValueWorker (\r
340 IN UINTN TokenNumber,\r
341 IN VOID *Data,\r
342 IN UINTN Size\r
343 )\r
344;\r
345\r
346EFI_STATUS\r
347SetWorker (\r
348 IN UINTN TokenNumber,\r
349 IN VOID *Data,\r
350 IN OUT UINTN *Size,\r
351 IN BOOLEAN PtrType\r
352 )\r
353;\r
354\r
355\r
356EFI_STATUS\r
357ExSetValueWorker (\r
358 IN UINTN ExTokenNumber,\r
359 IN CONST EFI_GUID *Guid,\r
360 IN VOID *Data,\r
361 IN UINTN SetSize\r
362 )\r
363;\r
364\r
365\r
366\r
367EFI_STATUS\r
368ExSetWorker (\r
369 IN UINTN ExTokenNumber,\r
370 IN CONST EFI_GUID *Guid,\r
371 IN VOID *Data,\r
372 IN OUT UINTN *Size,\r
373 IN BOOLEAN PtrType\r
374 )\r
375;\r
376\r
377\r
378VOID *\r
379GetWorker (\r
380 IN UINTN TokenNumber,\r
381 IN UINTN GetSize\r
382 )\r
383;\r
384\r
385VOID *\r
386ExGetWorker (\r
387 IN CONST EFI_GUID *Guid,\r
388 IN UINTN ExTokenNumber,\r
389 IN UINTN GetSize\r
390 ) \r
391;\r
392\r
393UINT32\r
394GetSkuEnabledTokenNumber (\r
395 UINT32 LocalTokenNumber,\r
396 UINTN Size,\r
397 BOOLEAN IsPeiDb\r
398 ) \r
399;\r
400\r
401EFI_STATUS\r
402GetHiiVariable (\r
403 IN EFI_GUID *VariableGuid,\r
404 IN UINT16 *VariableName,\r
405 OUT UINT8 **VariableData,\r
406 OUT UINTN *VariableSize\r
407 )\r
408;\r
409\r
410EFI_STATUS\r
411SetHiiVariable (\r
412 IN EFI_GUID *VariableGuid,\r
413 IN UINT16 *VariableName,\r
414 IN CONST VOID *Data,\r
415 IN UINTN DataSize,\r
416 IN UINTN Offset\r
417 )\r
418;\r
419\r
420EFI_STATUS\r
421DxeRegisterCallBackWorker (\r
422 IN UINTN TokenNumber,\r
423 IN CONST EFI_GUID *Guid, OPTIONAL\r
424 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
425);\r
426\r
427EFI_STATUS\r
428DxeUnRegisterCallBackWorker (\r
429 IN UINTN TokenNumber,\r
430 IN CONST EFI_GUID *Guid, OPTIONAL\r
431 IN PCD_PROTOCOL_CALLBACK CallBackFunction\r
432);\r
433\r
434VOID\r
435BuildPcdDxeDataBase (\r
436 VOID\r
437);\r
438\r
439\r
440UINTN \r
441GetExPcdTokenNumber (\r
442 IN CONST EFI_GUID *Guid,\r
443 IN UINT32 ExTokenNumber\r
444 )\r
445;\r
446\r
447\r
448\r
449EFI_STATUS \r
450ExGetNextTokeNumber (\r
451 IN CONST EFI_GUID *Guid,\r
452 IN OUT UINTN *TokenNumber,\r
453 IN EFI_GUID *GuidTable,\r
454 IN UINTN SizeOfGuidTable,\r
455 IN DYNAMICEX_MAPPING *ExMapTable,\r
456 IN UINTN SizeOfExMapTable\r
457 )\r
458;\r
459\r
460\r
461UINTN\r
462GetPtrTypeSize (\r
463 IN UINTN LocalTokenNumberTableIdx,\r
464 OUT UINTN *MaxSize\r
465 )\r
466;\r
467\r
468\r
469\r
470BOOLEAN\r
471SetPtrTypeSize (\r
472 IN UINTN LocalTokenNumberTableIdx,\r
473 IN OUT UINTN *CurrentSize\r
474 )\r
475;\r
476\r
477extern EFI_GUID gPcdDataBaseHobGuid;\r
478\r
479extern PCD_DATABASE * mPcdDatabase;\r
480\r
481extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit;\r
482\r
483extern EFI_LOCK mPcdDatabaseLock;\r
484\r
485#endif\r