2 Private functions used by PCD DXE driver.
4 Copyright (c) 2006 - 2007, 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 common header file for this module.
24 #include "CommonHeader.h"
27 // Please make sure the PCD Serivce PEIM Version is consistent with
28 // the version of PCD Database generation tool
30 #define PCD_SERVICE_DXE_DRIVER_VERSION 2
33 // PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h
34 // and generated by PCD Database generation tool.
36 #if (PCD_SERVICE_DXE_DRIVER_VERSION != PCD_DXE_SERVICE_DRIVER_AUTOGEN_VERSION)
37 // #error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"
41 // Protocol Interface function declaration.
110 IN CONST EFI_GUID
*Guid
,
119 IN CONST EFI_GUID
*Guid
,
128 IN CONST EFI_GUID
*Guid
,
138 IN CONST EFI_GUID
*Guid
,
148 IN CONST EFI_GUID
*Guid
,
157 IN CONST EFI_GUID
*Guid
,
166 IN CONST EFI_GUID
*Guid
,
175 IN UINTN TokenNumber
,
184 IN UINTN TokenNumber
,
193 IN UINTN TokenNumber
,
202 IN UINTN TokenNumber
,
211 IN UINTN TokenNumber
,
212 IN UINTN
*SizeOfBuffer
,
221 IN UINTN TokenNumber
,
230 IN CONST EFI_GUID
*Guid
,
231 IN UINTN TokenNumber
,
240 IN CONST EFI_GUID
*Guid
,
241 IN UINTN TokenNumber
,
250 IN CONST EFI_GUID
*Guid
,
251 IN UINTN TokenNumber
,
260 IN CONST EFI_GUID
*Guid
,
261 IN UINTN TokenNumber
,
270 IN CONST EFI_GUID
*Guid
,
271 IN UINTN TokenNumber
,
272 IN OUT UINTN
*SizeOfBuffer
,
281 IN CONST EFI_GUID
*Guid
,
282 IN UINTN TokenNumber
,
291 DxeRegisterCallBackOnSet (
292 IN CONST EFI_GUID
*Guid
, OPTIONAL
293 IN UINTN TokenNumber
,
294 IN PCD_PROTOCOL_CALLBACK CallBackFunction
301 DxeUnRegisterCallBackOnSet (
302 IN CONST EFI_GUID
*Guid
, OPTIONAL
303 IN UINTN TokenNumber
,
304 IN PCD_PROTOCOL_CALLBACK CallBackFunction
312 IN CONST EFI_GUID
*Guid
, OPTIONAL
313 IN OUT UINTN
*TokenNumber
321 DxePcdGetNextTokenSpace (
322 IN OUT CONST EFI_GUID
**Guid
329 PCD_PROTOCOL_CALLBACK CallbackFn
;
332 #define CR_FNENTRY_FROM_LISTNODE(Record, Type, Field) _CR(Record, Type, Field)
335 // Internal Functions
340 IN UINTN TokenNumber
,
348 IN UINTN TokenNumber
,
358 IN UINTN ExTokenNumber
,
359 IN CONST EFI_GUID
*Guid
,
369 IN UINTN ExTokenNumber
,
370 IN CONST EFI_GUID
*Guid
,
380 IN UINTN TokenNumber
,
387 IN CONST EFI_GUID
*Guid
,
388 IN UINTN ExTokenNumber
,
394 GetSkuEnabledTokenNumber (
395 UINT32 LocalTokenNumber
,
403 IN EFI_GUID
*VariableGuid
,
404 IN UINT16
*VariableName
,
405 OUT UINT8
**VariableData
,
406 OUT UINTN
*VariableSize
412 IN EFI_GUID
*VariableGuid
,
413 IN UINT16
*VariableName
,
421 DxeRegisterCallBackWorker (
422 IN UINTN TokenNumber
,
423 IN CONST EFI_GUID
*Guid
, OPTIONAL
424 IN PCD_PROTOCOL_CALLBACK CallBackFunction
428 DxeUnRegisterCallBackWorker (
429 IN UINTN TokenNumber
,
430 IN CONST EFI_GUID
*Guid
, OPTIONAL
431 IN PCD_PROTOCOL_CALLBACK CallBackFunction
435 BuildPcdDxeDataBase (
441 GetExPcdTokenNumber (
442 IN CONST EFI_GUID
*Guid
,
443 IN UINT32 ExTokenNumber
450 ExGetNextTokeNumber (
451 IN CONST EFI_GUID
*Guid
,
452 IN OUT UINTN
*TokenNumber
,
453 IN EFI_GUID
*GuidTable
,
454 IN UINTN SizeOfGuidTable
,
455 IN DYNAMICEX_MAPPING
*ExMapTable
,
456 IN UINTN SizeOfExMapTable
463 IN UINTN LocalTokenNumberTableIdx
,
472 IN UINTN LocalTokenNumberTableIdx
,
473 IN OUT UINTN
*CurrentSize
477 extern EFI_GUID gPcdDataBaseHobGuid
;
479 extern PCD_DATABASE
* mPcdDatabase
;
481 extern DXE_PCD_DATABASE_INIT gDXEPcdDbInit
;
483 extern EFI_LOCK mPcdDatabaseLock
;