MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PcdLib.h File Reference

Data Structures

struct  PCD_INFO
 

Macros

#define PcdToken(TokenName)   _PCD_TOKEN_##TokenName
 
#define FeaturePcdGet(TokenName)   _PCD_GET_MODE_BOOL_##TokenName
 
#define FixedPcdGet8(TokenName)   _PCD_VALUE_##TokenName
 
#define FixedPcdGet16(TokenName)   _PCD_VALUE_##TokenName
 
#define FixedPcdGet32(TokenName)   _PCD_VALUE_##TokenName
 
#define FixedPcdGet64(TokenName)   _PCD_VALUE_##TokenName
 
#define FixedPcdGetBool(TokenName)   _PCD_VALUE_##TokenName
 
#define FixedPcdGetPtr(TokenName)   ((VOID *)_PCD_VALUE_##TokenName)
 
#define PatchPcdGet8(TokenName)   _gPcd_BinaryPatch_##TokenName
 
#define PatchPcdGet16(TokenName)   _gPcd_BinaryPatch_##TokenName
 
#define PatchPcdGet32(TokenName)   _gPcd_BinaryPatch_##TokenName
 
#define PatchPcdGet64(TokenName)   _gPcd_BinaryPatch_##TokenName
 
#define PatchPcdGetBool(TokenName)   _gPcd_BinaryPatch_##TokenName
 
#define PatchPcdGetPtr(TokenName)   ((VOID *)_gPcd_BinaryPatch_##TokenName)
 
#define PatchPcdSet8(TokenName, Value)   (_gPcd_BinaryPatch_##TokenName = (Value))
 
#define PatchPcdSet16(TokenName, Value)   (_gPcd_BinaryPatch_##TokenName = (Value))
 
#define PatchPcdSet32(TokenName, Value)   (_gPcd_BinaryPatch_##TokenName = (Value))
 
#define PatchPcdSet64(TokenName, Value)   (_gPcd_BinaryPatch_##TokenName = (Value))
 
#define PatchPcdSetBool(TokenName, Value)   (_gPcd_BinaryPatch_##TokenName = (Value))
 
#define PatchPcdSetPtr(TokenName, Size, Buffer)
 
#define PcdGet8(TokenName)   _PCD_GET_MODE_8_##TokenName
 
#define PcdGet16(TokenName)   _PCD_GET_MODE_16_##TokenName
 
#define PcdGet32(TokenName)   _PCD_GET_MODE_32_##TokenName
 
#define PcdGet64(TokenName)   _PCD_GET_MODE_64_##TokenName
 
#define PcdGetPtr(TokenName)   _PCD_GET_MODE_PTR_##TokenName
 
#define PcdGetBool(TokenName)   _PCD_GET_MODE_BOOL_##TokenName
 
#define FixedPcdGetSize(TokenName)   _PCD_SIZE_##TokenName
 
#define PatchPcdGetSize(TokenName)   _gPcd_BinaryPatch_Size_##TokenName
 
#define PcdGetSize(TokenName)   _PCD_GET_MODE_SIZE_##TokenName
 
#define PcdGetExSize(Guid, TokenName)   LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdSet8S(TokenName, Value)   _PCD_SET_MODE_8_S_##TokenName ((Value))
 
#define PcdSet16S(TokenName, Value)   _PCD_SET_MODE_16_S_##TokenName ((Value))
 
#define PcdSet32S(TokenName, Value)   _PCD_SET_MODE_32_S_##TokenName ((Value))
 
#define PcdSet64S(TokenName, Value)   _PCD_SET_MODE_64_S_##TokenName ((Value))
 
#define PcdSetPtrS(TokenName, SizeOfBuffer, Buffer)   _PCD_SET_MODE_PTR_S_##TokenName ((SizeOfBuffer), (Buffer))
 
#define PcdSetBoolS(TokenName, Value)   _PCD_SET_MODE_BOOL_S_##TokenName ((Value))
 
#define PcdTokenEx(Guid, TokenName)   _PCD_TOKEN_EX_##TokenName(Guid)
 
#define PcdGetEx8(Guid, TokenName)   LibPcdGetEx8 ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdGetEx16(Guid, TokenName)   LibPcdGetEx16 ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdGetEx32(Guid, TokenName)   LibPcdGetEx32 ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdGetEx64(Guid, TokenName)   LibPcdGetEx64 ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdGetExPtr(Guid, TokenName)   LibPcdGetExPtr ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdGetExBool(Guid, TokenName)   LibPcdGetExBool ((Guid), PcdTokenEx(Guid,TokenName))
 
#define PcdSetEx8S(Guid, TokenName, Value)   LibPcdSetEx8S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
 
