mirror of https://github.com/acidanthera/audk.git
Add in function description and comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1026 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
56fe62ce9d
commit
a7c5092fc5
|
@ -80,10 +80,6 @@ PcdDxeInit (
|
|||
|
||||
BuildPcdDxeDataBase ();
|
||||
|
||||
//
|
||||
// BugBug Check if PcdDatabase is already installed.
|
||||
//
|
||||
|
||||
Status = gBS->InstallProtocolInterface (
|
||||
&NewHandle,
|
||||
&gPcdProtocolGuid,
|
||||
|
|
|
@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
Module Name:
|
||||
|
||||
PcdEmulator.dxs
|
||||
Pcd.dxs
|
||||
|
||||
Abstract:
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
Private functions used by PCD DXE driver.s
|
||||
Private functions used by PCD DXE driver.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -17,11 +17,6 @@ Module Name: Service.c
|
|||
#include "Service.h"
|
||||
|
||||
|
||||
//
|
||||
// Build Tool will generate DXE_PCD_DB_INIT_VALUE in Autogen.h
|
||||
// Compression Algorithm will take care of the size optimization.
|
||||
//
|
||||
|
||||
PCD_DATABASE * mPcdDatabase;
|
||||
|
||||
LIST_ENTRY *mCallbackFnTable;
|
||||
|
@ -341,7 +336,6 @@ BuildPcdDxeDataBase (
|
|||
ASSERT (mPcdDatabase != NULL);
|
||||
|
||||
GuidHob = GetFirstGuidHob (&gPcdDataBaseHobGuid);
|
||||
|
||||
if (GuidHob != NULL) {
|
||||
|
||||
//
|
||||
|
|
|
@ -11,7 +11,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
Module Name:
|
||||
|
||||
PcdEmulator.dxs
|
||||
Pcd.dxs
|
||||
|
||||
Abstract:
|
||||
|
||||
|
|
|
@ -20,12 +20,15 @@ Module Name: Service.c
|
|||
The function registers the CallBackOnSet fucntion
|
||||
according to TokenNumber and EFI_GUID space.
|
||||
|
||||
@param[in] TokenNumber The token number.
|
||||
@param[in] Guid The GUID space.
|
||||
@param[in] CallBackFunction The Callback function to be registered.
|
||||
@param TokenNumber The token number.
|
||||
@param Guid The GUID space.
|
||||
@param CallBackFunction The Callback function to be registered.
|
||||
@param Register To register or unregister the callback function.
|
||||
|
||||
@retval EFI_SUCCESS If the Callback function is registered.
|
||||
@retval EFI_NOT_FOUND If the PCD Entry is not found according to Token Number and GUID space.
|
||||
@retval EFI_OUT_OF_RESOURCES If the callback function can't be registered because there is not free
|
||||
slot left in the CallbackFnTable.
|
||||
--*/
|
||||
EFI_STATUS
|
||||
PeiRegisterCallBackWorker (
|
||||
|
@ -103,10 +106,9 @@ PeiRegisterCallBackWorker (
|
|||
|
||||
|
||||
/**
|
||||
The function builds the PCD database based on the
|
||||
PCD_IMAGE on the flash.
|
||||
The function builds the PCD database.
|
||||
|
||||
@param[in] PcdImageOnFlash The PCD image on flash.
|
||||
@param VOID
|
||||
|
||||
@retval VOID
|
||||
--*/
|
||||
|
@ -144,13 +146,13 @@ BuildPcdDatabase (
|
|||
The function is provided by PCD PEIM and PCD DXE driver to
|
||||
do the work of reading a HII variable from variable service.
|
||||
|
||||
@param[in] VariableGuid The Variable GUID.
|
||||
@param[in] VariableName The Variable Name.
|
||||
@param[out] VariableData The output data.
|
||||
@param[out] VariableSize The size of the variable.
|
||||
@param VariableGuid The Variable GUID.
|
||||
@param VariableName The Variable Name.
|
||||
@param VariableData The output data.
|
||||
@param VariableSize The size of the variable.
|
||||
|
||||
@retval EFI_SUCCESS Operation successful.
|
||||
@retval EFI_SUCCESS Variablel not found.
|
||||
@retval EFI_NOT_FOUND Variablel not found.
|
||||
--*/
|
||||
EFI_STATUS
|
||||
GetHiiVariable (
|
||||
|
@ -580,6 +582,7 @@ GetWorker (
|
|||
}
|
||||
|
||||
|
||||
|
||||
UINTN
|
||||
GetExPcdTokenNumber (
|
||||
IN CONST EFI_GUID *Guid,
|
||||
|
@ -635,6 +638,7 @@ GetPcdDatabase (
|
|||
}
|
||||
|
||||
|
||||
|
||||
SKU_ID *
|
||||
GetSkuIdArray (
|
||||
IN UINTN LocalTokenNumberTableIdx,
|
||||
|
|
|
@ -24,54 +24,190 @@ extern EFI_GUID gPcdPpiGuid;
|
|||
|
||||
#define PCD_INVALID_TOKEN_NUMBER ((UINTN) 0)
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets the SKU value for subsequent calls to set or get PCD token values.
|
||||
|
||||
SetSku() sets the SKU Id to be used for subsequent calls to set or get PCD values.
|
||||
SetSku() is normally called only once by the system.
|
||||
|
||||
For each item (token), the database can hold a single value that applies to all SKUs,
|
||||
or multiple values, where each value is associated with a specific SKU Id. Items with multiple,
|
||||
SKU-specific values are called SKU enabled.
|
||||
|
||||
The SKU Id of zero is reserved as a default. The valid SkuId range is 1 to 255.
|
||||
For tokens that are not SKU enabled, the system ignores any set SKU Id and works with the
|
||||
single value for that token. For SKU-enabled tokens, the system will use the SKU Id set by the
|
||||
last call to SetSku(). If no SKU Id is set or the currently set SKU Id isn't valid for the specified token,
|
||||
the system uses the default SKU Id. If the system attempts to use the default SKU Id and no value has been
|
||||
set for that Id, the results are unpredictable.
|
||||
|
||||
@param SkuId The SKU value that will be used when the PCD service will retrieve and
|
||||
set values associated with a PCD token.
|
||||
|
||||
@retval VOID
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PCD_PPI_SET_SKU) (
|
||||
IN UINTN SkuId
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 8-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current byte-sized value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT8 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *PCD_PPI_GET8) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 16-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 16-bits value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT16 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *PCD_PPI_GET16) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 32-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 32-bits value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT32 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *PCD_PPI_GET32) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 64-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 64-bits value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT64 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *PCD_PPI_GET64) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a pointer to a value for a given PCD token.
|
||||
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The pointer to the buffer to be retrived.
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID *
|
||||
(EFIAPI *PCD_PPI_GET_POINTER) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Boolean value for a given PCD token.
|
||||
|
||||
Retrieves the current boolean value for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The Boolean value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *PCD_PPI_GET_BOOLEAN) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the size of the value for a given PCD token.
|
||||
|
||||
Retrieves the current size of a particular PCD token.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size of the value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
(EFIAPI *PCD_PPI_GET_SIZE) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 8-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 8-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 8-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *PCD_PPI_GET_EX_8) (
|
||||
|
@ -79,6 +215,22 @@ UINT8
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 16-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 16-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 16-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *PCD_PPI_GET_EX_16) (
|
||||
|
@ -86,6 +238,22 @@ UINT16
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 32-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 32-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 32-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *PCD_PPI_GET_EX_32) (
|
||||
|
@ -93,6 +261,22 @@ UINT32
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 64-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 64-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 64-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *PCD_PPI_GET_EX_64) (
|
||||
|
@ -100,6 +284,22 @@ UINT64
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a pointer to a value for a given PCD token.
|
||||
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The pointer to the buffer to be retrived.
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID *
|
||||
(EFIAPI *PCD_PPI_GET_EX_POINTER) (
|
||||
|
@ -107,6 +307,22 @@ VOID *
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an Boolean value for a given PCD token.
|
||||
|
||||
Retrieves the Boolean value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size Boolean value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *PCD_PPI_GET_EX_BOOLEAN) (
|
||||
|
@ -114,6 +330,20 @@ BOOLEAN
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the size of the value for a given PCD token.
|
||||
|
||||
Retrieves the current size of a particular PCD token.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size of the value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
(EFIAPI *PCD_PPI_GET_EX_SIZE) (
|
||||
|
@ -121,6 +351,25 @@ UINTN
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 8-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET8) (
|
||||
|
@ -128,6 +377,25 @@ EFI_STATUS
|
|||
IN UINT8 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 16-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET16) (
|
||||
|
@ -135,6 +403,25 @@ EFI_STATUS
|
|||
IN UINT16 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 32-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET32) (
|
||||
|
@ -142,6 +429,25 @@ EFI_STATUS
|
|||
IN UINT32 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 64-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET64) (
|
||||
|
@ -149,6 +455,30 @@ EFI_STATUS
|
|||
IN UINT64 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets a value of a specified size for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param SizeOfBuffer A pointer to the length of the value being set for the PCD token.
|
||||
On input, if the SizeOfValue is greater than the maximum size supported
|
||||
for this TokenNumber then the output value of SizeOfValue will reflect
|
||||
the maximum size supported for this TokenNumber.
|
||||
@param Buffer The buffer to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_POINTER) (
|
||||
|
@ -157,6 +487,25 @@ EFI_STATUS
|
|||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an Boolean value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_BOOLEAN) (
|
||||
|
@ -164,6 +513,26 @@ EFI_STATUS
|
|||
IN BOOLEAN Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 8-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_EX_8) (
|
||||
|
@ -172,6 +541,26 @@ EFI_STATUS
|
|||
IN UINT8 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 16-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_EX_16) (
|
||||
|
@ -180,6 +569,26 @@ EFI_STATUS
|
|||
IN UINT16 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 32-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_EX_32) (
|
||||
|
@ -188,6 +597,26 @@ EFI_STATUS
|
|||
IN UINT32 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 64-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_EX_64) (
|
||||
|
@ -196,6 +625,30 @@ EFI_STATUS
|
|||
IN UINT64 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets a value of a specified size for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param SizeOfBuffer A pointer to the length of the value being set for the PCD token.
|
||||
On input, if the SizeOfValue is greater than the maximum size supported
|
||||
for this TokenNumber then the output value of SizeOfValue will reflect
|
||||
the maximum size supported for this TokenNumber.
|
||||
@param Buffer The buffer to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_EX_POINTER) (
|
||||
|
@ -205,6 +658,26 @@ EFI_STATUS
|
|||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an Boolean value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_SET_EX_BOOLEAN) (
|
||||
|
@ -213,17 +686,19 @@ EFI_STATUS
|
|||
IN BOOLEAN Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Callback on SET function prototype definition.
|
||||
|
||||
@param[in] CallBackGuid The PCD token GUID being set.
|
||||
@param[in] CallBackToken The PCD token number being set.
|
||||
@param[in] TokenData A pointer to the token data being set.
|
||||
@param[in] TokenDataSize The size, in bytes, of the data being set.
|
||||
@param CallBackGuid The PCD token GUID being set.
|
||||
@param CallBackToken The PCD token number being set.
|
||||
@param TokenData A pointer to the token data being set.
|
||||
@param TokenDataSize The size, in bytes, of the data being set.
|
||||
|
||||
@retval VOID
|
||||
|
||||
--*/
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PCD_PPI_CALLBACK) (
|
||||
|
@ -233,6 +708,20 @@ VOID
|
|||
IN UINTN TokenDataSize
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Specifies a function to be called anytime the value of a designated token is changed.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service has successfully established a call event
|
||||
for the CallBackToken requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the referenced token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_CALLBACK_ONSET) (
|
||||
|
@ -241,6 +730,20 @@ EFI_STATUS
|
|||
IN PCD_PPI_CALLBACK CallBackFunction
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Cancels a previously set callback function for a particular PCD token number.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service has successfully established a call event
|
||||
for the CallBackToken requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the referenced token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_CANCEL_CALLBACK) (
|
||||
|
@ -249,6 +752,19 @@ EFI_STATUS
|
|||
IN PCD_PPI_CALLBACK CallBackFunction
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the next valid PCD token for a given namespace.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber A pointer to the PCD token number to use to find the subsequent token number.
|
||||
To retrieve the "first" token, have the pointer reference a TokenNumber value of 0.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service retrieved the value requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find data from the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_GET_NEXT_TOKEN) (
|
||||
|
@ -256,12 +772,35 @@ EFI_STATUS
|
|||
IN OUT UINTN *TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the next valid PCD token namespace for a given namespace.
|
||||
|
||||
@param Guid An indirect pointer to EFI_GUID. On input it designates a known
|
||||
token namespace from which the search will start. On output,
|
||||
it designates the next valid token namespace on the platform.
|
||||
If *Guid is NULL, then the GUID of the first token space of the current platform is returned.
|
||||
If this input token namespace is the last tokenspace on the platform,
|
||||
*Guid will be assigned to NULL and the function return EFI_SUCCESS.
|
||||
If the search cannot locate the input token namespace, an error is returned and
|
||||
the value of *Guid is undefined.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service retrieved the value requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the input token namespace.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PPI_GET_NEXT_TOKENSPACE) (
|
||||
IN OUT CONST EFI_GUID **Guid
|
||||
);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Interface structure for the PCD PPI
|
||||
//
|
||||
typedef struct {
|
||||
PCD_PPI_SET_SKU SetSku;
|
||||
|
||||
|
|
|
@ -24,54 +24,189 @@ extern EFI_GUID gPcdProtocolGuid;
|
|||
|
||||
#define PCD_INVALID_TOKEN_NUMBER ((UINTN) 0)
|
||||
|
||||
|
||||
/**
|
||||
Sets the SKU value for subsequent calls to set or get PCD token values.
|
||||
|
||||
SetSku() sets the SKU Id to be used for subsequent calls to set or get PCD values.
|
||||
SetSku() is normally called only once by the system.
|
||||
|
||||
For each item (token), the database can hold a single value that applies to all SKUs,
|
||||
or multiple values, where each value is associated with a specific SKU Id. Items with multiple,
|
||||
SKU-specific values are called SKU enabled.
|
||||
|
||||
The SKU Id of zero is reserved as a default. The valid SkuId range is 1 to 255.
|
||||
For tokens that are not SKU enabled, the system ignores any set SKU Id and works with the
|
||||
single value for that token. For SKU-enabled tokens, the system will use the SKU Id set by the
|
||||
last call to SetSku(). If no SKU Id is set or the currently set SKU Id isn't valid for the specified token,
|
||||
the system uses the default SKU Id. If the system attempts to use the default SKU Id and no value has been
|
||||
set for that Id, the results are unpredictable.
|
||||
|
||||
@param SkuId The SKU value that will be used when the PCD service will retrieve and
|
||||
set values associated with a PCD token.
|
||||
|
||||
@retval VOID
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PCD_PROTOCOL_SET_SKU) (
|
||||
IN UINTN SkuId
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 8-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current byte-sized value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT8 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *PCD_PROTOCOL_GET8) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 16-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 16-bits value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT16 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *PCD_PROTOCOL_GET16) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 32-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 32-bits value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT32 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *PCD_PROTOCOL_GET32) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 64-bit value for a given PCD token.
|
||||
|
||||
Retrieves the current 64-bits value for a PCD token number.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The UINT64 value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *PCD_PROTOCOL_GET64) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a pointer to a value for a given PCD token.
|
||||
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The pointer to the buffer to be retrived.
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID *
|
||||
(EFIAPI *PCD_PROTOCOL_GET_POINTER) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Boolean value for a given PCD token.
|
||||
|
||||
Retrieves the current boolean value for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The Boolean value.
|
||||
|
||||
**/
|
||||
typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *PCD_PROTOCOL_GET_BOOLEAN) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the size of the value for a given PCD token.
|
||||
|
||||
Retrieves the current size of a particular PCD token.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size of the value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
(EFIAPI *PCD_PROTOCOL_GET_SIZE) (
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 8-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 8-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 8-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_8) (
|
||||
|
@ -79,6 +214,22 @@ UINT8
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 16-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 16-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 16-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_16) (
|
||||
|
@ -86,13 +237,44 @@ UINT16
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
typedef
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 32-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 32-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 32-bit value for the PCD token.
|
||||
|
||||
**/typedef
|
||||
UINT32
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_32) (
|
||||
IN CONST EFI_GUID *Guid,
|
||||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an 64-bit value for a given PCD token.
|
||||
|
||||
Retrieves the 64-bit value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size 64-bit value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_64) (
|
||||
|
@ -100,6 +282,22 @@ UINT64
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a pointer to a value for a given PCD token.
|
||||
|
||||
Retrieves the current pointer to the buffer for a PCD token number.
|
||||
Do not make any assumptions about the alignment of the pointer that
|
||||
is returned by this function call. If the TokenNumber is invalid,
|
||||
the results are unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The pointer to the buffer to be retrived.
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID *
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_POINTER) (
|
||||
|
@ -107,6 +305,22 @@ VOID *
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves an Boolean value for a given PCD token.
|
||||
|
||||
Retrieves the Boolean value of a particular PCD token.
|
||||
If the TokenNumber is invalid or the token space
|
||||
specified by Guid does not exist, the results are
|
||||
unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size Boolean value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
BOOLEAN
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_BOOLEAN) (
|
||||
|
@ -114,6 +328,20 @@ BOOLEAN
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the size of the value for a given PCD token.
|
||||
|
||||
Retrieves the current size of a particular PCD token.
|
||||
If the TokenNumber is invalid, the results are unpredictable.
|
||||
|
||||
@param Guid The token space for the token number.
|
||||
@param TokenNumber The PCD token number.
|
||||
|
||||
@return The size of the value for the PCD token.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINTN
|
||||
(EFIAPI *PCD_PROTOCOL_GET_EX_SIZE) (
|
||||
|
@ -121,6 +349,25 @@ UINTN
|
|||
IN UINTN TokenNumber
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 8-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET8) (
|
||||
|
@ -128,6 +375,25 @@ EFI_STATUS
|
|||
IN UINT8 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 16-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET16) (
|
||||
|
@ -135,6 +401,25 @@ EFI_STATUS
|
|||
IN UINT16 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 32-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET32) (
|
||||
|
@ -142,6 +427,25 @@ EFI_STATUS
|
|||
IN UINT32 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 64-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET64) (
|
||||
|
@ -149,6 +453,29 @@ EFI_STATUS
|
|||
IN UINT64 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets a value of a specified size for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param SizeOfBuffer A pointer to the length of the value being set for the PCD token.
|
||||
On input, if the SizeOfValue is greater than the maximum size supported
|
||||
for this TokenNumber then the output value of SizeOfValue will reflect
|
||||
the maximum size supported for this TokenNumber.
|
||||
@param Buffer The buffer to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_POINTER) (
|
||||
|
@ -157,6 +484,25 @@ EFI_STATUS
|
|||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an Boolean value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_BOOLEAN) (
|
||||
|
@ -164,6 +510,26 @@ EFI_STATUS
|
|||
IN BOOLEAN Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 8-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_EX_8) (
|
||||
|
@ -172,6 +538,26 @@ EFI_STATUS
|
|||
IN UINT8 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 16-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_EX_16) (
|
||||
|
@ -180,6 +566,26 @@ EFI_STATUS
|
|||
IN UINT16 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 32-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_EX_32) (
|
||||
|
@ -188,6 +594,26 @@ EFI_STATUS
|
|||
IN UINT32 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an 64-bit value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_EX_64) (
|
||||
|
@ -196,6 +622,30 @@ EFI_STATUS
|
|||
IN UINT64 Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets a value of a specified size for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param SizeOfBuffer A pointer to the length of the value being set for the PCD token.
|
||||
On input, if the SizeOfValue is greater than the maximum size supported
|
||||
for this TokenNumber then the output value of SizeOfValue will reflect
|
||||
the maximum size supported for this TokenNumber.
|
||||
@param Buffer The buffer to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_EX_POINTER) (
|
||||
|
@ -205,6 +655,26 @@ EFI_STATUS
|
|||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sets an Boolean value for a given PCD token.
|
||||
|
||||
When the PCD service sets a value, it will check to ensure that the
|
||||
size of the value being set is compatible with the Token's existing definition.
|
||||
If it is not, an error will be returned.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Value The value to set for the PCD token.
|
||||
|
||||
@retval EFI_SUCCESS Procedure returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER The PCD service determined that the size of the data
|
||||
being set was incompatible with a call to this function.
|
||||
Use GetSize() to retrieve the size of the target data.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_SET_EX_BOOLEAN) (
|
||||
|
@ -213,17 +683,19 @@ EFI_STATUS
|
|||
IN BOOLEAN Value
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Callback on SET function prototype definition.
|
||||
|
||||
@param[in] CallBackGuid The PCD token GUID being set.
|
||||
@param[in] CallBackToken The PCD token number being set.
|
||||
@param[in] TokenData A pointer to the token data being set.
|
||||
@param[in] TokenDataSize The size, in bytes, of the data being set.
|
||||
@param CallBackGuid The PCD token GUID being set.
|
||||
@param CallBackToken The PCD token number being set.
|
||||
@param TokenData A pointer to the token data being set.
|
||||
@param TokenDataSize The size, in bytes, of the data being set.
|
||||
|
||||
@retval VOID
|
||||
|
||||
--*/
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *PCD_PROTOCOL_CALLBACK) (
|
||||
|
@ -233,6 +705,20 @@ VOID
|
|||
IN UINTN TokenDataSize
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Specifies a function to be called anytime the value of a designated token is changed.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service has successfully established a call event
|
||||
for the CallBackToken requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the referenced token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_CALLBACK_ONSET) (
|
||||
|
@ -241,6 +727,20 @@ EFI_STATUS
|
|||
IN PCD_PROTOCOL_CALLBACK CallBackFunction
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Cancels a previously set callback function for a particular PCD token number.
|
||||
|
||||
@param TokenNumber The PCD token number.
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param CallBackFunction The function prototype called when the value associated with the CallBackToken is set.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service has successfully established a call event
|
||||
for the CallBackToken requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the referenced token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_CANCEL_CALLBACK) (
|
||||
|
@ -249,6 +749,19 @@ EFI_STATUS
|
|||
IN PCD_PROTOCOL_CALLBACK CallBackFunction
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the next valid PCD token for a given namespace.
|
||||
|
||||
@param Guid The 128-bit unique value that designates the namespace from which to extract the value.
|
||||
@param TokenNumber A pointer to the PCD token number to use to find the subsequent token number.
|
||||
To retrieve the "first" token, have the pointer reference a TokenNumber value of 0.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service retrieved the value requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find data from the requested token number.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKEN) (
|
||||
|
@ -257,6 +770,23 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the next valid PCD token namespace for a given namespace.
|
||||
|
||||
@param Guid An indirect pointer to EFI_GUID. On input it designates a known
|
||||
token namespace from which the search will start. On output,
|
||||
it designates the next valid token namespace on the platform.
|
||||
If *Guid is NULL, then the GUID of the first token space of the current platform is returned.
|
||||
If this input token namespace is the last tokenspace on the platform,
|
||||
*Guid will be assigned to NULL and the function return EFI_SUCCESS.
|
||||
If the search cannot locate the input token namespace, an error is returned and
|
||||
the value of *Guid is undefined.
|
||||
|
||||
@retval EFI_SUCCESS The PCD service retrieved the value requested.
|
||||
@retval EFI_NOT_FOUND The PCD service could not find the input token namespace.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKENSPACE) (
|
||||
|
@ -264,6 +794,10 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Interface structure for the PCD Protocol
|
||||
//
|
||||
typedef struct {
|
||||
PCD_PROTOCOL_SET_SKU SetSku;
|
||||
|
||||
|
|
Loading…
Reference in New Issue