/**\r
This code gets the size of variable header.\r
\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
+\r
@return Size of variable header in bytes in type UINTN.\r
\r
**/\r
UINTN\r
GetVariableHeaderSize (\r
- VOID\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
UINTN Value;\r
\r
- if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
+ if (AuthFormat) {\r
Value = sizeof (AUTHENTICATED_VARIABLE_HEADER);\r
} else {\r
Value = sizeof (VARIABLE_HEADER);\r
\r
This code gets the size of name of variable.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the variable header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return UINTN Size of variable in bytes.\r
\r
**/\r
UINTN\r
NameSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
AUTHENTICATED_VARIABLE_HEADER *AuthVariable;\r
\r
AuthVariable = (AUTHENTICATED_VARIABLE_HEADER *) Variable;\r
- if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
+ if (AuthFormat) {\r
if (AuthVariable->State == (UINT8) (-1) ||\r
AuthVariable->DataSize == (UINT32) (-1) ||\r
AuthVariable->NameSize == (UINT32) (-1) ||\r
/**\r
This code sets the size of name of variable.\r
\r
- @param[in] Variable Pointer to the Variable Header.\r
- @param[in] NameSize Name size to set.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] NameSize Name size to set.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
**/\r
VOID\r
SetNameSizeOfVariable (\r
IN VARIABLE_HEADER *Variable,\r
- IN UINTN NameSize\r
+ IN UINTN NameSize,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
AUTHENTICATED_VARIABLE_HEADER *AuthVariable;\r
\r
AuthVariable = (AUTHENTICATED_VARIABLE_HEADER *) Variable;\r
- if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
+ if (AuthFormat) {\r
AuthVariable->NameSize = (UINT32) NameSize;\r
} else {\r
Variable->NameSize = (UINT32) NameSize;\r
\r
This code gets the size of variable data.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return Size of variable in bytes.\r
\r
**/\r
UINTN\r
DataSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
AUTHENTICATED_VARIABLE_HEADER *AuthVariable;\r
\r
AuthVariable = (AUTHENTICATED_VARIABLE_HEADER *) Variable;\r
- if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
+ if (AuthFormat) {\r
if (AuthVariable->State == (UINT8) (-1) ||\r
AuthVariable->DataSize == (UINT32) (-1) ||\r
AuthVariable->NameSize == (UINT32) (-1) ||\r
\r
@param[in] Variable Pointer to the Variable Header.\r
@param[in] DataSize Data size to set.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
**/\r
VOID\r
SetDataSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable,\r
- IN UINTN DataSize\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN UINTN DataSize,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
AUTHENTICATED_VARIABLE_HEADER *AuthVariable;\r
\r
AuthVariable = (AUTHENTICATED_VARIABLE_HEADER *) Variable;\r
- if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
+ if (AuthFormat) {\r
AuthVariable->DataSize = (UINT32) DataSize;\r
} else {\r
Variable->DataSize = (UINT32) DataSize;\r
\r
This code gets the pointer to the variable name.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return Pointer to Variable Name which is Unicode encoding.\r
\r
**/\r
CHAR16 *\r
GetVariableNamePtr (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
- return (CHAR16 *) ((UINTN) Variable + GetVariableHeaderSize ());\r
+ return (CHAR16 *) ((UINTN) Variable + GetVariableHeaderSize (AuthFormat));\r
}\r
\r
/**\r
This code gets the pointer to the variable guid.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return A EFI_GUID* pointer to Vendor Guid.\r
\r
**/\r
EFI_GUID *\r
GetVendorGuidPtr (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
AUTHENTICATED_VARIABLE_HEADER *AuthVariable;\r
\r
AuthVariable = (AUTHENTICATED_VARIABLE_HEADER *) Variable;\r
- if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
+ if (AuthFormat) {\r
return &AuthVariable->VendorGuid;\r
} else {\r
return &Variable->VendorGuid;\r
\r
This code gets the pointer to the variable data.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return Pointer to Variable Data.\r
\r
**/\r
UINT8 *\r
GetVariableDataPtr (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
UINTN Value;\r
//\r
// Be careful about pad size for alignment.\r
//\r
- Value = (UINTN) GetVariableNamePtr (Variable);\r
- Value += NameSizeOfVariable (Variable);\r
- Value += GET_PAD_SIZE (NameSizeOfVariable (Variable));\r
+ Value = (UINTN) GetVariableNamePtr (Variable, AuthFormat);\r
+ Value += NameSizeOfVariable (Variable, AuthFormat);\r
+ Value += GET_PAD_SIZE (NameSizeOfVariable (Variable, AuthFormat));\r
\r
return (UINT8 *) Value;\r
}\r
/**\r
This code gets the variable data offset related to variable header.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return Variable Data offset.\r
\r
**/\r
UINTN\r
GetVariableDataOffset (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
UINTN Value;\r
//\r
// Be careful about pad size for alignment\r
//\r
- Value = GetVariableHeaderSize ();\r
- Value += NameSizeOfVariable (Variable);\r
- Value += GET_PAD_SIZE (NameSizeOfVariable (Variable));\r
+ Value = GetVariableHeaderSize (AuthFormat);\r
+ Value += NameSizeOfVariable (Variable, AuthFormat);\r
+ Value += GET_PAD_SIZE (NameSizeOfVariable (Variable, AuthFormat));\r
\r
return Value;\r
}\r
\r
This code gets the pointer to the next variable header.\r
\r
- @param Variable Pointer to the Variable Header.\r
+ @param[in] Variable Pointer to the Variable Header.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@return Pointer to next variable header.\r
\r
**/\r
VARIABLE_HEADER *\r
GetNextVariablePtr (\r
- IN VARIABLE_HEADER *Variable\r
+ IN VARIABLE_HEADER *Variable,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
UINTN Value;\r
\r
- Value = (UINTN) GetVariableDataPtr (Variable);\r
- Value += DataSizeOfVariable (Variable);\r
- Value += GET_PAD_SIZE (DataSizeOfVariable (Variable));\r
+ Value = (UINTN) GetVariableDataPtr (Variable, AuthFormat);\r
+ Value += DataSizeOfVariable (Variable, AuthFormat);\r
+ Value += GET_PAD_SIZE (DataSizeOfVariable (Variable, AuthFormat));\r
\r
//\r
// Be careful about pad size for alignment.\r
@param[in] IgnoreRtCheck Ignore EFI_VARIABLE_RUNTIME_ACCESS attribute\r
check at runtime when searching variable.\r
@param[in, out] PtrTrack Variable Track Pointer structure that contains Variable Information.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@retval EFI_SUCCESS Variable found successfully\r
@retval EFI_NOT_FOUND Variable not found\r
IN CHAR16 *VariableName,\r
IN EFI_GUID *VendorGuid,\r
IN BOOLEAN IgnoreRtCheck,\r
- IN OUT VARIABLE_POINTER_TRACK *PtrTrack\r
+ IN OUT VARIABLE_POINTER_TRACK *PtrTrack,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
VARIABLE_HEADER *InDeletedVariable;\r
\r
for ( PtrTrack->CurrPtr = PtrTrack->StartPtr\r
; IsValidVariableHeader (PtrTrack->CurrPtr, PtrTrack->EndPtr)\r
- ; PtrTrack->CurrPtr = GetNextVariablePtr (PtrTrack->CurrPtr)\r
+ ; PtrTrack->CurrPtr = GetNextVariablePtr (PtrTrack->CurrPtr, AuthFormat)\r
) {\r
if (PtrTrack->CurrPtr->State == VAR_ADDED ||\r
PtrTrack->CurrPtr->State == (VAR_IN_DELETED_TRANSITION & VAR_ADDED)\r
return EFI_SUCCESS;\r
}\r
} else {\r
- if (CompareGuid (VendorGuid, GetVendorGuidPtr (PtrTrack->CurrPtr))) {\r
- Point = (VOID *) GetVariableNamePtr (PtrTrack->CurrPtr);\r
+ if (CompareGuid (VendorGuid, GetVendorGuidPtr (PtrTrack->CurrPtr, AuthFormat))) {\r
+ Point = (VOID *) GetVariableNamePtr (PtrTrack->CurrPtr, AuthFormat);\r
\r
- ASSERT (NameSizeOfVariable (PtrTrack->CurrPtr) != 0);\r
- if (CompareMem (VariableName, Point, NameSizeOfVariable (PtrTrack->CurrPtr)) == 0) {\r
+ ASSERT (NameSizeOfVariable (PtrTrack->CurrPtr, AuthFormat) != 0);\r
+ if (CompareMem (VariableName, Point, NameSizeOfVariable (PtrTrack->CurrPtr, AuthFormat)) == 0) {\r
if (PtrTrack->CurrPtr->State == (VAR_IN_DELETED_TRANSITION & VAR_ADDED)) {\r
InDeletedVariable = PtrTrack->CurrPtr;\r
} else {\r
@param[in] VariableStoreList A list of variable stores that should be used to get the next variable.\r
The maximum number of entries is the max value of VARIABLE_STORE_TYPE.\r
@param[out] VariablePtr Pointer to variable header address.\r
+ @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+ FALSE indicates authenticated variables are not used.\r
\r
@retval EFI_SUCCESS The function completed successfully.\r
@retval EFI_NOT_FOUND The next variable was not found.\r
IN CHAR16 *VariableName,\r
IN EFI_GUID *VendorGuid,\r
IN VARIABLE_STORE_HEADER **VariableStoreList,\r
- OUT VARIABLE_HEADER **VariablePtr\r
+ OUT VARIABLE_HEADER **VariablePtr,\r
+ IN BOOLEAN AuthFormat\r
)\r
{\r
EFI_STATUS Status;\r
Variable.EndPtr = GetEndPointer (VariableStoreList[StoreType]);\r
Variable.Volatile = (BOOLEAN) (StoreType == VariableStoreTypeVolatile);\r
\r
- Status = FindVariableEx (VariableName, VendorGuid, FALSE, &Variable);\r
+ Status = FindVariableEx (VariableName, VendorGuid, FALSE, &Variable, AuthFormat);\r
if (!EFI_ERROR (Status)) {\r
break;\r
}\r
//\r
// If variable name is not empty, get next variable.\r
//\r
- Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);\r
+ Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr, AuthFormat);\r
}\r
\r
while (TRUE) {\r
VariablePtrTrack.StartPtr = Variable.StartPtr;\r
VariablePtrTrack.EndPtr = Variable.EndPtr;\r
Status = FindVariableEx (\r
- GetVariableNamePtr (Variable.CurrPtr),\r
- GetVendorGuidPtr (Variable.CurrPtr),\r
+ GetVariableNamePtr (Variable.CurrPtr, AuthFormat),\r
+ GetVendorGuidPtr (Variable.CurrPtr, AuthFormat),\r
FALSE,\r
- &VariablePtrTrack\r
+ &VariablePtrTrack,\r
+ AuthFormat\r
);\r
if (!EFI_ERROR (Status) && VariablePtrTrack.CurrPtr->State == VAR_ADDED) {\r
- Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);\r
+ Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr, AuthFormat);\r
continue;\r
}\r
}\r
VariableInHob.StartPtr = GetStartPointer (VariableStoreList[VariableStoreTypeHob]);\r
VariableInHob.EndPtr = GetEndPointer (VariableStoreList[VariableStoreTypeHob]);\r
Status = FindVariableEx (\r
- GetVariableNamePtr (Variable.CurrPtr),\r
- GetVendorGuidPtr (Variable.CurrPtr),\r
+ GetVariableNamePtr (Variable.CurrPtr, AuthFormat),\r
+ GetVendorGuidPtr (Variable.CurrPtr, AuthFormat),\r
FALSE,\r
- &VariableInHob\r
+ &VariableInHob,\r
+ AuthFormat\r
);\r
if (!EFI_ERROR (Status)) {\r
- Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);\r
+ Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr, AuthFormat);\r
continue;\r
}\r
}\r
}\r
}\r
\r
- Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);\r
+ Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr, AuthFormat);\r
}\r
\r
Done:\r