TianoCore EDK2 master
PcdLib.h File Reference

Go to the source code of this file.

Data Structures

struct  PCD_INFO
 

Macros

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

Typedefs

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

Enumerations

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

Functions

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

Detailed Description

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

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

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

Definition in file PcdLib.h.

Macro Definition Documentation

◆ FeaturePcdGet

#define FeaturePcdGet (   TokenName)    _PCD_GET_MODE_BOOL_##TokenName

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

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

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

Definition at line 50 of file PcdLib.h.

◆ FixedPcdGet16

#define FixedPcdGet16 (   TokenName)    _PCD_VALUE_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
16-bit value for the token specified by TokenName.

Definition at line 78 of file PcdLib.h.

◆ FixedPcdGet32

#define FixedPcdGet32 (   TokenName)    _PCD_VALUE_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
32-bit value for the token specified by TokenName.

Definition at line 92 of file PcdLib.h.

◆ FixedPcdGet64

#define FixedPcdGet64 (   TokenName)    _PCD_VALUE_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
64-bit value for the token specified by TokenName.

Definition at line 106 of file PcdLib.h.

◆ FixedPcdGet8

#define FixedPcdGet8 (   TokenName)    _PCD_VALUE_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
8-bit value for the token specified by TokenName.

Definition at line 64 of file PcdLib.h.

◆ FixedPcdGetBool

#define FixedPcdGetBool (   TokenName)    _PCD_VALUE_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
The Boolean value for the token.

Definition at line 120 of file PcdLib.h.

◆ FixedPcdGetPtr

#define FixedPcdGetPtr (   TokenName)    ((VOID *)_PCD_VALUE_##TokenName)

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to the buffer.

Definition at line 134 of file PcdLib.h.

◆ FixedPcdGetSize

#define FixedPcdGetSize (   TokenName)    _PCD_SIZE_##TokenName

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

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

Parameters
[in]TokenNameThe name of the PCD token to retrieve a current value size for.
Returns
Return the size

Definition at line 414 of file PcdLib.h.

◆ PatchPcdGet16

#define PatchPcdGet16 (   TokenName)    _gPcd_BinaryPatch_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 16-bit binary patchable PCD token value.

Definition at line 162 of file PcdLib.h.

◆ PatchPcdGet32

#define PatchPcdGet32 (   TokenName)    _gPcd_BinaryPatch_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 32-bit binary patchable PCD token value.

Definition at line 176 of file PcdLib.h.

◆ PatchPcdGet64

#define PatchPcdGet64 (   TokenName)    _gPcd_BinaryPatch_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A 64-bit binary patchable PCD token value.

Definition at line 190 of file PcdLib.h.

◆ PatchPcdGet8

#define PatchPcdGet8 (   TokenName)    _gPcd_BinaryPatch_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
An 8-bit binary patchable PCD token value.

Definition at line 148 of file PcdLib.h.

◆ PatchPcdGetBool

#define PatchPcdGetBool (   TokenName)    _gPcd_BinaryPatch_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
The Boolean value for the token.

Definition at line 204 of file PcdLib.h.

◆ PatchPcdGetPtr

#define PatchPcdGetPtr (   TokenName)    ((VOID *)_gPcd_BinaryPatch_##TokenName)

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to the buffer for the token.

Definition at line 218 of file PcdLib.h.

◆ PatchPcdGetSize

#define PatchPcdGetSize (   TokenName)    _gPcd_BinaryPatch_Size_##TokenName

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

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

Parameters
[in]TokenNameThe name of the PCD token to retrieve a current value size for.
Returns
Return the size

Definition at line 427 of file PcdLib.h.

◆ PatchPcdSet16

#define PatchPcdSet16 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

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

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

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 16-bit value to set.
Returns
Return the Value that was set.

Definition at line 248 of file PcdLib.h.

◆ PatchPcdSet32

#define PatchPcdSet32 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

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

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

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 32-bit value to set.
Returns
Return the Value that was set.

Definition at line 263 of file PcdLib.h.

◆ PatchPcdSet64

#define PatchPcdSet64 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

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

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

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 64-bit value to set.
Returns
Return the Value that was set.

Definition at line 278 of file PcdLib.h.

◆ PatchPcdSet8

