MdePkg/Include/Library/PcdLib.h File Reference


Data Structures

struct  PCD_INFO

Defines

#define PCD_MAX_SKU_ID   0x100
#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 PcdSet8(TokenName, Value)   _PCD_SET_MODE_8_##TokenName ((Value))
#define PcdSet16(TokenName, Value)   _PCD_SET_MODE_16_##TokenName ((Value))
#define PcdSet32(TokenName, Value)   _PCD_SET_MODE_32_##TokenName ((Value))
#define PcdSet64(TokenName, Value)   _PCD_SET_MODE_64_##TokenName ((Value))
#define PcdSetPtr(TokenName, SizeOfBuffer, Buffer)   _PCD_SET_MODE_PTR_##TokenName ((SizeOfBuffer), (Buffer))
#define PcdSetBool(TokenName, Value)   _PCD_SET_MODE_BOOL_##TokenName ((Value))
#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 PcdSetEx8(Guid, TokenName, Value)   LibPcdSetEx8 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
#define PcdSetEx16(Guid, TokenName, Value)   LibPcdSetEx16 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
#define PcdSetEx32(Guid, TokenName, Value)   LibPcdSetEx32 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
#define PcdSetEx64(Guid, TokenName, Value)   LibPcdSetEx64 ((Guid), PcdTokenEx(Guid,TokenName), (Value))
#define PcdSetExPtr(Guid, TokenName, SizeOfBuffer, Buffer)   LibPcdSetExPtr ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))
#define PcdSetExBool(Guid, TokenName, Value)   LibPcdSetExBool((Guid), PcdTokenEx(Guid,TokenName), (Value))
#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)
UINT8 EFIAPI LibPcdSet8 (IN UINTN TokenNumber, IN UINT8 Value)
UINT16 EFIAPI LibPcdSet16 (IN UINTN TokenNumber, IN UINT16 Value)
UINT32 EFIAPI LibPcdSet32 (IN UINTN TokenNumber, IN UINT32 Value)
UINT64 EFIAPI LibPcdSet64 (IN UINTN TokenNumber, IN UINT64 Value)
VOID *EFIAPI LibPcdSetPtr (IN UINTN TokenNumber, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
BOOLEAN EFIAPI LibPcdSetBool (IN UINTN TokenNumber, IN BOOLEAN Value)
UINT8 EFIAPI LibPcdSetEx8 (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT8 Value)
UINT16 EFIAPI LibPcdSetEx16 (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT16 Value)
UINT32 EFIAPI LibPcdSetEx32 (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT32 Value)
UINT64 EFIAPI LibPcdSetEx64 (IN CONST GUID *Guid, IN UINTN TokenNumber, IN UINT64 Value)
VOID *EFIAPI LibPcdSetExPtr (IN CONST GUID *Guid, IN UINTN TokenNumber, IN OUT UINTN *SizeOfBuffer, IN VOID *Buffer)
BOOLEAN EFIAPI LibPcdSetExBool (IN CONST GUID *Guid, IN UINTN TokenNumber, IN BOOLEAN Value)
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 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define 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, then the module will not build.

Parameters:
TokenName The name of the PCD token to retrieve a current value for.
Returns:
Boolean value for the PCD feature flag.

Referenced by EfiLibInstallAllDriverProtocols(), EfiLibInstallAllDriverProtocols2(), EfiLibInstallDriverBindingComponentName2(), InternalBaseLibIsNodeInList(), InternalPrintGraphic(), OrderedCollectionDelete(), OrderedCollectionInit(), and OrderedCollectionInsert().

#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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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] TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The 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] TokenName The 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 feature flag, then the module will not build.

Parameters:
TokenName The name of the binary patchable PCD token to set the current value for.
Value The 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 feature flag, then the module will not build.

Parameters:
TokenName The name of the binary patchable PCD token to set the current value for.
Value The 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 feature flag, then the module will not build.

Parameters:
TokenName The name of the binary patchable PCD token to set the current value for.
Value The 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 feature flag, then the module will not build.

Parameters:
TokenName The name of the binary patchable PCD token to set the current value for.
Value The 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 feature flag, then the module will not build.

Parameters:
TokenName The name of the binary patchable PCD token to set the current value for.
Value The boolean value to set.
Returns:
Return the Value that was set.

#define PatchPcdSetPtr ( TokenName,
Size,
Buffer   ) 