#define PcdSetEx16S(Guid, TokenName, Value)   LibPcdSetEx16S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
 
#define PcdSetEx32S(Guid, TokenName, Value)   LibPcdSetEx32S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
 
#define PcdSetEx64S(Guid, TokenName, Value)   LibPcdSetEx64S ((Guid), PcdTokenEx(Guid,TokenName), (Value))
 
#define PcdSetExPtrS(Guid, TokenName, SizeOfBuffer, Buffer)   LibPcdSetExPtrS ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))
 
#define PcdSetExBoolS(Guid, TokenName, Value)   LibPcdSetExBoolS ((Guid), PcdTokenEx(Guid,TokenName), (Value))
 

Typedefs

typedef VOID(EFIAPIPCD_CALLBACK )(IN CONST GUID *CallBackGuid, IN UINTN CallBackToken, IN OUT VOID *TokenData, IN UINTN TokenDataSize)
 

Enumerations

enum  PCD_TYPE {
  PCD_TYPE_8, PCD_TYPE_16, PCD_TYPE_32, PCD_TYPE_64,
  PCD_TYPE_BOOL, PCD_TYPE_PTR
}
 

Functions

UINTN EFIAPI LibPcdSetSku (IN UINTN SkuId)
 
UINT8 EFIAPI LibPcdGet8 (IN UINTN TokenNumber)
 
UINT16 EFIAPI LibPcdGet16 (IN UINTN TokenNumber)
 
UINT32 EFIAPI LibPcdGet32 (IN UINTN TokenNumber)
 
UINT64 EFIAPI LibPcdGet64 (IN UINTN TokenNumber)
 
VOID *EFIAPI LibPcdGetPtr (IN UINTN TokenNumber)
 
BOOLEAN EFIAPI LibPcdGetBool (IN UINTN TokenNumber)
 
UINTN EFIAPI LibPcdGetSize (IN UINTN TokenNumber)
 
