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