Value:

LibPatchPcdSetPtrAndSize (                 \
                                              (VOID *)_gPcd_BinaryPatch_##TokenName,   \
                                              &_gPcd_BinaryPatch_Size_##TokenName,     \
                                              (UINTN)_PCD_PATCHABLE_##TokenName##_SIZE, \
                                              (Size),                                  \
                                              (Buffer)                                 \
                                              )
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 feature flag, then the module will not build.

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

Parameters:
TokenName The name of the binary patchable PCD token to set the current value for.
SizeOfBuffer A pointer to the size, in bytes, of Buffer.
Buffer Pointer to the value to set.
Returns:
Return the pointer to the Buffer that was set.

#define PCD_MAX_SKU_ID   0x100

Referenced by LibPcdGetSku(), and LibPcdSetSku().

#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:
TokenName The name of the PCD token to retrieve a current value for.
Returns:
16-bit value for the token specified by TokenName.

Referenced by FileHandlePrintLine().

#define PcdGet32 ( TokenName   )     _PCD_GET_MODE_32_##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:
TokenName The name of the PCD token to retrieve a current value for.
Returns:
64-bit value for the token specified by TokenName.

Referenced by DxeRuntimePciExpressLibConstructor(), GetExtractGuidedSectionHandlerInfo(), GetPciExpressBaseAddress(), and InternalGetMemoryMapAddress().

#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:
TokenName The name of the PCD token to retrieve a current value for.
Returns:
8-bit value for the token specified by TokenName.

Referenced by __stack_chk_fail(), DebugAssert(), DebugAssertEnabled(), DebugClearMemory(), DebugClearMemoryEnabled(), DebugCodeEnabled(), DebugPrintEnabled(), PerformanceMeasurementEnabled(), PostCodeDescriptionEnabled(), and PostCodeEnabled().

#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:
TokenName The 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The 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:
TokenName The 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] TokenName The name of the PCD token to retrieve a current value size for.
Returns:
Return the size

#define PcdSet16 ( TokenName,
Value   )     _PCD_SET_MODE_16_##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. Value is returned. If TokenName is not a valid token in the token space, then the module will not build.

Parameters:
TokenName The name of the PCD token to retrieve a current value for.
Value The 16-bit value to set.
Returns:
Return the Value that was set.

#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:
TokenName The name of the PCD token to retrieve a current value for.
Value The 16-bit value to set.
Returns:
The status of the set operation.

#define PcdSet32 ( TokenName,
Value   )     _PCD_SET_MODE_32_##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. Value is returned. If TokenName is not a valid token in the token space, then the module will not build.

Parameters:
TokenName The name of the PCD token to retrieve a current value for.
Value The 32-bit value to set.
Returns:
Return the Value that was set.

#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:
TokenName The name of the PCD token to retrieve a current value for.
Value The 32-bit value to set.
Returns:
The status of the set operation.

#define PcdSet64 ( TokenName,
Value   )     _PCD_SET_MODE_64_##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. Value is returned. If TokenName is not a valid token in the token space, then the module will not build.

Parameters:
TokenName The name of the PCD token to retrieve a current value for.
Value The 64-bit value to set.
Returns:
Return the Value that was set.

#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:
TokenName The name of the PCD token to retrieve a current value for.
Value The 64-bit value to set.
Returns:
The status of the set operation.

#define PcdSet8 ( TokenName,
Value   )     _PCD_SET_MODE_8_##TokenName ((Value))

Sets an 8-bit 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.

Parameters:
TokenName The name of the PCD token to retrieve a current value for.
Value The 8-bit value to set.
Returns:
Return the Value that was set.

#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:
TokenName The name of the PCD token to retrieve a current value for.
Value The 8-bit value to set.
Returns:
The status of the set operation.

