1) Replace MACRO with C functions.

2) Add HEADER_VALID_ONLY state of variable, which represents only the header is valid and the data/name is stale. This may be caused by incomplete data updating. Adding the state helps to check whether the header is valid. If variable header is valid, then we must skip the data of variable with the valid size. If the header is invalid, we should only skip the header of variable. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4555 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
yshang1
2008-01-14 06:35:23 +00:00
parent 51dc1f659f
commit 130e25699a
7 changed files with 498 additions and 119 deletions

View File

@ -60,7 +60,9 @@ typedef enum {
//
#define VAR_IN_DELETED_TRANSITION 0xfe // Variable is in obsolete transistion
#define VAR_DELETED 0xfd // Variable is obsolete
#define VAR_ADDED 0x7f // Variable has been completely added
#define VAR_HEADER_VALID_ONLY 0x7f // Variable header has been valid
#define VAR_ADDED 0x3f // Variable has been completely added
//
#define IS_VARIABLE_STATE(_c, _Mask) (BOOLEAN) (((~_c) & (~_Mask)) != 0)
#pragma pack(1)