#define PatchPcdSet8 (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

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

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

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
ValueThe 8-bit value to set.
Returns
Return the Value that was set.

Definition at line 233 of file PcdLib.h.

◆ PatchPcdSetBool

#define PatchPcdSetBool (   TokenName,
  Value 
)    (_gPcd_BinaryPatch_##TokenName = (Value))

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

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

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

Definition at line 293 of file PcdLib.h.

◆ PatchPcdSetPtr

#define PatchPcdSetPtr (   TokenName,
  Size,
  Buffer 
)
Value:
(VOID *)_gPcd_BinaryPatch_##TokenName, \
&_gPcd_BinaryPatch_Size_##TokenName, \
(UINTN)_PCD_PATCHABLE_##TokenName##_SIZE, \
(Size), \
(Buffer) \
)
UINT64 UINTN
VOID *EFIAPI LibPatchPcdSetPtrAndSize(OUT VOID *PatchVariable, OUT UINTN *SizeOfPatchVariable, IN UINTN MaximumDatumSize, IN OUT UINTN *SizeOfBuffer, IN CONST VOID *Buffer)
Definition: PcdLib.c:934

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

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

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

Parameters
TokenNameThe name of the binary patchable PCD token to set the current value for.
SizeOfBufferA pointer to the size, in bytes, of Buffer.
BufferPointer to the value to set.
Returns
Return the pointer to the Buffer that was set.

Definition at line 316 of file PcdLib.h.

◆ PcdGet16

#define PcdGet16 (   TokenName)    _PCD_GET_MODE_16_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
16-bit value for the token specified by TokenName.

Definition at line 349 of file PcdLib.h.

◆ PcdGet32

#define PcdGet32 (   TokenName)    _PCD_GET_MODE_32_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
32-bit value for the token specified by TokenName.

Definition at line 362 of file PcdLib.h.

◆ PcdGet64

#define PcdGet64 (   TokenName)    _PCD_GET_MODE_64_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
64-bit value for the token specified by TokenName.

Definition at line 375 of file PcdLib.h.

◆ PcdGet8

#define PcdGet8 (   TokenName)    _PCD_GET_MODE_8_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
8-bit value for the token specified by TokenName.

Definition at line 336 of file PcdLib.h.

◆ PcdGetBool

#define PcdGetBool (   TokenName)    _PCD_GET_MODE_BOOL_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A Boolean PCD token value.

Definition at line 401 of file PcdLib.h.

◆ PcdGetEx16

#define PcdGetEx16 (   Guid,
  TokenName 
)    LibPcdGetEx16 ((Guid), PcdTokenEx(Guid,TokenName))

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

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

If Guid is NULL, then ASSERT().

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

Definition at line 600 of file PcdLib.h.

◆ PcdGetEx32

#define PcdGetEx32 (   Guid,
  TokenName 
)    LibPcdGetEx32 ((Guid), PcdTokenEx(Guid,TokenName))

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

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

If Guid is NULL, then ASSERT().

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

Definition at line 618 of file PcdLib.h.

◆ PcdGetEx64

#define PcdGetEx64 (   Guid,
  TokenName 
)    LibPcdGetEx64 ((Guid), PcdTokenEx(Guid,TokenName))

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

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

If Guid is NULL, then ASSERT().

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

Definition at line 636 of file PcdLib.h.

◆ PcdGetEx8

#define PcdGetEx8 (   Guid,
  TokenName 
)    LibPcdGetEx8 ((Guid), PcdTokenEx(Guid,TokenName))

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

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

If Guid is NULL, then ASSERT().

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

Definition at line 582 of file PcdLib.h.

◆ PcdGetExBool

#define PcdGetExBool (   Guid,
  TokenName 
)    LibPcdGetExBool ((Guid), PcdTokenEx(Guid,TokenName))

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

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

If Guid is NULL, then ASSERT().

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

Definition at line 672 of file PcdLib.h.

◆ PcdGetExPtr

#define PcdGetExPtr (   Guid,
  TokenName 
)    LibPcdGetExPtr ((Guid), PcdTokenEx(Guid,TokenName))

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

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

If Guid is NULL, then ASSERT().

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

Definition at line 654 of file PcdLib.h.