#define PcdSetBool ( TokenName,
Value   )     _PCD_SET_MODE_BOOL_##TokenName ((Value))

Sets a Boolean 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.

Parameters:
TokenName The name of the PCD token to set the current value for.
Buffer The Boolean value to set.
Returns:
Return the Value that was set.

#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:
TokenName The name of the PCD token to retrieve a current value for.
Value The boolean value to set.
Returns:
The status of the set operation.

#define PcdSetEx16 ( Guid,
TokenName,
Value   )     LibPcdSetEx16 ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets a 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. Value is 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().

Parameters:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 16-bit value to set.
Returns:
Return the Value that was set.

#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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 16-bit value to set.
Returns:
The status of the set operation.

#define PcdSetEx32 ( Guid,
TokenName,
Value   )     LibPcdSetEx32 ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets a 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. Value is 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().

Parameters:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 32-bit value to set.
Returns:
Return the Value that was set.

#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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 32-bit value to set.
Returns:
The status of the set operation.

#define PcdSetEx64 ( Guid,
TokenName,
Value   )     LibPcdSetEx64 ((Guid), PcdTokenEx(Guid,TokenName), (Value))

Sets a 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. Value is 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().

Parameters:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 64-bit value to set.
Returns:
Return the Value that was set.

#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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 64-bit value to set.
Returns:
The status of the set operation.

#define PcdSetEx8 ( Guid,
TokenName,
Value   )     LibPcdSetEx8 ((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. Value is 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().

Parameters:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 8-bit value to set.
Returns:
Return the Value that was set.

#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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The 8-bit value to set.
Returns:
The status of the set operation.

#define PcdSetExBool ( Guid,
TokenName,
Value   )     LibPcdSetExBool((Guid), PcdTokenEx(Guid,TokenName), (Value))

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

Sets the Boolean value for the token specified by Guid and TokenName. Value is 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().

Parameters:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The Boolean value to set.
Returns:
Return the Value that was set.

#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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
Value The boolean value to set.
Returns:
The status of the set operation.

#define PcdSetExPtr ( Guid,
TokenName,
SizeOfBuffer,
Buffer   )     LibPcdSetExPtr ((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. Buffer is returned. 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 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 Guid and TokenName and NULL 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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
SizeOfBuffer A pointer to the size, in bytes, of Buffer.
Buffer Pointer to the buffer to set.
Returns:
Return the pointer to the Buffer that was set.

#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:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The name of the PCD token to set the current value for.
SizeOfBuffer A pointer to the size, in bytes, of Buffer.
Buffer Pointer to the buffer to set.
Returns:
The status of the set operation.

#define PcdSetPtr ( TokenName,
SizeOfBuffer,
Buffer   )     _PCD_SET_MODE_PTR_##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. 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 SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters:
TokenName The name of the PCD token to set the current value for.
SizeOfBuffer A pointer to the size, in bytes, of Buffer.
Buffer A pointer to the buffer to set.
Returns:
Return the pointer to the Buffer that was set.

#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:
TokenName The name of the PCD token to set the current value for.
SizeOfBuffer A pointer to the size, in bytes, of Buffer.
Buffer A 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. If TokenName is not a feature flag, then the module will not build.

Parameters:
TokenName The 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.

Parameters:
Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenName The 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] CallBackGuid The PCD token GUID being set.
[in] CallBackToken The PCD token number being set.
[in,out] TokenData A pointer to the token data being set.
[in] TokenDataSize The 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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
Return the pointer to the Buffer that was set.
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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
Return the pointer to the buffer that was set.
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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
Return the pointer to the buffer been set.

References ASSERT, CopyMem(), MAX_ADDRESS, NULL, and VOID.

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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
Return the pointer to the Buffer that was set.
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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
Return the pointer to the buffer been set.

References ASSERT, CopyMem(), MAX_ADDRESS, NULL, and VOID.

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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
The status of the set operation.

