]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Universal/PCD/Pei/Service.h
4dbf7610ba74404f86ae1a4b49fdae557ad53e00
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Pei / Service.h
1 /** @file
2 Private functions used by PCD PEIM.
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14 Module Name: Service.h
15
16 **/
17
18 #ifndef _SERVICE_H
19 #define _SERVICE_H
20
21 //
22 // Please make sure the PCD Serivce PEIM Version is consistent with
23 // the version of PCD Database generation tool
24 //
25 #define PCD_PEI_SERVICE_DRIVER_VERSION 2
26
27 //
28 // PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h
29 // and generated by PCD Database generation tool.
30 //
31 #if (PCD_PEI_SERVICE_PEIM_VERSION != PCD_PEI_DATABASE_GENTOOL_VERSION)
32 #error "Please make sure the version of PCD Service PEIM and PCD PEI Database Generation Tool matches"
33 #endif
34
35 /* Internal Function definitions */
36
37 PEI_PCD_DATABASE *
38 GetPcdDatabase (
39 VOID
40 )
41 ;
42
43
44 EFI_STATUS
45 SetValueWorker (
46 IN UINTN TokenNumber,
47 IN VOID *Data,
48 IN UINTN Size
49 )
50 ;
51
52
53 EFI_STATUS
54 SetWorker (
55 IN UINTN TokenNumber,
56 IN VOID *Data,
57 IN OUT UINTN *Size,
58 IN BOOLEAN PtrType
59 )
60 ;
61
62
63 EFI_STATUS
64 ExSetValueWorker (
65 IN UINTN ExTokenNumber,
66 IN CONST EFI_GUID *Guid,
67 IN VOID *Data,
68 IN UINTN Size
69 )
70 ;
71
72
73
74 EFI_STATUS
75 ExSetWorker (
76 IN UINTN ExTokenNumber,
77 IN CONST EFI_GUID *Guid,
78 IN VOID *Data,
79 IN OUT UINTN *Size,
80 IN BOOLEAN PtrType
81 )
82 ;
83
84
85
86 VOID *
87 GetWorker (
88 IN UINTN TokenNumber,
89 IN UINTN GetSize
90 )
91 ;
92
93
94
95 VOID *
96 ExGetWorker (
97 IN CONST EFI_GUID *Guid,
98 IN UINTN ExTokenNumber,
99 IN UINTN GetSize
100 )
101 ;
102
103 typedef struct {
104 UINTN TokenNumber;
105 UINTN Size;
106 UINT32 LocalTokenNumberAlias;
107 } EX_PCD_ENTRY_ATTRIBUTE;
108
109
110 UINTN
111 GetExPcdTokenNumber (
112 IN CONST EFI_GUID *Guid,
113 IN UINTN ExTokenNumber
114 )
115 ;
116
117
118
119
120 EFI_STATUS
121 PeiRegisterCallBackWorker (
122 IN UINTN TokenNumber,
123 IN CONST GUID *Guid, OPTIONAL
124 IN PCD_PPI_CALLBACK CallBackFunction,
125 IN BOOLEAN Register
126 );
127
128
129
130
131 VOID
132 BuildPcdDatabase (
133 VOID
134 )
135 ;
136
137
138
139
140 UINTN
141 GetPtrTypeSize (
142 IN UINTN LocalTokenNumberTableIdx,
143 OUT UINTN *MaxSize,
144 IN PEI_PCD_DATABASE *Database
145 )
146 ;
147
148
149
150 BOOLEAN
151 SetPtrTypeSize (
152 IN UINTN LocalTokenNumberTableIdx,
153 IN OUT UINTN *CurrentSize,
154 IN PEI_PCD_DATABASE *Database
155 )
156 ;
157
158
159 //
160 // PPI Interface Implementation Declaration.
161 //
162 VOID
163 EFIAPI
164 PeiPcdSetSku (
165 IN UINTN SkuId
166 )
167 ;
168
169
170 UINT8
171 EFIAPI
172 PeiPcdGet8 (
173 IN UINTN TokenNumber
174 )
175 ;
176
177
178 UINT16
179 EFIAPI
180 PeiPcdGet16 (
181 IN UINTN TokenNumber
182 )
183 ;
184
185
186 UINT32
187 EFIAPI
188 PeiPcdGet32 (
189 IN UINTN TokenNumber
190 )
191 ;
192
193
194 UINT64
195 EFIAPI
196 PeiPcdGet64 (
197 IN UINTN TokenNumber
198 )
199 ;
200
201
202 VOID *
203 EFIAPI
204 PeiPcdGetPtr (
205 IN UINTN TokenNumber
206 )
207 ;
208
209
210 BOOLEAN
211 EFIAPI
212 PeiPcdGetBool (
213 IN UINTN TokenNumber
214 )
215 ;
216
217
218 UINTN
219 EFIAPI
220 PeiPcdGetSize (
221 IN UINTN TokenNumber
222 )
223 ;
224
225
226 UINT8
227 EFIAPI
228 PeiPcdGet8Ex (
229 IN CONST EFI_GUID *Guid,
230 IN UINTN TokenNumber
231 )
232 ;
233
234
235 UINT16
236 EFIAPI
237 PeiPcdGet16Ex (
238 IN CONST EFI_GUID *Guid,
239 IN UINTN TokenNumber
240 )
241 ;
242
243 UINT32
244 EFIAPI
245 PeiPcdGet32Ex (
246 IN CONST EFI_GUID *Guid,
247 IN UINTN TokenNumber
248 )
249 ;
250
251
252 UINT64
253 EFIAPI
254 PeiPcdGet64Ex (
255 IN CONST EFI_GUID *Guid,
256 IN UINTN TokenNumber
257 )
258 ;
259
260
261 VOID *
262 EFIAPI
263 PeiPcdGetPtrEx (
264 IN CONST EFI_GUID *Guid,
265 IN UINTN TokenNumber
266 )
267 ;
268
269
270 BOOLEAN
271 EFIAPI
272 PeiPcdGetBoolEx (
273 IN CONST EFI_GUID *Guid,
274 IN UINTN TokenNumber
275 )
276 ;
277
278
279 UINTN
280 EFIAPI
281 PeiPcdGetSizeEx (
282 IN CONST EFI_GUID *Guid,
283 IN UINTN TokenNumber
284 )
285 ;
286
287
288 EFI_STATUS
289 EFIAPI
290 PeiPcdSet8 (
291 IN UINTN TokenNumber,
292 IN UINT8 Value
293 )
294 ;
295
296
297 EFI_STATUS
298 EFIAPI
299 PeiPcdSet16 (
300 IN UINTN TokenNumber,
301 IN UINT16 Value
302 )
303 ;
304
305
306 EFI_STATUS
307 EFIAPI
308 PeiPcdSet32 (
309 IN UINTN TokenNumber,
310 IN UINT32 Value
311 )
312 ;
313
314
315 EFI_STATUS
316 EFIAPI
317 PeiPcdSet64 (
318 IN UINTN TokenNumber,
319 IN UINT64 Value
320 )
321 ;
322
323 EFI_STATUS
324 EFIAPI
325 PeiPcdSetPtr (
326 IN UINTN TokenNumber,
327 IN OUT UINTN *SizeOfBuffer,
328 IN VOID *Buffer
329 )
330 ;
331
332
333 EFI_STATUS
334 EFIAPI
335 PeiPcdSetBool (
336 IN UINTN TokenNumber,
337 IN BOOLEAN Value
338 )
339 ;
340
341
342 EFI_STATUS
343 EFIAPI
344 PeiPcdSet8Ex (
345 IN CONST EFI_GUID *Guid,
346 IN UINTN TokenNumber,
347 IN UINT8 Value
348 )
349 ;
350
351 EFI_STATUS
352 EFIAPI
353 PeiPcdSet16Ex (
354 IN CONST EFI_GUID *Guid,
355 IN UINTN TokenNumber,
356 IN UINT16 Value
357 )
358 ;
359
360
361 EFI_STATUS
362 EFIAPI
363 PeiPcdSet32Ex (
364 IN CONST EFI_GUID *Guid,
365 IN UINTN TokenNumber,
366 IN UINT32 Value
367 )
368 ;
369
370
371 EFI_STATUS
372 EFIAPI
373 PeiPcdSet64Ex (
374 IN CONST EFI_GUID *Guid,
375 IN UINTN TokenNumber,
376 IN UINT64 Value
377 )
378 ;
379
380
381 EFI_STATUS
382 EFIAPI
383 PeiPcdSetPtrEx (
384 IN CONST EFI_GUID *Guid,
385 IN UINTN TokenNumber,
386 IN OUT UINTN *SizeOfBuffer,
387 IN VOID *Buffer
388 )
389 ;
390
391
392 EFI_STATUS
393 EFIAPI
394 PeiPcdSetBoolEx (
395 IN CONST EFI_GUID *Guid,
396 IN UINTN TokenNumber,
397 IN BOOLEAN Value
398 )
399 ;
400
401
402
403 EFI_STATUS
404 EFIAPI
405 PeiRegisterCallBackOnSet (
406 IN UINTN TokenNumber,
407 IN CONST EFI_GUID *Guid, OPTIONAL
408 IN PCD_PPI_CALLBACK CallBackFunction
409 )
410 ;
411
412
413 EFI_STATUS
414 EFIAPI
415 PcdUnRegisterCallBackOnSet (
416 IN UINTN TokenNumber,
417 IN CONST EFI_GUID *Guid, OPTIONAL
418 IN PCD_PPI_CALLBACK CallBackFunction
419 )
420 ;
421
422
423 EFI_STATUS
424 EFIAPI
425 PeiPcdGetNextToken (
426 IN CONST EFI_GUID *Guid, OPTIONAL
427 IN OUT UINTN *TokenNumber
428 )
429 ;
430
431
432 EFI_STATUS
433 EFIAPI
434 PeiPcdGetNextTokenSpace (
435 IN CONST EFI_GUID **Guid
436 )
437 ;
438
439 extern EFI_GUID gPcdDataBaseHobGuid;
440
441 extern EFI_GUID gPcdPeiCallbackFnTableHobGuid;
442
443 extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;
444
445 #endif