◆ PcdGetExSize

#define PcdGetExSize (   Guid,
  TokenName 
)    LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))

Retrieve the size of a given PCD token.

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

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

Definition at line 455 of file PcdLib.h.

◆ PcdGetPtr

#define PcdGetPtr (   TokenName)    _PCD_GET_MODE_PTR_##TokenName

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
Returns
A pointer to the buffer.

Definition at line 388 of file PcdLib.h.

◆ PcdGetSize

#define PcdGetSize (   TokenName)    _PCD_GET_MODE_SIZE_##TokenName

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

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

Parameters
[in]TokenNameThe name of the PCD token to retrieve a current value size for.
Returns
Return the size

Definition at line 440 of file PcdLib.h.

◆ PcdSet16S

#define PcdSet16S (   TokenName,
  Value 
)    _PCD_SET_MODE_16_S_##TokenName ((Value))

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 16-bit value to set.
Returns
The status of the set operation.

Definition at line 483 of file PcdLib.h.

◆ PcdSet32S

#define PcdSet32S (   TokenName,
  Value 
)    _PCD_SET_MODE_32_S_##TokenName ((Value))

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 32-bit value to set.
Returns
The status of the set operation.

Definition at line 497 of file PcdLib.h.

◆ PcdSet64S

#define PcdSet64S (   TokenName,
  Value 
)    _PCD_SET_MODE_64_S_##TokenName ((Value))

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 64-bit value to set.
Returns
The status of the set operation.

Definition at line 511 of file PcdLib.h.

◆ PcdSet8S

#define PcdSet8S (   TokenName,
  Value 
)    _PCD_SET_MODE_8_S_##TokenName ((Value))

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe 8-bit value to set.
Returns
The status of the set operation.

Definition at line 469 of file PcdLib.h.

◆ PcdSetBoolS

#define PcdSetBoolS (   TokenName,
  Value 
)    _PCD_SET_MODE_BOOL_S_##TokenName ((Value))

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

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

Parameters
TokenNameThe name of the PCD token to retrieve a current value for.
ValueThe boolean value to set.
Returns
The status of the set operation.

Definition at line 549 of file PcdLib.h.

◆ PcdSetEx16S

#define PcdSetEx16S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx16S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

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

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

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 16-bit value to set.
Returns
The status of the set operation.

Definition at line 710 of file PcdLib.h.

◆ PcdSetEx32S

#define PcdSetEx32S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx32S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

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

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

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 32-bit value to set.
Returns
The status of the set operation.

Definition at line 729 of file PcdLib.h.

◆ PcdSetEx64S

#define PcdSetEx64S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx64S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

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

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

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 64-bit value to set.
Returns
The status of the set operation.

Definition at line 748 of file PcdLib.h.

◆ PcdSetEx8S

#define PcdSetEx8S (   Guid,
  TokenName,
  Value 
)    LibPcdSetEx8S ((Guid), PcdTokenEx(Guid,TokenName), (Value))

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

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

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe 8-bit value to set.
Returns
The status of the set operation.

Definition at line 691 of file PcdLib.h.

◆ PcdSetExBoolS

#define PcdSetExBoolS (   Guid,
  TokenName,
  Value 
)     LibPcdSetExBoolS ((Guid), PcdTokenEx(Guid,TokenName), (Value))

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

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

If Guid is NULL, then ASSERT().

Parameters
GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
TokenNameThe name of the PCD token to set the current value for.
ValueThe boolean value to set.
Returns
The status of the set operation.

Definition at line 795 of file PcdLib.h.

◆ PcdSetExPtrS

#define PcdSetExPtrS (   Guid,
  TokenName,
  SizeOfBuffer,
  Buffer 
)     LibPcdSetExPtrS ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))

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

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

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

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

Definition at line 775 of file PcdLib.h.

◆ PcdSetPtrS

#define PcdSetPtrS (   TokenName,
  SizeOfBuffer,
  Buffer 
)     _PCD_SET_MODE_PTR_S_##TokenName ((SizeOfBuffer), (Buffer))

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

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

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

Parameters
TokenNameThe name of the PCD token to set the current value for.
SizeOfBufferA pointer to the size, in bytes, of Buffer.
BufferA pointer to the buffer to set.
Returns
The status of the set operation.