UINT8 EFIAPI LibPcdGetEx8 (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
UINT16 EFIAPI LibPcdGetEx16 (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
UINT32 EFIAPI LibPcdGetEx32 (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
UINT64 EFIAPI LibPcdGetEx64 (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
VOID *EFIAPI LibPcdGetExPtr (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
BOOLEAN EFIAPI LibPcdGetExBool (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
UINTN EFIAPI LibPcdGetExSize (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
RETURN_STATUS EFIAPI LibPcdSet8S (IN UINTN TokenNumber, IN UINT8 Value)
 
RETURN_STATUS EFIAPI LibPcdSet16S (IN UINTN TokenNumber, IN UINT16 Value)
 
RETURN_STATUS EFIAPI LibPcdSet32S (IN UINTN TokenNumber, IN UINT32 Value)
 
RETURN_STATUS EFIAPI LibPcdSet64S (IN UINTN TokenNumber, IN UINT64 Value)
 
RETURN_STATUS EFIAPI LibPcdSetPtrS (IN UINTN TokenNumber, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
 
RETURN_STATUS EFIAPI LibPcdSetBoolS (IN UINTN TokenNumber, IN BOOLEAN Value)
 
RETURN_STATUS EFIAPI LibPcdSetEx8S (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT8 Value)
 
RETURN_STATUS EFIAPI LibPcdSetEx16S (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT16 Value)
 
RETURN_STATUS EFIAPI LibPcdSetEx32S (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT32 Value)
 
RETURN_STATUS EFIAPI LibPcdSetEx64S (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT64 Value)
 
RETURN_STATUS EFIAPI LibPcdSetExPtrS (IN CONST GUID *Guid, IN UINTN TokenNumber, IN OUT UINTN *SizeOfBuffer, IN VOID *Buffer)
 
RETURN_STATUS EFIAPI LibPcdSetExBoolS (IN CONST GUID *Guid, IN UINTN TokenNumber, IN BOOLEAN Value)
 
VOID EFIAPI LibPcdCallbackOnSet (IN CONST GUID *Guid, IN UINTN TokenNumber, IN PCD_CALLBACK NotificationFunction)
 
VOID EFIAPI LibPcdCancelCallback (IN CONST GUID *Guid, IN UINTN TokenNumber, IN PCD_CALLBACK NotificationFunction)
 
UINTN EFIAPI LibPcdGetNextToken (IN CONST GUID *Guid, IN UINTN TokenNumber)
 
GUID *EFIAPI LibPcdGetNextTokenSpace (IN CONST GUID *TokenSpaceGuid)
 
VOID *EFIAPI LibPatchPcdSetPtr (OUT VOID *PatchVariable, IN UINTN MaximumDatumSize, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
 
RETURN_STATUS EFIAPI LibPatchPcdSetPtrS (OUT VOID *PatchVariable, IN UINTN MaximumDatumSize, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
 
VOID *EFIAPI LibPatchPcdSetPtrAndSize (OUT VOID *PatchVariable, OUT UINTN *SizeOfPatchVariable, IN UINTN MaximumDatumSize, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
 
RETURN_STATUS EFIAPI LibPatchPcdSetPtrAndSizeS (OUT VOID *PatchVariable, OUT UINTN *SizeOfPatchVariable, IN UINTN MaximumDatumSize, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
 
VOID EFIAPI LibPcdGetInfo (IN UINTN TokenNumber, OUT PCD_INFO *PcdInfo)
 
VOID EFIAPI LibPcdGetInfoEx (IN CONST GUID *Guid, IN UINTN TokenNumber, OUT PCD_INFO *PcdInfo)
 
UINTN EFIAPI LibPcdGetSku (VOID)
 

Detailed Description

Provides library services to get and set Platform Configuration Database entries.

PCD Library Class provides a PCD usage macro interface for all PCD types. It should be included in any module that uses PCD. If a module uses dynamic/dynamicex PCD, module should be linked to a PEIM/DXE library instance to access that PCD. If a module uses PatchableInModule type PCD, it also needs the library instance to produce LibPatchPcdSetPtr() interface. For FeatureFlag/Fixed PCD, the macro interface is translated to a variable or macro that is auto-generated by build tool in module's autogen.h/autogen.c. The PcdGetXX(), PcdSetXX(), PcdToken(), and PcdGetNextTokenSpace() operations are only available prior to ExitBootServices(). If access to PCD values are required at runtime, then their values must be collected prior to ExitBootServices(). There are no restrictions on the use of FeaturePcd(), FixedPcdGetXX(), PatchPcdGetXX(), and PatchPcdSetXX().

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define FeaturePcdGet (   TokenName)    _PCD_GET_MODE_BOOL_##TokenName

Retrieves a Boolean PCD feature flag based on a token name.

Returns the Boolean value for the PCD feature flag specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a feature flag PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
Boolean value for the PCD feature flag.
#define FixedPcdGet16 (   TokenName)    _PCD_VALUE_##TokenName

Retrieves a 16-bit fixed PCD token value based on a token name.

Returns the 16-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a fixed at build PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
16-bit value for the token specified by TokenName.
#define FixedPcdGet32 (   TokenName)    _PCD_VALUE_##TokenName

Retrieves a 32-bit fixed PCD token value based on a token name.

Returns the 32-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a fixed at build PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
32-bit value for the token specified by TokenName.
#define FixedPcdGet64 (   TokenName)    _PCD_VALUE_##TokenName

Retrieves a 64-bit fixed PCD token value based on a token name.

Returns the 64-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a fixed at build PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
64-bit value for the token specified by TokenName.
#define FixedPcdGet8 (   TokenName)    _PCD_VALUE_##TokenName

Retrieves an 8-bit fixed PCD token value based on a token name.

Returns the 8-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a fixed at build PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
8-bit value for the token specified by TokenName.
#define FixedPcdGetBool (   TokenName)    _PCD_VALUE_##TokenName

Retrieves a Boolean fixed PCD token value based on a token name.

Returns the Boolean value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a fixed at build PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
The Boolean value for the token.
#define FixedPcdGetPtr (   TokenName)    ((VOID *)_PCD_VALUE_##TokenName)

Retrieves a pointer to a fixed PCD token buffer based on a token name.

Returns a pointer to the buffer for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a fixed at build PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to the buffer.
#define FixedPcdGetSize (   TokenName)    _PCD_SIZE_##TokenName

Retrieves the size of a fixed PCD token based on a token name.

Returns the size of the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
[in]TokenNameThe name of the PCD token to retrieve a current value size for.
Returns
Return the size
#define PatchPcdGet16 (   TokenName)    _gPcd_BinaryPatch_##TokenName

Retrieves a 16-bit binary patchable PCD token value based on a token name.

Returns the 16-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 16-bit binary patchable PCD token value.
#define PatchPcdGet32 (   TokenName)    _gPcd_BinaryPatch_##TokenName

Retrieves a 32-bit binary patchable PCD token value based on a token name.

Returns the 32-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 32-bit binary patchable PCD token value.
#define PatchPcdGet64 (   TokenName)    _gPcd_BinaryPatch_##TokenName

Retrieves a 64-bit binary patchable PCD token value based on a token name.

Returns the 64-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 64-bit binary patchable PCD token value.
#define PatchPcdGet8 (   TokenName)    _gPcd_BinaryPatch_##TokenName

Retrieves an 8-bit binary patchable PCD token value based on a token name.

Returns the 8-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
An 8-bit binary patchable PCD token value.
#define PatchPcdGetBool (   TokenName)    _gPcd_BinaryPatch_##TokenName

Retrieves a Boolean binary patchable PCD token value based on a token name.

Returns the Boolean value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
The Boolean value for the token.
#define PatchPcdGetPtr (   TokenName)    ((VOID *)_gPcd_BinaryPatch_##TokenName)

Retrieves a pointer to a binary patchable PCD token buffer based on a token name.

Returns a pointer to the buffer for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to the buffer for the token.
#define PatchPcdGetSize (   TokenName)    _gPcd_BinaryPatch_Size_##TokenName

Retrieves the size of a binary patchable PCD token based on a token name.

Returns the size of the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
[in]TokenNameThe name of the PCD token to retrieve a current value size for.
Returns
Return the size
#define PatchPcdSet16 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

Sets a 16-bit binary patchable PCD token value based on a token name.

Sets the 16-bit value for the token specified by TokenName. Value is returned. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 16-bit value to set.
Returns
Return the Value that was set.
#define PatchPcdSet32 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

Sets a 32-bit binary patchable PCD token value based on a token name.

Sets the 32-bit value for the token specified by TokenName. Value is returned. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 32-bit value to set.
Returns
Return the Value that was set.
#define PatchPcdSet64 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

Sets a 64-bit binary patchable PCD token value based on a token name.

Sets the 64-bit value for the token specified by TokenName. Value is returned. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 64-bit value to set.
Returns
Return the Value that was set.
#define PatchPcdSet8 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

Sets an 8-bit binary patchable PCD token value based on a token name.

Sets the 8-bit value for the token specified by TokenName. Value is returned. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 8-bit value to set.
Returns
Return the Value that was set.
#define PatchPcdSetBool (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

Sets a Boolean binary patchable PCD token value based on a token name.

Sets the Boolean value for the token specified by TokenName. Value is returned. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe boolean value to set.
Returns
Return the Value that was set.
#define PatchPcdSetPtr (   TokenName,
  Size,
  Buffer 
)
Value:
(VOID *)_gPcd_BinaryPatch_##TokenName, \
&_gPcd_BinaryPatch_Size_##TokenName, \
(UINTN)_PCD_PATCHABLE_##TokenName##_SIZE, \
(Size), \
(Buffer) \
)
IN UINT32 IN EFI_LBA IN OUT EFI_ERASE_BLOCK_TOKEN IN UINTN Size
Definition: EraseBlock.h:71
VOID *EFIAPI LibPatchPcdSetPtrAndSize(OUT VOID *PatchVariable, OUT UINTN *SizeOfPatchVariable, IN UINTN MaximumDatumSize, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
#define VOID
Definition: Base.h:278
IN UINT8 IN UINTN OUT UINT8 * Buffer
Definition: Supplicant.h:338
UINT32 UINTN
Definition: ProcessorBind.h:218

Sets a pointer to a binary patchable PCD token buffer based on a token name.

Sets the buffer for the token specified by TokenName. Buffer is returned. If SizeOfBuffer is greater than the maximum size supported by TokenName, then set SizeOfBuffer to the maximum size supported by TokenName and return NULL to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by TokenName and NULL must be returned. If TokenName is not a valid token in the token space, then the module will not build. If TokenName is not a patchable in module PCD, then the module will not build.

If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
SizeOfBufferA pointer to the size, in bytes, of Buffer.
BufferPointer to the value to set.
Returns
Return the pointer to the Buffer that was set.
#define PcdGet16 (   TokenName)    _PCD_GET_MODE_16_##TokenName

Retrieves a 16-bit PCD token value based on a token name.

Returns the 16-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
16-bit value for the token specified by TokenName.
#define PcdGet32 (   TokenName)    _PCD_GET_MODE_32_##TokenName

Retrieves a 32-bit PCD token value based on a token name.

Returns the 32-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
32-bit value for the token specified by TokenName.
#define PcdGet64 (   TokenName)    _PCD_GET_MODE_64_##TokenName

Retrieves a 64-bit PCD token value based on a token name.

Returns the 64-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
64-bit value for the token specified by TokenName.
#define PcdGet8 (   TokenName)    _PCD_GET_MODE_8_##TokenName

Retrieves an 8-bit PCD token value based on a token name.

Returns the 8-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
8-bit value for the token specified by TokenName.
#define PcdGetBool (   TokenName)    _PCD_GET_MODE_BOOL_##TokenName

Retrieves a Boolean PCD token value based on a token name.

Returns the Boolean value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A Boolean PCD token value.
#define PcdGetEx16 (   Guid,
  TokenName 
)    LibPcdGetEx16 ((Guid), PcdTokenEx(Guid,TokenName))

Retrieves a 16-bit PCD token value based on a GUID and a token name.

Returns the 16-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 16-bit PCD token value.
#define PcdGetEx32 (   Guid,
  TokenName 
)    LibPcdGetEx32 ((Guid), PcdTokenEx(Guid,TokenName))

Retrieves a 32-bit PCD token value based on a GUID and a token name.

Returns the 32-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 32-bit PCD token value.
#define PcdGetEx64 (   Guid,
  TokenName 
)    LibPcdGetEx64 ((Guid), PcdTokenEx(Guid,TokenName))

Retrieves a 64-bit PCD token value based on a GUID and a token name.

Returns the 64-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 64-bit PCD token value.
#define PcdGetEx8 (   Guid,
  TokenName 
)    LibPcdGetEx8 ((Guid), PcdTokenEx(Guid,TokenName))

Retrieves an 8-bit PCD token value based on a GUID and a token name.

Returns the 8-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
An 8-bit PCD token value.
#define PcdGetExBool (   Guid,
  TokenName 
)    LibPcdGetExBool ((Guid), PcdTokenEx(Guid,TokenName))

Retrieves a Boolean PCD token value based on a GUID and a token name.

Returns the Boolean value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A Boolean PCD token value.
#define PcdGetExPtr (   Guid,
  TokenName 
)    LibPcdGetExPtr ((Guid), PcdTokenEx(Guid,TokenName))

Retrieves a pointer to a PCD token buffer based on a GUID and a token name.

Returns a pointer to the buffer for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to a PCD token buffer.
#define PcdGetExSize (   Guid,
  TokenName 
)    LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))

Retrieve the size of a given PCD token.

Returns the size of the token specified by TokenNumber and Guid. If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value size for.
Returns
Return the size.
#define PcdGetPtr (   TokenName)    _PCD_GET_MODE_PTR_##TokenName

Retrieves a pointer to a PCD token buffer based on a token name.

Returns a pointer to the buffer for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to the buffer.
#define PcdGetSize (   TokenName)    _PCD_GET_MODE_SIZE_##TokenName

Retrieves the size of the PCD token based on a token name.

Returns the size of the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
[in]TokenNameThe name of the PCD token to retrieve a current value size for.
Returns
Return the size
#define PcdSet16S (   TokenName,
  Value 
)    _PCD_SET_MODE_16_S_##TokenName ((Value))

Sets a 16-bit PCD token value based on a token name.

Sets the 16-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 16-bit value to set.
Returns
The status of the set operation.
#define PcdSet32S (   TokenName,
  Value 
)    _PCD_SET_MODE_32_S_##TokenName ((Value))

