2 Private functions used by PCD PEIM.
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
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.
14 Module Name: Service.h
22 #include <Ppi/ReadOnlyVariable2.h>
24 #include <Library/DebugLib.h>
25 #include <Library/PeimEntryPoint.h>
26 #include <Library/BaseLib.h>
27 #include <Library/HobLib.h>
28 #include <Library/PeiServicesLib.h>
29 #include <Library/PcdLib.h>
30 #include <Library/PeiServicesTablePointerLib.h>
31 #include <Library/BaseMemoryLib.h>
35 // Please make sure the PCD Serivce PEIM Version is consistent with
36 // the version of PCD Database generation tool
38 #define PCD_SERVICE_PEIM_VERSION 2
41 // PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h
42 // and generated by PCD Database generation tool.
44 //#if (PCD_SERVICE_PEIM_VERSION != PCD_PEI_SERVICE_DRIVER_AUTOGEN_VERSION )
45 // #error "Please make sure the version of PCD Service PEIM and PCD PEI Database Generation Tool matches"
49 // PPI Interface Implementation Declaration.
118 IN CONST EFI_GUID
*Guid
,
127 IN CONST EFI_GUID
*Guid
,
135 IN CONST EFI_GUID
*Guid
,
144 IN CONST EFI_GUID
*Guid
,
153 IN CONST EFI_GUID
*Guid
,
162 IN CONST EFI_GUID
*Guid
,
171 IN CONST EFI_GUID
*Guid
,
180 IN UINTN TokenNumber
,
189 IN UINTN TokenNumber
,
198 IN UINTN TokenNumber
,
207 IN UINTN TokenNumber
,
215 IN UINTN TokenNumber
,
216 IN OUT UINTN
*SizeOfBuffer
,
225 IN UINTN TokenNumber
,
234 IN CONST EFI_GUID
*Guid
,
235 IN UINTN TokenNumber
,
243 IN CONST EFI_GUID
*Guid
,
244 IN UINTN TokenNumber
,
253 IN CONST EFI_GUID
*Guid
,
254 IN UINTN TokenNumber
,
263 IN CONST EFI_GUID
*Guid
,
264 IN UINTN TokenNumber
,
273 IN CONST EFI_GUID
*Guid
,
274 IN UINTN TokenNumber
,
275 IN OUT UINTN
*SizeOfBuffer
,
284 IN CONST EFI_GUID
*Guid
,
285 IN UINTN TokenNumber
,
294 PeiRegisterCallBackOnSet (
295 IN CONST EFI_GUID
*Guid
, OPTIONAL
296 IN UINTN TokenNumber
,
297 IN PCD_PPI_CALLBACK CallBackFunction
304 PcdUnRegisterCallBackOnSet (
305 IN CONST EFI_GUID
*Guid
, OPTIONAL
306 IN UINTN TokenNumber
,
307 IN PCD_PPI_CALLBACK CallBackFunction
315 IN CONST EFI_GUID
*Guid
, OPTIONAL
316 IN OUT UINTN
*TokenNumber
323 PeiPcdGetNextTokenSpace (
324 IN CONST EFI_GUID
**Guid
329 /* Internal Function definitions */
340 IN UINTN TokenNumber
,
349 IN UINTN TokenNumber
,
359 IN UINTN ExTokenNumber
,
360 IN CONST EFI_GUID
*Guid
,
370 IN UINTN ExTokenNumber
,
371 IN CONST EFI_GUID
*Guid
,
382 IN UINTN TokenNumber
,
391 IN CONST EFI_GUID
*Guid
,
392 IN UINTN ExTokenNumber
,
400 UINT32 LocalTokenNumberAlias
;
401 } EX_PCD_ENTRY_ATTRIBUTE
;
405 GetExPcdTokenNumber (
406 IN CONST EFI_GUID
*Guid
,
407 IN UINTN ExTokenNumber
415 PeiRegisterCallBackWorker (
416 IN UINTN TokenNumber
,
417 IN CONST GUID
*Guid
, OPTIONAL
418 IN PCD_PPI_CALLBACK CallBackFunction
,
433 IN UINTN LocalTokenNumberTableIdx
,
434 IN PEI_PCD_DATABASE
*Database
440 IN UINTN LocalTokenNumberTableIdx
,
441 IN PEI_PCD_DATABASE
*Database
447 IN UINTN LocalTokenNumberTableIdx
,
449 IN PEI_PCD_DATABASE
*Database
457 IN UINTN LocalTokenNumberTableIdx
,
458 IN OUT UINTN
*CurrentSize
,
459 IN PEI_PCD_DATABASE
*Database
464 extern EFI_GUID gPcdDataBaseHobGuid
;
466 extern EFI_GUID gPcdPeiCallbackFnTableHobGuid
;
468 extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit
;