References ASSERT, CopyMem(), MAX_ADDRESS, NULL, RETURN_INVALID_PARAMETER, and RETURN_SUCCESS.

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] PatchVariable A pointer to the global variable in a module that is the target of the set operation.
[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable.
[in,out] SizeOfBuffer A pointer to the size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to used to set the target variable.
Returns:
The status of the set operation.

References ASSERT, CopyMem(), MAX_ADDRESS, NULL, RETURN_INVALID_PARAMETER, and RETURN_SUCCESS.

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] Guid Pointer 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] TokenNumber The PCD token number to monitor.
[in] NotificationFunction The function to call when the token specified by Guid and TokenNumber is set.
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] Guid The pointer 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] TokenNumber The PCD token number to monitor.
[in] NotificationFunction The function to call when the token specified by Guid and TokenNumber is set.
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] Guid The pointer 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] TokenNumber The PCD token number to monitor.
[in] NotificationFunction The function to call when the token specified by Guid and TokenNumber is set.
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] Guid The pointer 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] TokenNumber The PCD token number to monitor.
[in] NotificationFunction The function to call when the token specified by Guid and TokenNumber is set.

References ASSERT, ASSERT_EFI_ERROR, _EFI_PCD_PROTOCOL::CallbackOnSet, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] Guid Specify the GUID token space.
[in] TokenNumber Specify the token number.
[in] NotificationFunction The callback function to be unregistered.
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] Guid Specify the GUID token space.
[in] TokenNumber Specify the token number.
[in] NotificationFunction The callback function to be unregistered.

References ASSERT, ASSERT_EFI_ERROR, _EFI_PCD_PROTOCOL::CancelCallback, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the 16-bit value for the token specified by TokenNumber.

References ASSERT, FALSE, PCD_PROTOCOL::Get16, GetPcdPpiPointer(), and GetPcdProtocol().

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] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the 32-bit value for the token specified by TokenNumber.

References ASSERT, FALSE, PCD_PROTOCOL::Get32, GetPcdPpiPointer(), and GetPcdProtocol().

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] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the 64-bit value for the token specified by TokenNumber.

References ASSERT, FALSE, PCD_PROTOCOL::Get64, GetPcdPpiPointer(), and GetPcdProtocol().

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] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the 8-bit value for the token specified by TokenNumber.

References ASSERT, FALSE, PCD_PROTOCOL::Get8, GetPcdPpiPointer(), and GetPcdProtocol().

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] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the Boolean value of the token specified by TokenNumber.

References ASSERT, FALSE, PCD_PROTOCOL::GetBool, GetPcdPpiPointer(), and GetPcdProtocol().

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT16.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT16.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT16.

References ASSERT, FALSE, _EFI_PCD_PROTOCOL::Get16, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT32.
Returns the 32-bit value for the token specified by TokenNumber and Guid. If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT32.
Returns the 32-bit value for the token specified by TokenNumber and Guid. If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT32.

References ASSERT, FALSE, _EFI_PCD_PROTOCOL::Get32, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT64.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT64.

References ASSERT, FALSE, _EFI_PCD_PROTOCOL::Get64, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT8.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT8.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the UINT8.

References ASSERT, FALSE, _EFI_PCD_PROTOCOL::Get8, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the BOOLEAN.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the BOOLEAN.

References ASSERT, FALSE, _EFI_PCD_PROTOCOL::GetBool, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the VOID* pointer.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the VOID* pointer.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), _EFI_PCD_PROTOCOL::GetPtr, and NULL.

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] Guid Pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the size.
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] Guid The pointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Return the size.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), _EFI_PCD_PROTOCOL::GetSize, and NULL.

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] TokenNumber The PCD token number.
[out] PcdInfo The returned information associated with the requested TokenNumber. The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.

References ASSERT, ASSERT_EFI_ERROR, FALSE, _GET_PCD_INFO_PPI::GetInfo, _GET_PCD_INFO_PROTOCOL::GetInfo, GetPcdInfoPpiPointer(), and GetPcdInfoProtocolPointer().

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] Guid The 128-bit unique value that designates the namespace from which to extract the value.
[in] TokenNumber The PCD token number.
[out] PcdInfo The returned information associated with the requested TokenNumber. The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.