Sets a 32-bit PCD token value based on a token name.

Sets the 32-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 32-bit value to set.
Returns
The status of the set operation.
#define PcdSet64S (   TokenName,
  Value 
)    _PCD_SET_MODE_64_S_##TokenName ((Value))

Sets a 64-bit PCD token value based on a token name.

Sets the 64-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 64-bit value to set.
Returns
The status of the set operation.
#define PcdSet8S (   TokenName,
  Value 
)    _PCD_SET_MODE_8_S_##TokenName ((Value))

Sets a 8-bit PCD token value based on a token name.

Sets the 8-bit value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 8-bit value to set.
Returns
The status of the set operation.
#define PcdSetBoolS (   TokenName,
  Value 
)    _PCD_SET_MODE_BOOL_S_##TokenName ((Value))

Sets a boolean PCD token value based on a token name.

Sets the boolean value for the token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe boolean value to set.
Returns
The status of the set operation.
#define PcdSetEx16S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx16S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets an 16-bit PCD token value based on a GUID and a token name.

Sets the 16-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 16-bit value to set.
Returns
The status of the set operation.
#define PcdSetEx32S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx32S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets an 32-bit PCD token value based on a GUID and a token name.

Sets the 32-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 32-bit value to set.
Returns
The status of the set operation.
#define PcdSetEx64S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx64S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets an 64-bit PCD token value based on a GUID and a token name.

