\r
}\r
\r
-\r
-UINT32\r
-NameSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->NameSize;\r
-}\r
-\r
-UINT32\r
-DataSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->DataSize;\r
-}\r
-\r
-UINT32\r
-AttributesOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
-\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->Attributes;\r
-}\r
-\r
STATIC\r
VARIABLE_HEADER *\r
GetNextVariablePtr (\r
\r
--*/\r
{\r
- return (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) GET_VARIABLE_DATA_PTR (Variable) + DataSizeOfVariable (Variable) + GET_PAD_SIZE (DataSizeOfVariable (Variable)));\r
+ return (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) GET_VARIABLE_DATA_PTR (Variable) + DATASIZE_OF_VARIABLE (Variable) + GET_PAD_SIZE (DATASIZE_OF_VARIABLE (Variable)));\r
}\r
\r
STATIC\r
(((INT32 *) VendorGuid)[2] == ((INT32 *) &Variable->VendorGuid)[2]) &&\r
(((INT32 *) VendorGuid)[3] == ((INT32 *) &Variable->VendorGuid)[3])\r
) {\r
- ASSERT (NameSizeOfVariable (Variable) != 0);\r
- if (!CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable), NameSizeOfVariable (Variable))) {\r
+ ASSERT (NAMESIZE_OF_VARIABLE (Variable) != 0);\r
+ if (!CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable), NAMESIZE_OF_VARIABLE (Variable))) {\r
PtrTrack->CurrPtr = Variable;\r
return EFI_SUCCESS;\r
}\r
//\r
// Get data size\r
//\r
- VarDataSize = DataSizeOfVariable (Variable.CurrPtr);\r
+ VarDataSize = DATASIZE_OF_VARIABLE (Variable.CurrPtr);\r
if (*DataSize >= VarDataSize) {\r
(*PeiServices)->CopyMem (Data, GET_VARIABLE_DATA_PTR (Variable.CurrPtr), VarDataSize);\r
\r
while (!(Variable.CurrPtr >= Variable.EndPtr || Variable.CurrPtr == NULL)) {\r
if (IsValidVariableHeader (Variable.CurrPtr)) {\r
if (Variable.CurrPtr->State == VAR_ADDED) {\r
- ASSERT (NameSizeOfVariable (Variable.CurrPtr) != 0);\r
+ ASSERT (NAMESIZE_OF_VARIABLE (Variable.CurrPtr) != 0);\r
\r
- VarNameSize = (UINTN) NameSizeOfVariable (Variable.CurrPtr);\r
+ VarNameSize = (UINTN) NAMESIZE_OF_VARIABLE (Variable.CurrPtr);\r
if (VarNameSize <= *VariableNameSize) {\r
(*PeiServices)->CopyMem (VariableName, GET_VARIABLE_NAME_PTR (Variable.CurrPtr), VarNameSize);\r
\r
\r
#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
\r
+#define NAMESIZE_OF_VARIABLE(Variable) \\r
+ ((((Variable)->DataSize == (UINT32) -1) || \\r
+ ((Variable)->Attributes == (UINT32) -1) || \\r
+ ((Variable)->NameSize == (UINT32) -1)) ? \\r
+ 0 : \\r
+ (Variable)->NameSize \\r
+ )\r
+\r
+#define DATASIZE_OF_VARIABLE(Variable) \\r
+ ((((Variable)->DataSize == (UINT32) -1) || \\r
+ ((Variable)->Attributes == (UINT32) -1) || \\r
+ ((Variable)->NameSize == (UINT32) -1)) ? \\r
+ 0 : \\r
+ (Variable)->DataSize \\r
+ )\r
+\r
#define GET_VARIABLE_NAME_PTR(a) (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
\r
#define GET_VARIABLE_DATA_PTR(a) \\r
- (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (a) + NameSizeOfVariable(a) + GET_PAD_SIZE (NameSizeOfVariable(a) ))\r
+ (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (a) + NAMESIZE_OF_VARIABLE(a) + GET_PAD_SIZE (NAMESIZE_OF_VARIABLE(a)))\r
\r
typedef struct {\r
VARIABLE_HEADER *CurrPtr;\r
return (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) VarStoreHeader + VarStoreHeader->Size);\r
}\r
\r
-UINT32\r
-NameSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->NameSize;\r
-}\r
-\r
-UINT32\r
-DataSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->DataSize;\r
-}\r
-\r
-UINT32\r
-AttributesOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
-\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->Attributes;\r
-}\r
-\r
-\r
STATIC\r
VARIABLE_HEADER *\r
GetNextVariablePtr (\r
\r
--*/\r
{\r
- return (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) GET_VARIABLE_DATA_PTR (Variable) + DataSizeOfVariable (Variable) + GET_PAD_SIZE (DataSizeOfVariable (Variable)));\r
+ return (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) GET_VARIABLE_DATA_PTR (Variable) + DATASIZE_OF_VARIABLE (Variable) + GET_PAD_SIZE (DATASIZE_OF_VARIABLE (Variable)));\r
}\r
\r
STATIC\r
(((INT32 *) VendorGuid)[2] == ((INT32 *) &Variable->VendorGuid)[2]) &&\r
(((INT32 *) VendorGuid)[3] == ((INT32 *) &Variable->VendorGuid)[3])\r
) {\r
- ASSERT (NameSizeOfVariable (Variable) != 0);\r
- if (!CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable), NameSizeOfVariable (Variable))) {\r
+ ASSERT (NAMESIZE_OF_VARIABLE (Variable) != 0);\r
+ if (!CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable), NAMESIZE_OF_VARIABLE (Variable))) {\r
PtrTrack->CurrPtr = Variable;\r
return EFI_SUCCESS;\r
}\r
//\r
// Get data size\r
//\r
- VarDataSize = DataSizeOfVariable (Variable.CurrPtr);\r
+ VarDataSize = DATASIZE_OF_VARIABLE (Variable.CurrPtr);\r
if (*DataSize >= VarDataSize) {\r
(*PeiServices)->CopyMem (Data, GET_VARIABLE_DATA_PTR (Variable.CurrPtr), VarDataSize);\r
\r
while (!(Variable.CurrPtr >= Variable.EndPtr || Variable.CurrPtr == NULL)) {\r
if (IsValidVariableHeader (Variable.CurrPtr)) {\r
if (Variable.CurrPtr->State == VAR_ADDED) {\r
- ASSERT (NameSizeOfVariable (Variable.CurrPtr) != 0);\r
+ ASSERT (NAMESIZE_OF_VARIABLE (Variable.CurrPtr) != 0);\r
\r
- VarNameSize = (UINTN) NameSizeOfVariable (Variable.CurrPtr);\r
+ VarNameSize = (UINTN) NAMESIZE_OF_VARIABLE (Variable.CurrPtr);\r
if (VarNameSize <= *VariableNameSize) {\r
(*PeiServices)->CopyMem (VariableName, GET_VARIABLE_NAME_PTR (Variable.CurrPtr), VarNameSize);\r
\r
\r
#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
\r
+#define NAMESIZE_OF_VARIABLE(Variable) \\r
+ ((((Variable)->DataSize == (UINT32) -1) || \\r
+ ((Variable)->Attributes == (UINT32) -1) || \\r
+ ((Variable)->NameSize == (UINT32) -1)) ? \\r
+ 0 : \\r
+ (Variable)->NameSize \\r
+ )\r
+\r
+#define DATASIZE_OF_VARIABLE(Variable) \\r
+ ((((Variable)->DataSize == (UINT32) -1) || \\r
+ ((Variable)->Attributes == (UINT32) -1) || \\r
+ ((Variable)->NameSize == (UINT32) -1)) ? \\r
+ 0 : \\r
+ (Variable)->DataSize \\r
+ )\r
+\r
#define GET_VARIABLE_NAME_PTR(a) (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
\r
#define GET_VARIABLE_DATA_PTR(a) \\r
- (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (a) + NameSizeOfVariable(a) + GET_PAD_SIZE (NameSizeOfVariable(a)))\r
+ (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (a) + NAMESIZE_OF_VARIABLE(a) + GET_PAD_SIZE (NAMESIZE_OF_VARIABLE(a)))\r
\r
typedef struct {\r
VARIABLE_HEADER *CurrPtr;\r
}\r
}\r
\r
-\r
-UINT32\r
-NameSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->NameSize;\r
-}\r
-\r
-UINT32\r
-DataSizeOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->DataSize;\r
-}\r
-\r
-UINT32\r
-AttributesOfVariable (\r
- IN VARIABLE_HEADER *Variable\r
- )\r
-{\r
-\r
- //\r
- // Check whether the header is valid fully;\r
- // Tricky: The unprogramed data in FLASH equals 0xff.\r
- // \r
- if (Variable->DataSize == (UINT32) -1 || \r
- Variable->Attributes == (UINT32) -1 || \r
- Variable->NameSize == (UINT32) -1) {\r
- return 0;\r
- }\r
- return Variable->Attributes;\r
-}\r
-\r
-\r
UINT8 *\r
GetVariableDataPtr (\r
IN VARIABLE_HEADER *Variable\r
//\r
// Be careful about pad size for alignment\r
//\r
- return (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (Variable) + NameSizeOfVariable (Variable) + GET_PAD_SIZE (NameSizeOfVariable (Variable)));\r
+ return (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (Variable) + NAMESIZE_OF_VARIABLE (Variable) + GET_PAD_SIZE (NAMESIZE_OF_VARIABLE (Variable)));\r
}\r
\r
\r
//\r
// Be careful about pad size for alignment\r
//\r
- return (VARIABLE_HEADER *) HEADER_ALIGN (((UINTN) GetVariableDataPtr (Variable) + DataSizeOfVariable (Variable) + GET_PAD_SIZE (DataSizeOfVariable (Variable))));\r
+ return (VARIABLE_HEADER *) HEADER_ALIGN (((UINTN) GetVariableDataPtr (Variable) + DATASIZE_OF_VARIABLE (Variable) + GET_PAD_SIZE (DATASIZE_OF_VARIABLE (Variable))));\r
}\r
\r
VARIABLE_HEADER *\r
return EFI_SUCCESS;\r
} else {\r
if (CompareGuid (VendorGuid, &Variable[Index]->VendorGuid)) {\r
- ASSERT (NameSizeOfVariable (Variable[Index]) != 0);\r
- if (!CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable[Index]), NameSizeOfVariable (Variable[Index]))) {\r
+ ASSERT (NAMESIZE_OF_VARIABLE (Variable[Index]) != 0);\r
+ if (!CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable[Index]), NAMESIZE_OF_VARIABLE (Variable[Index]))) {\r
PtrTrack->CurrPtr = Variable[Index];\r
PtrTrack->Volatile = (BOOLEAN)(Index == 0);\r
return EFI_SUCCESS;\r
//\r
// Get data size\r
//\r
- VarDataSize = DataSizeOfVariable (Variable.CurrPtr);\r
+ VarDataSize = DATASIZE_OF_VARIABLE (Variable.CurrPtr);\r
ASSERT (VarDataSize != 0);\r
\r
if (*DataSize >= VarDataSize) {\r
//\r
if (IsValidVariableHeader (Variable.CurrPtr) && Variable.CurrPtr->State == VAR_ADDED) {\r
if (!(EfiAtRuntime () && !(Variable.CurrPtr->Attributes & EFI_VARIABLE_RUNTIME_ACCESS))) {\r
- VarNameSize = NameSizeOfVariable (Variable.CurrPtr);\r
+ VarNameSize = NAMESIZE_OF_VARIABLE (Variable.CurrPtr);\r
ASSERT (VarNameSize != 0);\r
\r
if (VarNameSize <= *VariableNameSize) {\r
// If the variable is marked valid and the same data has been passed in\r
// then return to the caller immediately.\r
//\r
- if (DataSizeOfVariable (Variable.CurrPtr) == DataSize &&\r
+ if (DATASIZE_OF_VARIABLE (Variable.CurrPtr) == DataSize &&\r
(CompareMem (Data, GetVariableDataPtr (Variable.CurrPtr), DataSize) == 0)) {\r
\r
UpdateVariableInfo (VariableName, VendorGuid, Volatile, FALSE, TRUE, FALSE, FALSE);\r
\r
#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))\r
\r
+#define NAMESIZE_OF_VARIABLE(Variable) \\r
+ ((((Variable)->DataSize == (UINT32) -1) || \\r
+ ((Variable)->Attributes == (UINT32) -1) || \\r
+ ((Variable)->NameSize == (UINT32) -1)) ? \\r
+ 0 : \\r
+ (Variable)->NameSize \\r
+ )\r
+\r
+#define DATASIZE_OF_VARIABLE(Variable) \\r
+ ((((Variable)->DataSize == (UINT32) -1) || \\r
+ ((Variable)->Attributes == (UINT32) -1) || \\r
+ ((Variable)->NameSize == (UINT32) -1)) ? \\r
+ 0 : \\r
+ (Variable)->DataSize \\r
+ )\r
+\r
#define GET_VARIABLE_NAME_PTR(a) (CHAR16 *) ((UINTN) (a) + sizeof (VARIABLE_HEADER))\r
\r
\r