References ASSERT, ASSERT_EFI_ERROR, FALSE, _EFI_GET_PCD_INFO_PPI::GetInfo, _EFI_GET_PCD_INFO_PROTOCOL::GetInfo, GetPiPcdInfoPpiPointer(), and GetPiPcdInfoProtocolPointer().

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] Guid Pointer 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] TokenNumber The previous PCD token number. If 0, then retrieves the first PCD token number.
Returns:
The next valid token number.
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] Guid The pointer 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] TokenNumber The previous PCD token number. If 0, then retrieves the first PCD token number.
Returns:
The next valid token number.

References ASSERT, EFI_ERROR, FALSE, _EFI_PCD_PROTOCOL::GetNextToken, GetPiPcdPpiPointer(), and GetPiPcdProtocol().

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:
TokenSpaceGuid Pointer to the a PCD token space GUID
Returns:
The next valid token namespace.
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:
TokenSpaceGuid The pointer to a PCD token space GUID.
Returns:
The next valid token namespace.
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:
TokenSpaceGuid The pointer to the a PCD token space GUID.
Returns:
The next valid token namespace.
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:
TokenSpaceGuid The pointer to the a PCD token space GUID
Returns:
The next valid token namespace.

References ASSERT, FALSE, _EFI_PCD_PROTOCOL::GetNextTokenSpace, GetPiPcdPpiPointer(), GetPiPcdProtocol(), and NULL.

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] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the pointer to the token specified by TokenNumber.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::GetPtr.

UINTN EFIAPI LibPcdGetSize ( IN UINTN  TokenNumber  ) 

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

Parameters:
[in] TokenNumber The PCD token number to retrieve a current value for.
Returns:
Returns the size of the token specified by TokenNumber.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::GetSize.

UINTN EFIAPI LibPcdGetSku ( VOID   ) 

Retrieve the currently set SKU Id.

If the sku id got >= PCD_MAX_SKU_ID, then ASSERT().

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.

References ASSERT, FALSE, GetPiPcdInfoPpiPointer(), GetPiPcdInfoProtocolPointer(), _EFI_GET_PCD_INFO_PPI::GetSku, _EFI_GET_PCD_INFO_PROTOCOL::GetSku, and PCD_MAX_SKU_ID.

UINT16 EFIAPI LibPcdSet16 ( 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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 16-bit value to set.
Returns:
Return the Value that was set.
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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 16-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::Set16.

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] TokenNumber The PCD token number to set a current value for.
[in] Value The 16-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), RETURN_INVALID_PARAMETER, and PCD_PROTOCOL::Set16.

UINT32 EFIAPI LibPcdSet32 ( 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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 32-bit value to set.
Returns:
Return the Value that was set.
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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 32-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::Set32.

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] TokenNumber The PCD token number to set a current value for.
[in] Value The 32-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), RETURN_INVALID_PARAMETER, and PCD_PROTOCOL::Set32.

UINT64 EFIAPI LibPcdSet64 ( 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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 64-bit value to set.
Returns:
Return the Value that was set.
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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 64-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::Set64.

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] TokenNumber The PCD token number to set a current value for.
[in] Value The 64-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), RETURN_INVALID_PARAMETER, and PCD_PROTOCOL::Set64.

UINT8 EFIAPI LibPcdSet8 ( 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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 8-bit value to set.
Returns:
Return the Value that was set.
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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 8-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::Set8.

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] TokenNumber The PCD token number to set a current value for.
[in] Value The 8-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), RETURN_INVALID_PARAMETER, and PCD_PROTOCOL::Set8.

BOOLEAN EFIAPI LibPcdSetBool ( 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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The boolean value to set.
Returns:
Return the Value that was set.
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. Value is returned.

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The boolean value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), and PCD_PROTOCOL::SetBool.

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] TokenNumber The PCD token number to set a current value for.
[in] Value The boolean value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), RETURN_INVALID_PARAMETER, and PCD_PROTOCOL::SetBool.