Sets the 64-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 64-bit value to set.
Returns
The status of the set operation.
#define PcdSetEx8S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx8S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets an 8-bit PCD token value based on a GUID and a token name.

Sets the 8-bit value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 8-bit value to set.
Returns
The status of the set operation.
#define PcdSetExBoolS (   Guid,
  TokenName,
  Value 
)    LibPcdSetExBoolS ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets an boolean PCD token value based on a GUID and a token name.

Sets the boolean value for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe boolean value to set.
Returns
The status of the set operation.
#define PcdSetExPtrS (   Guid,
  TokenName,
  SizeOfBuffer,
  Buffer 
)    LibPcdSetExPtrS ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))

Sets a pointer to a PCD token buffer based on a GUID and a token name.

Sets the buffer for the token specified by Guid and TokenName. If SizeOfBuffer is greater than the maximum size supported by Guid and TokenName, then set SizeOfBuffer to the maximum size supported by Guid and TokenName and return RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by Guid and TokenName and RETURN_INVALID_PARAMETER must be returned. If TokenName is not a valid token in the token space specified by Guid, then the module will not build.

If Guid is NULL, then ASSERT(). If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
SizeOfBufferA pointer to the size, in bytes, of Buffer.
BufferPointer to the buffer to set.
Returns
The status of the set operation.
#define PcdSetPtrS (   TokenName,
  SizeOfBuffer,
  Buffer 
)    _PCD_SET_MODE_PTR_S_##TokenName ((SizeOfBuffer), (Buffer))

