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