Definition at line 534 of file PcdLib.h.

◆ PcdToken

#define PcdToken (   TokenName)    _PCD_TOKEN_##TokenName

Retrieves a token number based on a token name.

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

Parameters
TokenNameThe name of the PCD token to retrieve the token number for.
Returns
The token number associated with the PCD.

Definition at line 36 of file PcdLib.h.

◆ PcdTokenEx

#define PcdTokenEx (   Guid,
  TokenName 
)    _PCD_TOKEN_EX_##TokenName(Guid)

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

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

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

Definition at line 564 of file PcdLib.h.

Typedef Documentation

◆ PCD_CALLBACK

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

This notification function serves two purposes.

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

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

Definition at line 1362 of file PcdLib.h.

Enumeration Type Documentation

◆ PCD_TYPE

enum PCD_TYPE

Definition at line 1594 of file PcdLib.h.

Function Documentation

◆ LibPatchPcdSetPtr()

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

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the Buffer that was set.

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the buffer that was set.

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the buffer been set.

Definition at line 830 of file PcdLib.c.

◆ LibPatchPcdSetPtrAndSize()

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

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[out]SizeOfPatchVariableA pointer to the size, in bytes, of PatchVariable.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the Buffer that was set.

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[out]SizeOfPatchVariableA pointer to the size, in bytes, of PatchVariable.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
Return the pointer to the buffer been set.

Definition at line 934 of file PcdLib.c.

◆ LibPatchPcdSetPtrAndSizeS()

