#include <Library/SynchronizationLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/AuthVariableLib.h>\r
+#include <Library/VarCheckLib.h>\r
#include <Guid/GlobalVariable.h>\r
#include <Guid/EventGroup.h>\r
#include <Guid/VariableFormat.h>\r
-#include <Guid/ImageAuthentication.h>\r
#include <Guid/SystemNvDataGuid.h>\r
#include <Guid/FaultTolerantWrite.h>\r
-#include <Guid/HardwareErrorVariable.h>\r
#include <Guid/VarErrorFlag.h>\r
\r
#define EFI_VARIABLE_ATTRIBUTES_MASK (EFI_VARIABLE_NON_VOLATILE | \\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvbInstance;\r
} VARIABLE_MODULE_GLOBAL;\r
\r
-typedef struct {\r
- LIST_ENTRY Link;\r
- EFI_GUID Guid;\r
- //CHAR16 *Name;\r
-} VARIABLE_ENTRY;\r
-\r
/**\r
Flush the HOB variable to flash.\r
\r
);\r
\r
/**\r
- Retrive the FVB protocol interface by HANDLE.\r
+ Retrieve the FVB protocol interface by HANDLE.\r
\r
@param[in] FvBlockHandle The handle of FVB protocol that provides services for\r
reading, writing, and erasing the target block.\r
);\r
\r
/**\r
- Retrive the SMM Fault Tolerent Write protocol interface.\r
+ Retrieve the SMM Fault Tolerent Write protocol interface.\r
\r
@param[out] FtwProtocol The interface of SMM Ftw protocol\r
\r
IN EFI_GUID *VendorGuid\r
);\r
\r
-/**\r
- Check if a Unicode character is a hexadecimal character.\r
-\r
- This function checks if a Unicode character is a\r
- hexadecimal character. The valid hexadecimal character is\r
- L'0' to L'9', L'a' to L'f', or L'A' to L'F'.\r
-\r
-\r
- @param Char The character to check against.\r
-\r
- @retval TRUE If the Char is a hexadecmial character.\r
- @retval FALSE If the Char is not a hexadecmial character.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsHexaDecimalDigitCharacter (\r
- IN CHAR16 Char\r
- );\r
-\r
-/**\r
- Internal SetVariable check.\r
-\r
- @param[in] VariableName Name of Variable to set.\r
- @param[in] VendorGuid Variable vendor GUID.\r
- @param[in] Attributes Attribute value of the variable.\r
- @param[in] DataSize Size of Data to set.\r
- @param[in] Data Data pointer.\r
-\r
- @retval EFI_SUCCESS The SetVariable check result was success.\r
- @retval EFI_INVALID_PARAMETER An invalid combination of attribute bits, name, and GUID were supplied,\r
- or the DataSize exceeds the minimum or maximum allowed,\r
- or the Data value is not following UEFI spec for UEFI defined variables.\r
- @retval EFI_WRITE_PROTECTED The variable in question is read-only.\r
- @retval Others The return status from check handler.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InternalVarCheckSetVariableCheck (\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
- );\r
-\r
/**\r
Register SetVariable check handler.\r
\r
IN VAR_CHECK_SET_VARIABLE_CHECK_HANDLER Handler\r
);\r
\r
-/**\r
- Internal variable property get.\r
-\r
- @param[in] Name Pointer to the variable name.\r
- @param[in] Guid Pointer to the vendor GUID.\r
- @param[out] VariableProperty Pointer to the output variable property.\r
-\r
- @retval EFI_SUCCESS The property of variable specified by the Name and Guid was got successfully.\r
- @retval EFI_NOT_FOUND The property of variable specified by the Name and Guid was not found.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InternalVarCheckVariablePropertyGet (\r
- IN CHAR16 *Name,\r
- IN EFI_GUID *Guid,\r
- OUT VAR_CHECK_VARIABLE_PROPERTY *VariableProperty\r
- );\r
-\r
-/**\r
- Internal variable property set.\r
-\r
- @param[in] Name Pointer to the variable name.\r
- @param[in] Guid Pointer to the vendor GUID.\r
- @param[in] VariableProperty Pointer to the input variable property.\r
-\r
- @retval EFI_SUCCESS The property of variable specified by the Name and Guid was set successfully.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough resource for the variable property set request.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InternalVarCheckVariablePropertySet (\r
- IN CHAR16 *Name,\r
- IN EFI_GUID *Guid,\r
- IN VAR_CHECK_VARIABLE_PROPERTY *VariableProperty\r
- );\r
-\r
-\r
/**\r
Variable property set.\r
\r
\r
extern VARIABLE_MODULE_GLOBAL *mVariableModuleGlobal;\r
\r
-extern AUTH_VAR_LIB_CONTEXT_OUT mContextOut;\r
+extern AUTH_VAR_LIB_CONTEXT_OUT mAuthContextOut;\r
\r
/**\r
Finds variable in storage blocks of volatile and non-volatile storage areas.\r