2 Private functions used by PCD DXE driver.
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 // Please make sure the PCD Serivce PEIM Version is consistent with
23 // the version of PCD Database generation tool
25 #define PCD_DXE_SERVICE_DRIVER_VERSION 2
28 // PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h
29 // and generated by PCD Database generation tool.
31 #if (PCD_DXE_SERVICE_PEIM_VERSION != PCD_DXE_DATABASE_GENTOOL_VERSION)
32 #error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"
36 // Protocol Interface function declaration.
105 IN CONST EFI_GUID
*Guid
,
114 IN CONST EFI_GUID
*Guid
,
123 IN CONST EFI_GUID
*Guid
,
133 IN CONST EFI_GUID
*Guid
,
143 IN CONST EFI_GUID
*Guid
,
152 IN CONST EFI_GUID
*Guid
,
161 IN CONST EFI_GUID
*Guid
,
170 IN UINTN TokenNumber
,
179 IN UINTN TokenNumber
,
188 IN UINTN TokenNumber
,
197 IN UINTN TokenNumber
,
206 IN UINTN TokenNumber
,
207 IN UINTN
*SizeOfBuffer
,
216 IN UINTN TokenNumber
,
225 IN CONST EFI_GUID
*Guid
,
226 IN UINTN TokenNumber
,
235 IN CONST EFI_GUID
*Guid
,
236 IN UINTN TokenNumber
,
245 IN CONST EFI_GUID
*Guid
,
246 IN UINTN TokenNumber
,
255 IN CONST EFI_GUID
*Guid
,
256 IN UINTN TokenNumber
,
265 IN CONST EFI_GUID
*Guid
,
266 IN UINTN TokenNumber
,
267 IN OUT UINTN
*SizeOfBuffer
,
276 IN CONST EFI_GUID
*Guid
,
277 IN UINTN TokenNumber
,
286 DxeRegisterCallBackOnSet (
287 IN UINTN TokenNumber
,
288 IN CONST EFI_GUID
*Guid
, OPTIONAL
289 IN PCD_PROTOCOL_CALLBACK CallBackFunction
296 DxeUnRegisterCallBackOnSet (
297 IN UINTN TokenNumber
,
298 IN CONST EFI_GUID
*Guid
, OPTIONAL
299 IN PCD_PROTOCOL_CALLBACK CallBackFunction
307 IN CONST EFI_GUID
*Guid
, OPTIONAL
308 IN OUT UINTN
*TokenNumber
316 DxePcdGetNextTokenSpace (
317 IN OUT CONST EFI_GUID
**Guid
324 PCD_PROTOCOL_CALLBACK CallbackFn
;
327 #define CR_FNENTRY_FROM_LISTNODE(Record, Type, Field) _CR(Record, Type, Field)
330 // Internal Functions
335 IN UINTN TokenNumber
,
343 IN UINTN TokenNumber
,
353 IN UINTN ExTokenNumber
,
354 IN CONST EFI_GUID
*Guid
,
364 IN UINTN ExTokenNumber
,
365 IN CONST EFI_GUID
*Guid
,
375 IN UINTN TokenNumber
,
382 IN CONST EFI_GUID
*Guid
,
383 IN UINTN ExTokenNumber
,
389 GetSkuEnabledTokenNumber (
390 UINT32 LocalTokenNumber
,
398 IN EFI_GUID
*VariableGuid
,
399 IN UINT16
*VariableName
,
400 OUT UINT8
**VariableData
,
401 OUT UINTN
*VariableSize
407 IN EFI_GUID
*VariableGuid
,
408 IN UINT16
*VariableName
,
416 DxeRegisterCallBackWorker (
417 IN UINTN TokenNumber
,
418 IN CONST EFI_GUID
*Guid
, OPTIONAL
419 IN PCD_PROTOCOL_CALLBACK CallBackFunction
423 DxeUnRegisterCallBackWorker (
424 IN UINTN TokenNumber
,
425 IN CONST EFI_GUID
*Guid
, OPTIONAL
426 IN PCD_PROTOCOL_CALLBACK CallBackFunction
430 BuildPcdDxeDataBase (
436 GetExPcdTokenNumber (
437 IN CONST EFI_GUID
*Guid
,
438 IN UINT32 ExTokenNumber
445 ExGetNextTokeNumber (
446 IN CONST EFI_GUID
*Guid
,
447 IN OUT UINTN
*TokenNumber
,
448 IN EFI_GUID
*GuidTable
,
449 IN UINTN SizeOfGuidTable
,
450 IN DYNAMICEX_MAPPING
*ExMapTable
,
451 IN UINTN SizeOfExMapTable
458 IN UINTN LocalTokenNumberTableIdx
,
467 IN UINTN LocalTokenNumberTableIdx
,
468 IN OUT UINTN
*CurrentSize
472 extern EFI_GUID gPcdDataBaseHobGuid
;
474 extern PCD_DATABASE
* mPcdDatabase
;
476 extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit
;