RETURN_STATUS EFIAPI LibPatchPcdSetPtrAndSizeS ( OUT VOID PatchVariable,
OUT UINTN SizeOfPatchVariable,
IN UINTN  MaximumDatumSize,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[out]SizeOfPatchVariableA pointer to the size, in bytes, of PatchVariable.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
The status of the set operation.

Definition at line 990 of file PcdLib.c.

◆ LibPatchPcdSetPtrS()

RETURN_STATUS EFIAPI LibPatchPcdSetPtrS ( OUT VOID PatchVariable,
IN UINTN  MaximumDatumSize,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

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

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

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

Parameters
[out]PatchVariableA pointer to the global variable in a module that is the target of the set operation.
[in]MaximumDatumSizeThe maximum size allowed for the PCD entry specified by PatchVariable.
[in,out]SizeOfBufferA pointer to the size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to used to set the target variable.
Returns
The status of the set operation.

Definition at line 881 of file PcdLib.c.

◆ LibPcdCallbackOnSet()

VOID EFIAPI LibPcdCallbackOnSet ( IN CONST GUID *Guid  OPTIONAL,
IN UINTN  TokenNumber,
IN PCD_CALLBACK  NotificationFunction 
)

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

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

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to set a value from. If NULL, then the default token space is used.
[in]TokenNumberThe PCD token number to monitor.
[in]NotificationFunctionThe function to call when the token specified by Guid and TokenNumber is set.

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

Definition at line 716 of file PcdLib.c.

◆ LibPcdCancelCallback()

VOID EFIAPI LibPcdCancelCallback ( IN CONST GUID *Guid  OPTIONAL,
IN UINTN  TokenNumber,
IN PCD_CALLBACK  NotificationFunction 
)

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

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

Parameters
[in]GuidSpecify the GUID token space.
[in]TokenNumberSpecify the token number.
[in]NotificationFunctionThe callback function to be unregistered.

Definition at line 741 of file PcdLib.c.

◆ LibPcdGet16()

UINT16 EFIAPI LibPcdGet16 ( IN UINTN  TokenNumber)

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

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

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 16-bit value for the token specified by TokenNumber.

Definition at line 70 of file PcdLib.c.

◆ LibPcdGet32()

UINT32 EFIAPI LibPcdGet32 ( IN UINTN  TokenNumber)

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

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

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 32-bit value for the token specified by TokenNumber.

Definition at line 91 of file PcdLib.c.

◆ LibPcdGet64()

UINT64 EFIAPI LibPcdGet64 ( IN UINTN  TokenNumber)

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

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

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 64-bit value for the token specified by TokenNumber.

Definition at line 112 of file PcdLib.c.

◆ LibPcdGet8()

UINT8 EFIAPI LibPcdGet8 ( IN UINTN  TokenNumber)

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

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

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the 8-bit value for the token specified by TokenNumber.

Definition at line 49 of file PcdLib.c.

◆ LibPcdGetBool()

BOOLEAN EFIAPI LibPcdGetBool ( IN UINTN  TokenNumber)

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

Returns the Boolean value of the token specified by TokenNumber.

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

Definition at line 154 of file PcdLib.c.

◆ LibPcdGetEx16()

UINT16 EFIAPI LibPcdGetEx16 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT16.

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

Definition at line 224 of file PcdLib.c.

◆ LibPcdGetEx32()

UINT32 EFIAPI LibPcdGetEx32 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT32.

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

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

Definition at line 247 of file PcdLib.c.

◆ LibPcdGetEx64()

UINT64 EFIAPI LibPcdGetEx64 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT64.

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

Definition at line 273 of file PcdLib.c.

◆ LibPcdGetEx8()

UINT8 EFIAPI LibPcdGetEx8 ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the UINT8.

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

Definition at line 198 of file PcdLib.c.

◆ LibPcdGetExBool()

BOOLEAN EFIAPI LibPcdGetExBool ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the BOOLEAN.

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

Definition at line 325 of file PcdLib.c.

◆ LibPcdGetExPtr()

VOID *EFIAPI LibPcdGetExPtr ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to retrieve a value from.
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Return the VOID* pointer.

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

Definition at line 299 of file PcdLib.c.

◆ LibPcdGetExSize()

UINTN EFIAPI LibPcdGetExSize ( IN CONST GUID Guid,
IN UINTN  TokenNumber 
)

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

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

If Guid is NULL, then ASSERT().

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

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

Definition at line 351 of file PcdLib.c.

◆ LibPcdGetInfo()

VOID EFIAPI LibPcdGetInfo ( IN UINTN  TokenNumber,
OUT PCD_INFO PcdInfo 
)

Retrieve additional information associated with a PCD token.

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

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

Parameters
[in]TokenNumberThe PCD token number.
[out]PcdInfoThe returned information associated with the requested TokenNumber. The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName.

Definition at line 1033 of file PcdLib.c.

◆ LibPcdGetInfoEx()

VOID EFIAPI LibPcdGetInfoEx ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
OUT PCD_INFO PcdInfo 
)

Retrieve additional information associated with a PCD token.

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

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

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

Definition at line 1056 of file PcdLib.c.

◆ LibPcdGetNextToken()

UINTN EFIAPI LibPcdGetNextToken ( IN CONST GUID *Guid  OPTIONAL,
IN UINTN  TokenNumber 
)

Retrieves the next token in a token space.

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

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

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

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]GuidThe 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]TokenNumberThe previous PCD token number. If 0, then retrieves the first PCD token number.
Returns
The next valid token number.

Definition at line 771 of file PcdLib.c.

◆ LibPcdGetNextTokenSpace()

GUID *EFIAPI LibPcdGetNextTokenSpace ( IN CONST GUID TokenSpaceGuid)

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

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

Parameters
TokenSpaceGuidPointer to the a PCD token space GUID
Returns
The next valid token namespace.

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

Definition at line 796 of file PcdLib.c.

◆ LibPcdGetPtr()

VOID *EFIAPI LibPcdGetPtr ( IN UINTN  TokenNumber)

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

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

Parameters
[in]TokenNumberThe PCD token number to retrieve a current value for.
Returns
Returns the pointer to the token specified by TokenNumber.

Definition at line 133 of file PcdLib.c.

◆ LibPcdGetSize()

UINTN EFIAPI LibPcdGetSize ( IN UINTN  TokenNumber)

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

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

Definition at line 173 of file PcdLib.c.

◆ LibPcdGetSku()

UINTN EFIAPI LibPcdGetSku ( VOID  )

Retrieve the currently set SKU Id.

Returns
The currently set SKU Id. If the platform has not set at a SKU Id, then the default SKU Id value of 0 is returned. If the platform has set a SKU Id, then the currently set SKU Id is returned.

Definition at line 1074 of file PcdLib.c.

◆ LibPcdSet16S()