Sets a pointer to a PCD token buffer based on a token name.

Sets the buffer for the token specified by TokenName. If SizeOfBuffer is greater than the maximum size supported by TokenName, then set SizeOfBuffer to the maximum size supported by TokenName and return RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by TokenName and RETURN_INVALID_PARAMETER must be returned. If TokenName is not a valid token in the token space, then the module will not build.

If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
TokenNameThe name of the PCD token to set the current value for.
SizeOfBufferA pointer to the size, in bytes, of Buffer.
BufferA pointer to the buffer to set.
Returns
The status of the set operation.
#define PcdToken (   TokenName)    _PCD_TOKEN_##TokenName

Retrieves a token number based on a token name.

Returns the token number associated with the PCD token specified by TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
TokenNameThe name of the PCD token to retrieve the token number for.
Returns
The token number associated with the PCD.
#define PcdTokenEx (   Guid,
  TokenName 
)    _PCD_TOKEN_EX_##TokenName(Guid)

Retrieves a token number based on a GUID and a token name.

Returns the token number for the token specified by Guid and TokenName. If TokenName is not a valid token in the token space, then the module will not build.

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
Return the token number.

Typedef Documentation

typedef VOID(EFIAPI * PCD_CALLBACK)(IN CONST GUID *CallBackGuid, IN UINTN CallBackToken, IN OUT VOID *TokenData, IN UINTN TokenDataSize)

This notification function serves two purposes.

Firstly, it notifies the module that did the registration that the value of this PCD token has been set. Secondly, it provides a mechanism for the module that did the registration to intercept the set operation and override the value been set if necessary. After the invocation of the callback function, TokenData will be used by PCD service PEIM or driver to modify th internal data in PCD database.

Parameters
[in]CallBackGuidThe PCD token GUID being set.
[in]CallBackTokenThe PCD token number being set.
[in,out]TokenDataA pointer to the token data being set.
[in]TokenDataSizeThe size, in bytes, of the data being set.

Enumeration Type Documentation

enum PCD_TYPE
Enumerator
PCD_TYPE_8 
PCD_TYPE_16 
PCD_TYPE_32 
PCD_TYPE_64 
PCD_TYPE_BOOL 
PCD_TYPE_PTR 

Function Documentation