UINT16 EFIAPI LibPcdSetEx16 ( 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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 16-bit value to set.
Returns:
Return the Value that was set.
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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 16-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, and _EFI_PCD_PROTOCOL::Set16.

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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 16-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, and _EFI_PCD_PROTOCOL::Set16.

UINT32 EFIAPI LibPcdSetEx32 ( 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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 32-bit value to set.
Returns:
Return the Value that was set.
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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 32-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, and _EFI_PCD_PROTOCOL::Set32.

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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 32-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, and _EFI_PCD_PROTOCOL::Set32.

UINT64 EFIAPI LibPcdSetEx64 ( 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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 64-bit value to set.
Returns:
Return the Value that was set.
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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 64-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, and _EFI_PCD_PROTOCOL::Set64.

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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 64-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, and _EFI_PCD_PROTOCOL::Set64.

UINT8 EFIAPI LibPcdSetEx8 ( 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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 8-bit value to set.
Returns:
Return the Value that was set.
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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 8-bit value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, and _EFI_PCD_PROTOCOL::Set8.

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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The 8-bit value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, and _EFI_PCD_PROTOCOL::Set8.

BOOLEAN EFIAPI LibPcdSetExBool ( 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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The Boolean value to set.
Returns:
Return the Value that was set.
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 and Guid to the value specified by Value. Value is returned.

If Guid is NULL, then ASSERT().

Parameters:
[in] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The Boolean value to set.
Returns:
Return the value that was set.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, and _EFI_PCD_PROTOCOL::SetBool.

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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in] Value The boolean value to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, and _EFI_PCD_PROTOCOL::SetBool.

VOID* EFIAPI LibPcdSetExPtr ( 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. Buffer is returned. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber and return NULL 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] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
Return the pointer to the Buffer that was set.
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. Buffer is returned. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber and return NULL 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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
Return the pinter to the buffer been set.
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. Buffer is returned. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber and return NULL 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] Guid The pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
Return the pointer to the buffer been set.

References ASSERT, EFI_ERROR, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, and _EFI_PCD_PROTOCOL::SetPtr.

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] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
The status of the set operation.
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 EFI_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] Guid Pointer to a 128-bit unique value that designates which namespace to set a value from.
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPiPcdPpiPointer(), GetPiPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, and _EFI_PCD_PROTOCOL::SetPtr.

VOID* EFIAPI LibPcdSetPtr ( 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. Buffer is returned. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber 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 SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
Return the pointer for the Buffer that was set.
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. Buffer is returned. If SizeOfBuffer is greater than the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size supported by TokenNumber 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 SizeOfBuffer is NULL, then ASSERT(). If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
Return the pointer for the buffer been set.

References ASSERT, EFI_ERROR, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), NULL, PCD_PROTOCOL::SetPtr, and VOID.

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] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
The status of the set operation.
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 EFI_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 EFI_INVALID_PARAMETER must be returned.

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

Parameters:
[in] TokenNumber The PCD token number to set a current value for.
[in,out] SizeOfBuffer The size, in bytes, of Buffer.
[in] Buffer A pointer to the buffer to set.
Returns:
The status of the set operation.

References ASSERT, FALSE, GetPcdPpiPointer(), GetPcdProtocol(), NULL, RETURN_INVALID_PARAMETER, PCD_PROTOCOL::SetPtr, and VOID.

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. If SkuId >= PCD_MAX_SKU_ID, then ASSERT().

Parameters:
SkuId The 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.
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:
[in] SkuId The SKU value that will be used when the PCD service will retrieve and set values associated with a PCD token.
If SkuId >= 0x100, then ASSERT().

Returns:
Return the SKU ID that just be set.
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. If SkuId >= PCD_MAX_SKU_ID, then ASSERT().

Parameters:
SkuId The 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 just be set.
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. If SkuId >= PCD_MAX_SKU_ID, then ASSERT().

Parameters:
SkuId The 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 just be set.

References ASSERT, FALSE, GetPcdProtocol(), GetPiPcdPpiPointer(), PCD_MAX_SKU_ID, EFI_PEI_PCD_PPI::SetSku, and PCD_PROTOCOL::SetSku.


Generated on Thu Sep 24 23:14:17 2015 for MdePkg[ALL] by  doxygen 1.5.7.1