+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