VOID* EFIAPI LibPatchPcdSetPtr ( OUT VOID PatchVariable,
IN UINTN  MaximumDatumSize,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

Sets a value of a patchable PCD entry that is type pointer.

Sets the PCD entry specified by PatchVariable to the value specified by Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return NULL to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to MaximumDatumSize and NULL must be returned.

If PatchVariable is NULL, then ASSERT(). If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the Buffer that was set.
VOID* EFIAPI LibPatchPcdSetPtrAndSize ( OUT VOID PatchVariable,
OUT UINTN SizeOfPatchVariable,
IN UINTN  MaximumDatumSize,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

Sets a value and size of a patchable PCD entry that is type pointer.

Sets the PCD entry specified by PatchVariable to the value specified by Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return NULL to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to MaximumDatumSize and NULL must be returned.

If PatchVariable is NULL, then ASSERT(). If SizeOfPatchVariable is NULL, then ASSERT(). If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[out]SizeOfPatchVariableA pointer to the size, in bytes, of PatchVariable.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the Buffer that was set.
RETURN_STATUS EFIAPI LibPatchPcdSetPtrAndSizeS ( OUT VOID PatchVariable,
OUT UINTN SizeOfPatchVariable,
IN UINTN  MaximumDatumSize,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

Sets a value and size of a patchable PCD entry that is type pointer.

Sets the PCD entry specified by PatchVariable to the value specified by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to MaximumDatumSize and RETURN_INVALID_PARAMETER must be returned.

If PatchVariable is NULL, then ASSERT(). If SizeOfPatchVariable is NULL, then ASSERT(). If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[out]SizeOfPatchVariableA pointer to the size, in bytes, of PatchVariable.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPatchPcdSetPtrS ( OUT VOID PatchVariable,
IN UINTN  MaximumDatumSize,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

Sets a value of a patchable PCD entry that is type pointer.

Sets the PCD entry specified by PatchVariable to the value specified by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed. If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to MaximumDatumSize and RETURN_INVALID_PARAMETER must be returned.

If PatchVariable is NULL, then ASSERT(). If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
The status of the set operation.
VOID EFIAPI LibPcdCallbackOnSet ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN PCD_CALLBACK  NotificationFunction 
)

Set up a notification function that is called when a specified token is set.

When the token specified by TokenNumber and Guid is set, then notification function specified by NotificationFunction is called. If Guid is NULL, then the default token space is used. If NotificationFunction is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to set a value from. If NULL, then the default token space is used.
[in]TokenNumberThe PCD token number to monitor.
[in]NotificationFunctionThe function to call when the token specified by Guid and TokenNumber is set.
VOID EFIAPI LibPcdCancelCallback ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN PCD_CALLBACK  NotificationFunction 
)

Disable a notification function that was established with LibPcdCallbackonSet().

Disable a notification function that was previously established with LibPcdCallbackOnSet(). If NotificationFunction is NULL, then ASSERT(). If LibPcdCallbackOnSet() was not previously called with Guid, TokenNumber, and NotificationFunction, then ASSERT().

Parameters
[in]GuidSpecify the GUID token space.
[in]TokenNumberSpecify the token number.
[in]NotificationFunctionThe callback function to be unregistered.
UINT16 EFIAPI LibPcdGet16 ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 16-bit value for the token specified by TokenNumber.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 16-bit value for the token specified by TokenNumber.
UINT32 EFIAPI LibPcdGet32 ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 32-bit value for the token specified by TokenNumber.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 32-bit value for the token specified by TokenNumber.
UINT64 EFIAPI LibPcdGet64 ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 64-bit value for the token specified by TokenNumber.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 64-bit value for the token specified by TokenNumber.
UINT8 EFIAPI LibPcdGet8 ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 8-bit value for the token specified by TokenNumber.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 8-bit value for the token specified by TokenNumber.
BOOLEAN EFIAPI LibPcdGetBool ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the Boolean value of the token specified by TokenNumber.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the Boolean value of the token specified by TokenNumber.
UINT16 EFIAPI LibPcdGetEx16 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 16-bit value for the token specified by TokenNumber and Guid.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT16.
UINT32 EFIAPI LibPcdGetEx32 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

Returns the 32-bit value for the token specified by TokenNumber and Guid. If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT32.
UINT64 EFIAPI LibPcdGetEx64 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 64-bit value for the token specified by TokenNumber and Guid.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT64.
UINT8 EFIAPI LibPcdGetEx8 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the 8-bit value for the token specified by TokenNumber and Guid.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT8.
BOOLEAN EFIAPI LibPcdGetExBool ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the Boolean value of the token specified by TokenNumber and Guid.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the BOOLEAN.
VOID* EFIAPI LibPcdGetExPtr ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the pointer to the buffer of token specified by TokenNumber and Guid.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the VOID* pointer.
UINTN EFIAPI LibPcdGetExSize ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

This function provides a means by which to retrieve the size of a given PCD token.

Returns the size of the token specified by TokenNumber and Guid.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the size.
VOID EFIAPI LibPcdGetInfo ( IN UINTN  TokenNumber,
OUT PCD_INFO PcdInfo 
)

Retrieve additional information associated with a PCD token.

This includes information such as the type of value the TokenNumber is associated with as well as possible human readable name that is associated with the token.

If TokenNumber is not in the default token space specified, then ASSERT().

Parameters
[in]TokenNumberThe PCD token number.
[out]PcdInfoThe returned information associated with the requested TokenNumber. The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.
VOID EFIAPI LibPcdGetInfoEx ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
OUT PCD_INFO PcdInfo 
)

Retrieve additional information associated with a PCD token.

This includes information such as the type of value the TokenNumber is associated with as well as possible human readable name that is associated with the token.

If TokenNumber is not in the token space specified by Guid, then ASSERT().

Parameters
[in]GuidThe 128-bit unique value that designates the namespace from which to extract the value.
[in]TokenNumberThe PCD token number.
[out]PcdInfoThe returned information associated with the requested TokenNumber. The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.
UINTN EFIAPI LibPcdGetNextToken ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

Retrieves the next token in a token space.

Retrieves the next PCD token number from the token space specified by Guid. If Guid is NULL, then the default token space is used. If TokenNumber is 0, then the first token number is returned. Otherwise, the token number that follows TokenNumber in the token space is returned. If TokenNumber is the last token number in the token space, then 0 is returned.

If TokenNumber is not 0 and is not in the token space specified by Guid, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to set a value from. If NULL, then the default token space is used.
[in]TokenNumberThe previous PCD token number. If 0, then retrieves the first PCD token number.
Returns
The next valid token number.
GUID* EFIAPI LibPcdGetNextTokenSpace ( IN CONST GUID TokenSpaceGuid)

Used to retrieve the list of available PCD token space GUIDs.

Returns the PCD token space GUID that follows TokenSpaceGuid in the list of token spaces in the platform. If TokenSpaceGuid is NULL, then a pointer to the first PCD token spaces returned. If TokenSpaceGuid is the last PCD token space GUID in the list, then NULL is returned.

Parameters
TokenSpaceGuidPointer to the a PCD token space GUID
Returns
The next valid token namespace.
VOID* EFIAPI LibPcdGetPtr ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve a value for a given PCD token.

Returns the pointer to the buffer of the token specified by TokenNumber.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the pointer to the token specified by TokenNumber.
UINTN EFIAPI LibPcdGetSize ( IN UINTN  TokenNumber)

This function provides a means by which to retrieve the size of a given PCD token.

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the size of the token specified by TokenNumber.
UINTN EFIAPI LibPcdGetSku ( VOID  )

Retrieve the currently set SKU Id.

Returns
The currently set SKU Id. If the platform has not set at a SKU Id, then the default SKU Id value of 0 is returned. If the platform has set a SKU Id, then the currently set SKU Id is returned.
RETURN_STATUS EFIAPI LibPcdSet16S ( IN UINTN  TokenNumber,
IN UINT16  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 16-bit value for the token specified by TokenNumber to the value specified by Value.

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 16-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSet32S ( IN UINTN  TokenNumber,
IN UINT32  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 32-bit value for the token specified by TokenNumber to the value specified by Value.

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 32-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSet64S ( IN UINTN  TokenNumber,
IN UINT64  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 64-bit value for the token specified by TokenNumber to the value specified by Value.

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 64-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSet8S ( IN UINTN  TokenNumber,
IN UINT8  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 8-bit value for the token specified by TokenNumber to the value specified by Value.

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 8-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetBoolS ( IN UINTN  TokenNumber,
IN BOOLEAN  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the boolean value for the token specified by TokenNumber to the value specified by Value.

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe boolean value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetEx16S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT16  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 16-bit value for the token specified by TokenNumber to the value specified by Value.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 16-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetEx32S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT32  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 32-bit value for the token specified by TokenNumber to the value specified by Value.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 32-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetEx64S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT64  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 64-bit value for the token specified by TokenNumber to the value specified by Value.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 64-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetEx8S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT8  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the 8-bit value for the token specified by TokenNumber to the value specified by Value.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 8-bit value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetExBoolS ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN BOOLEAN  Value 
)

This function provides a means by which to set a value for a given PCD token.

Sets the boolean value for the token specified by TokenNumber to the value specified by Value.

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe boolean value to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetExPtrS ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN OUT UINTN SizeOfBuffer,
IN VOID Buffer 
)

This function provides a means by which to set a value for a given PCD token.

Sets a buffer for the token specified by TokenNumber to the value specified by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber and return RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed.

If Guid is NULL, then ASSERT(). If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in,out]SizeOfBufferThe size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to set.
Returns
The status of the set operation.
RETURN_STATUS EFIAPI LibPcdSetPtrS ( IN UINTN  TokenNumber,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

This function provides a means by which to set a value for a given PCD token.

Sets a buffer for the token specified by TokenNumber to the value specified by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber and return RETURN_INVALID_PARAMETER to indicate that the set operation was not actually performed.

If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by TokenName and RETURN_INVALID_PARAMETER must be returned.

If SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in,out]SizeOfBufferThe size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to set.
Returns
The status of the set operation.
UINTN EFIAPI LibPcdSetSku ( IN UINTN  SkuId)

This function provides a means by which SKU support can be established in the PCD infrastructure.

Sets the current SKU in the PCD database to the value specified by SkuId. SkuId is returned.

Parameters
SkuIdThe SKU value that will be used when the PCD service retrieves and sets values associated with a PCD token.
Returns
Return the SKU ID that was set.