]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EdkModulePkg/Universal/PCD/Pei/Service.h
Refine some internal functions of PCD Driver.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Pei / Service.h
... / ...
CommitLineData
1/** @file\r
2Private functions used by PCD PEIM.\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_PEI_SERVICE_DRIVER_VERSION 1\r
26\r
27//\r
28// PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
29// and generated by PCD Database generation tool.\r
30//\r
31#if (PCD_PEI_SERVICE_PEIM_VERSION != PCD_PEI_DATABASE_GENTOOL_VERSION)\r
32 #error "Please make sure the version of PCD Service PEIM and PCD PEI Database Generation Tool matches"\r
33#endif\r
34\r
35/* Internal Function definitions */\r
36\r
37PEI_PCD_DATABASE *\r
38GetPcdDatabase (\r
39 VOID\r
40 )\r
41;\r
42\r
43EFI_STATUS\r
44SetWorker (\r
45 IN PCD_TOKEN_NUMBER TokenNumber,\r
46 IN VOID *Data,\r
47 IN UINTN Size,\r
48 IN BOOLEAN PtrType\r
49 )\r
50;\r
51\r
52EFI_STATUS\r
53ExSetWorker (\r
54 IN PCD_TOKEN_NUMBER ExTokenNumber,\r
55 IN CONST EFI_GUID *Guid,\r
56 IN VOID *Data,\r
57 IN UINTN Size,\r
58 IN BOOLEAN PtrType\r
59 )\r
60;\r
61\r
62VOID *\r
63GetWorker (\r
64 IN PCD_TOKEN_NUMBER TokenNumber,\r
65 IN UINTN GetSize\r
66 )\r
67;\r
68\r
69VOID *\r
70ExGetWorker (\r
71 IN CONST EFI_GUID *Guid,\r
72 IN PCD_TOKEN_NUMBER ExTokenNumber,\r
73 IN UINTN GetSize\r
74 )\r
75;\r
76\r
77typedef struct {\r
78 UINTN TokenNumber;\r
79 UINTN Size;\r
80 UINT32 LocalTokenNumberAlias;\r
81} EX_PCD_ENTRY_ATTRIBUTE;\r
82\r
83\r
84PCD_TOKEN_NUMBER\r
85GetExPcdTokenNumber (\r
86 IN CONST EFI_GUID *Guid,\r
87 IN PCD_TOKEN_NUMBER ExTokenNumber\r
88 )\r
89;\r
90\r
91\r
92\r
93\r
94EFI_STATUS\r
95PeiRegisterCallBackWorker (\r
96 IN PCD_TOKEN_NUMBER TokenNumber,\r
97 IN CONST GUID *Guid, OPTIONAL\r
98 IN PCD_PPI_CALLBACK CallBackFunction,\r
99 IN BOOLEAN Register\r
100);\r
101\r
102\r
103\r
104\r
105VOID\r
106BuildPcdDatabase (\r
107 VOID\r
108 )\r
109;\r
110\r
111\r
112//\r
113// PPI Interface Implementation Declaration.\r
114//\r
115VOID\r
116EFIAPI\r
117PeiPcdSetSku (\r
118 IN SKU_ID SkuId\r
119 )\r
120;\r
121\r
122\r
123UINT8\r
124EFIAPI\r
125PeiPcdGet8 (\r
126 IN PCD_TOKEN_NUMBER TokenNumber\r
127 )\r
128;\r
129\r
130\r
131UINT16\r
132EFIAPI\r
133PeiPcdGet16 (\r
134 IN PCD_TOKEN_NUMBER TokenNumber\r
135 )\r
136;\r
137\r
138\r
139UINT32\r
140EFIAPI\r
141PeiPcdGet32 (\r
142 IN PCD_TOKEN_NUMBER TokenNumber\r
143 )\r
144;\r
145\r
146\r
147UINT64\r
148EFIAPI\r
149PeiPcdGet64 (\r
150 IN PCD_TOKEN_NUMBER TokenNumber\r
151 )\r
152;\r
153\r
154\r
155VOID *\r
156EFIAPI\r
157PeiPcdGetPtr (\r
158 IN PCD_TOKEN_NUMBER TokenNumber\r
159 )\r
160;\r
161\r
162\r
163BOOLEAN\r
164EFIAPI\r
165PeiPcdGetBool (\r
166 IN PCD_TOKEN_NUMBER TokenNumber\r
167 )\r
168;\r
169\r
170\r
171UINTN\r
172EFIAPI\r
173PeiPcdGetSize (\r
174 IN PCD_TOKEN_NUMBER TokenNumber\r
175 )\r
176;\r
177\r
178\r
179UINT8\r
180EFIAPI\r
181PeiPcdGet8Ex (\r
182 IN CONST EFI_GUID *Guid,\r
183 IN PCD_TOKEN_NUMBER TokenNumber\r
184 )\r
185;\r
186\r
187\r
188UINT16\r
189EFIAPI\r
190PeiPcdGet16Ex (\r
191 IN CONST EFI_GUID *Guid,\r
192 IN PCD_TOKEN_NUMBER TokenNumber\r
193 )\r
194;\r
195\r
196UINT32\r
197EFIAPI\r
198PeiPcdGet32Ex (\r
199 IN CONST EFI_GUID *Guid,\r
200 IN PCD_TOKEN_NUMBER TokenNumber\r
201 )\r
202;\r
203\r
204\r
205UINT64\r
206EFIAPI\r
207PeiPcdGet64Ex (\r
208 IN CONST EFI_GUID *Guid,\r
209 IN PCD_TOKEN_NUMBER TokenNumber\r
210 )\r
211;\r
212\r
213\r
214VOID *\r
215EFIAPI\r
216PeiPcdGetPtrEx (\r
217 IN CONST EFI_GUID *Guid,\r
218 IN PCD_TOKEN_NUMBER TokenNumber\r
219 )\r
220;\r
221\r
222\r
223BOOLEAN\r
224EFIAPI\r
225PeiPcdGetBoolEx (\r
226 IN CONST EFI_GUID *Guid,\r
227 IN PCD_TOKEN_NUMBER TokenNumber\r
228 )\r
229;\r
230\r
231\r
232UINTN\r
233EFIAPI\r
234PeiPcdGetSizeEx (\r
235 IN CONST EFI_GUID *Guid,\r
236 IN PCD_TOKEN_NUMBER TokenNumber\r
237 )\r
238;\r
239\r
240\r
241EFI_STATUS\r
242EFIAPI\r
243PeiPcdSet8 (\r
244 IN PCD_TOKEN_NUMBER TokenNumber,\r
245 IN UINT8 Value\r
246 )\r
247;\r
248\r
249\r
250EFI_STATUS\r
251EFIAPI\r
252PeiPcdSet16 (\r
253 IN PCD_TOKEN_NUMBER TokenNumber,\r
254 IN UINT16 Value\r
255 )\r
256;\r
257\r
258\r
259EFI_STATUS\r
260EFIAPI\r
261PeiPcdSet32 (\r
262 IN PCD_TOKEN_NUMBER TokenNumber,\r
263 IN UINT32 Value\r
264 )\r
265;\r
266\r
267\r
268EFI_STATUS\r
269EFIAPI\r
270PeiPcdSet64 (\r
271 IN PCD_TOKEN_NUMBER TokenNumber,\r
272 IN UINT64 Value\r
273 )\r
274;\r
275\r
276EFI_STATUS\r
277EFIAPI\r
278PeiPcdSetPtr (\r
279 IN PCD_TOKEN_NUMBER TokenNumber,\r
280 IN UINTN SizeOfBuffer,\r
281 IN VOID *Buffer\r
282 )\r
283;\r
284\r
285\r
286EFI_STATUS\r
287EFIAPI\r
288PeiPcdSetBool (\r
289 IN PCD_TOKEN_NUMBER TokenNumber,\r
290 IN BOOLEAN Value\r
291 )\r
292;\r
293\r
294\r
295EFI_STATUS\r
296EFIAPI\r
297PeiPcdSet8Ex (\r
298 IN CONST EFI_GUID *Guid,\r
299 IN PCD_TOKEN_NUMBER TokenNumber,\r
300 IN UINT8 Value\r
301 )\r
302;\r
303\r
304EFI_STATUS\r
305EFIAPI\r
306PeiPcdSet16Ex (\r
307 IN CONST EFI_GUID *Guid,\r
308 IN PCD_TOKEN_NUMBER TokenNumber,\r
309 IN UINT16 Value\r
310 )\r
311;\r
312\r
313\r
314EFI_STATUS\r
315EFIAPI\r
316PeiPcdSet32Ex (\r
317 IN CONST EFI_GUID *Guid,\r
318 IN PCD_TOKEN_NUMBER TokenNumber,\r
319 IN UINT32 Value\r
320 )\r
321;\r
322\r
323\r
324EFI_STATUS\r
325EFIAPI\r
326PeiPcdSet64Ex (\r
327 IN CONST EFI_GUID *Guid,\r
328 IN PCD_TOKEN_NUMBER TokenNumber,\r
329 IN UINT64 Value\r
330 )\r
331;\r
332\r
333\r
334EFI_STATUS\r
335EFIAPI\r
336PeiPcdSetPtrEx (\r
337 IN CONST EFI_GUID *Guid,\r
338 IN PCD_TOKEN_NUMBER TokenNumber,\r
339 IN UINTN SizeOfBuffer,\r
340 IN VOID *Buffer\r
341 )\r
342;\r
343\r
344\r
345EFI_STATUS\r
346EFIAPI\r
347PeiPcdSetBoolEx (\r
348 IN CONST EFI_GUID *Guid,\r
349 IN PCD_TOKEN_NUMBER TokenNumber,\r
350 IN BOOLEAN Value\r
351 )\r
352;\r
353\r
354\r
355\r
356EFI_STATUS\r
357EFIAPI\r
358PeiRegisterCallBackOnSet (\r
359 IN PCD_TOKEN_NUMBER TokenNumber,\r
360 IN CONST EFI_GUID *Guid, OPTIONAL\r
361 IN PCD_PPI_CALLBACK CallBackFunction\r
362 )\r
363;\r
364\r
365\r
366EFI_STATUS\r
367EFIAPI\r
368PcdUnRegisterCallBackOnSet (\r
369 IN PCD_TOKEN_NUMBER TokenNumber,\r
370 IN CONST EFI_GUID *Guid, OPTIONAL\r
371 IN PCD_PPI_CALLBACK CallBackFunction\r
372 )\r
373;\r
374\r
375\r
376EFI_STATUS\r
377EFIAPI\r
378PeiPcdGetNextToken (\r
379 IN CONST EFI_GUID *Guid, OPTIONAL\r
380 IN OUT PCD_TOKEN_NUMBER *TokenNumber\r
381 )\r
382;\r
383\r
384extern EFI_GUID gPcdDataBaseHobGuid;\r
385\r
386extern EFI_GUID gPcdPeiCallbackFnTableHobGuid;\r
387\r
388extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;\r
389\r
390#endif\r