RETURN_STATUS EFIAPI LibPcdSet16S ( IN UINTN  TokenNumber,
IN UINT16  Value 
)

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

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

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 16-bit value to set.
Returns
The status of the set operation.

Definition at line 399 of file PcdLib.c.

◆ LibPcdSet32S()

RETURN_STATUS EFIAPI LibPcdSet32S ( IN UINTN  TokenNumber,
IN UINT32  Value 
)

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

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

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 32-bit value to set.
Returns
The status of the set operation.

Definition at line 423 of file PcdLib.c.

◆ LibPcdSet64S()

RETURN_STATUS EFIAPI LibPcdSet64S ( IN UINTN  TokenNumber,
IN UINT64  Value 
)

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

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

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 64-bit value to set.
Returns
The status of the set operation.

Definition at line 447 of file PcdLib.c.

◆ LibPcdSet8S()

RETURN_STATUS EFIAPI LibPcdSet8S ( IN UINTN  TokenNumber,
IN UINT8  Value 
)

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

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

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 8-bit value to set.
Returns
The status of the set operation.

Definition at line 375 of file PcdLib.c.

◆ LibPcdSetBoolS()

RETURN_STATUS EFIAPI LibPcdSetBoolS ( IN UINTN  TokenNumber,
IN BOOLEAN  Value 
)

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

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

Parameters
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe boolean value to set.
Returns
The status of the set operation.

Definition at line 506 of file PcdLib.c.

◆ LibPcdSetEx16S()

RETURN_STATUS EFIAPI LibPcdSetEx16S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT16  Value 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 16-bit value to set.
Returns
The status of the set operation.

Definition at line 563 of file PcdLib.c.

◆ LibPcdSetEx32S()

RETURN_STATUS EFIAPI LibPcdSetEx32S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT32  Value 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 32-bit value to set.
Returns
The status of the set operation.

Definition at line 592 of file PcdLib.c.

◆ LibPcdSetEx64S()

RETURN_STATUS EFIAPI LibPcdSetEx64S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT64  Value 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 64-bit value to set.
Returns
The status of the set operation.

Definition at line 621 of file PcdLib.c.

◆ LibPcdSetEx8S()

RETURN_STATUS EFIAPI LibPcdSetEx8S ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN UINT8  Value 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe 8-bit value to set.
Returns
The status of the set operation.

Definition at line 534 of file PcdLib.c.

◆ LibPcdSetExBoolS()

RETURN_STATUS EFIAPI LibPcdSetExBoolS ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN BOOLEAN  Value 
)

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

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

If Guid is NULL, then ASSERT().

Parameters
[in]GuidThe pointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in]ValueThe boolean value to set.
Returns
The status of the set operation.

Definition at line 686 of file PcdLib.c.

◆ LibPcdSetExPtrS()

RETURN_STATUS EFIAPI LibPcdSetExPtrS ( IN CONST GUID Guid,
IN UINTN  TokenNumber,
IN OUT UINTN SizeOfBuffer,
IN VOID Buffer 
)

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

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

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

Parameters
[in]GuidPointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in,out]SizeOfBufferThe size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to set.
Returns
The status of the set operation.

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]GuidPointer to a 128-bit unique value that designates which namespace to set a value from.
[in]TokenNumberThe PCD token number to set a current value for.
[in,out]SizeOfBufferThe size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to set.
Returns
The status of the set operation.

Definition at line 656 of file PcdLib.c.

◆ LibPcdSetPtrS()

RETURN_STATUS EFIAPI LibPcdSetPtrS ( IN UINTN  TokenNumber,
IN OUT UINTN SizeOfBuffer,
IN CONST VOID Buffer 
)

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

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

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

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

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

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]TokenNumberThe PCD token number to set a current value for.
[in,out]SizeOfBufferThe size, in bytes, of Buffer.
[in]BufferA pointer to the buffer to set.
Returns
The status of the set operation.

Definition at line 481 of file PcdLib.c.

◆ LibPcdSetSku()

UINTN EFIAPI LibPcdSetSku ( IN UINTN  SkuId)

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

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

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

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]SkuIdThe SKU value that will be used when the PCD service will retrieve and set 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.

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

Definition at line 28 of file PcdLib.c.