]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Sample/Tools/Source/UefiVfrCompile/VfrUtilityLib.h
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Tools / Source / UefiVfrCompile / VfrUtilityLib.h
diff --git a/EdkCompatibilityPkg/Sample/Tools/Source/UefiVfrCompile/VfrUtilityLib.h b/EdkCompatibilityPkg/Sample/Tools/Source/UefiVfrCompile/VfrUtilityLib.h
deleted file mode 100644 (file)
index fe37f83..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-/*++\r
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-Module Name:\r
-  VfrUtilityLib.h\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#ifndef _VFRUTILITYLIB_H_\r
-#define _VFRUTILITYLIB_H_\r
-\r
-#include "Tiano.h"\r
-#include "string.h"\r
-#include "EfiTypes.h"\r
-#include "EfiVfr.h"\r
-#include "VfrError.h"\r
-\r
-#define MAX_NAME_LEN                       64\r
-#define DEFAULT_ALIGN                      1\r
-#define DEFAULT_PACK_ALIGN                 0x8\r
-#define DEFAULT_NAME_TABLE_ITEMS           1024\r
-\r
-#define EFI_BITS_SHIFT_PER_UINT32          0x5\r
-#define EFI_BITS_PER_UINT32                (1 << EFI_BITS_SHIFT_PER_UINT32)\r
-\r
-#define BUFFER_SAFE_FREE(Buf)              do { if ((Buf) != NULL) { delete (Buf); } } while (0);\r
-\r
-class CVfrBinaryOutput {\r
-public:\r
-  virtual VOID WriteLine (IN FILE *, IN UINT32, IN INT8 *, IN INT8 *, IN UINT32);\r
-  virtual VOID WriteEnd (IN FILE *, IN UINT32, IN INT8 *, IN INT8 *, IN UINT32);\r
-};\r
-\r
-UINT32\r
-_STR2U32 (\r
-  IN INT8 *Str\r
-  );\r
-\r
-struct SConfigInfo {\r
-  UINT16             mOffset;\r
-  UINT16             mWidth;\r
-  UINT8              *mValue;\r
-  SConfigInfo        *mNext;\r
-\r
-  SConfigInfo (IN UINT8, IN UINT16, IN UINT32, IN EFI_IFR_TYPE_VALUE);\r
-  ~SConfigInfo (VOID);\r
-};\r
-\r
-struct SConfigItem {\r
-  INT8          *mName;         // varstore name\r
-  INT8          *mId;           // varstore ID\r
-  SConfigInfo   *mInfoStrList;  // list of Offset/Value in the varstore\r
-  SConfigItem   *mNext;\r
-\r
-public:\r
-  SConfigItem (IN INT8 *, IN INT8 *);\r
-  SConfigItem (IN INT8 *, IN INT8 *, IN UINT8, IN UINT16, IN UINT16, IN EFI_IFR_TYPE_VALUE);\r
-  virtual ~SConfigItem ();\r
-};\r
-\r
-class CVfrBufferConfig {\r
-private:\r
-  SConfigItem *mItemListHead;\r
-  SConfigItem *mItemListTail;\r
-  SConfigItem *mItemListPos;\r
-\r
-public:\r
-  CVfrBufferConfig (VOID);\r
-  virtual ~CVfrBufferConfig (VOID);\r
-\r
-  virtual UINT8   Register (IN INT8 *, IN INT8 *Info = NULL);\r
-  virtual VOID    Open (VOID);\r
-  virtual BOOLEAN Eof(VOID);\r
-  virtual UINT8   Select (IN INT8 *, IN INT8 *Info = NULL);\r
-  virtual UINT8   Write (IN CONST CHAR8, IN INT8 *, IN INT8 *, IN UINT8, IN UINT16, IN UINT32, IN EFI_IFR_TYPE_VALUE);\r
-#if 0\r
-  virtual UINT8   Read (OUT INT8 **, OUT INT8 **, OUT INT8 **, OUT INT8 **, OUT INT8 **);\r
-#endif\r
-  virtual VOID    Close (VOID);\r
-  virtual VOID    OutputCFile (IN FILE *, IN INT8 *);\r
-};\r
-\r
-extern CVfrBufferConfig gCVfrBufferConfig;\r
-\r
-#define ALIGN_STUFF(Size, Align) ((Align) - (Size) % (Align))\r
-#define INVALID_ARRAY_INDEX      0xFFFFFFFF\r
-\r
-struct SVfrDataType;\r
-\r
-struct SVfrDataField {\r
-  INT8                      mFieldName[MAX_NAME_LEN];\r
-  SVfrDataType              *mFieldType;\r
-  UINT32                    mOffset;\r
-  UINT32                    mArrayNum;\r
-  SVfrDataField             *mNext;\r
-};\r
-\r
-struct SVfrDataType {\r
-  INT8                      mTypeName[MAX_NAME_LEN];\r
-  UINT8                     mType;\r
-  UINT32                    mAlign;\r
-  UINT32                    mTotalSize;\r
-  SVfrDataField             *mMembers;\r
-  SVfrDataType              *mNext;\r
-};\r
-\r
-#define VFR_PACK_ASSIGN     0x01\r
-#define VFR_PACK_SHOW       0x02\r
-#define VFR_PACK_PUSH       0x04\r
-#define VFR_PACK_POP        0x08\r
-\r
-#define PACKSTACK_MAX_SIZE  0x400\r
-\r
-struct SVfrPackStackNode {\r
-  INT8                      *mIdentifier;\r
-  UINT32                    mNumber;\r
-  SVfrPackStackNode         *mNext;\r
-\r
-  SVfrPackStackNode (IN INT8 *Identifier, IN UINT32 Number) {\r
-    mIdentifier = NULL;\r
-    mNumber     = Number;\r
-    mNext       = NULL;\r
-\r
-    if (Identifier != NULL) {\r
-      mIdentifier = new INT8[strlen (Identifier) + 1];\r
-      strcpy (mIdentifier, Identifier);\r
-    }\r
-  }\r
-\r
-  ~SVfrPackStackNode (VOID) {\r
-    if (mIdentifier != NULL) {\r
-      delete mIdentifier;\r
-    }\r
-    mNext = NULL;\r
-  }\r
-\r
-  bool Match (IN INT8 *Identifier) {\r
-    if (Identifier == NULL) {\r
-      return TRUE;\r
-    } else if (mIdentifier == NULL) {\r
-      return FALSE;\r
-    } else if (strcmp (Identifier, mIdentifier) == 0) {\r
-      return TRUE;\r
-    } else {\r
-      return FALSE;\r
-    }\r
-  }\r
-};\r
-\r
-class CVfrVarDataTypeDB {\r
-private:\r
-  UINT32                    mPackAlign;\r
-  SVfrPackStackNode         *mPackStack;\r
-\r
-public:\r
-  EFI_VFR_RETURN_CODE       Pack (IN UINT32, IN UINT8, IN INT8 *Identifier = NULL, IN UINT32 Number = DEFAULT_PACK_ALIGN);\r
-\r
-private:\r
-  SVfrDataType              *mDataTypeList;\r
-\r
-  SVfrDataType              *mNewDataType;\r
-  SVfrDataType              *mCurrDataType;\r
-  SVfrDataField             *mCurrDataField;\r
-\r
-  VOID InternalTypesListInit (VOID);\r
-  VOID RegisterNewType (IN SVfrDataType *);\r
-\r
-  EFI_VFR_RETURN_CODE ExtractStructTypeName (IN INT8 *&, OUT INT8 *);\r
-  EFI_VFR_RETURN_CODE ExtractFieldNameAndArrary (IN INT8 *&, OUT INT8 *, OUT UINT32 &);\r
-  EFI_VFR_RETURN_CODE GetTypeField (IN INT8 *, IN SVfrDataType *, IN SVfrDataField *&);\r
-  EFI_VFR_RETURN_CODE GetFieldOffset (IN SVfrDataField *, IN UINT32, OUT UINT32 &);\r
-  UINT8               GetFieldWidth (IN SVfrDataField *);\r
-  UINT32              GetFieldSize (IN SVfrDataField *, IN UINT32);\r
-\r
-public:\r
-  CVfrVarDataTypeDB (VOID);\r
-  ~CVfrVarDataTypeDB (VOID);\r
-\r
-  VOID                DeclareDataTypeBegin (VOID);\r
-  EFI_VFR_RETURN_CODE SetNewTypeName (IN INT8 *);\r
-  EFI_VFR_RETURN_CODE DataTypeAddField (IN INT8 *, IN INT8 *, IN UINT32);\r
-  VOID                DeclareDataTypeEnd (VOID);\r
-\r
-  EFI_VFR_RETURN_CODE GetDataType (IN INT8 *, OUT SVfrDataType **);\r
-  EFI_VFR_RETURN_CODE GetDataTypeSize (IN INT8 *, OUT UINT32 *);\r
-  EFI_VFR_RETURN_CODE GetDataTypeSize (IN UINT8, OUT UINT32 *);\r
-  EFI_VFR_RETURN_CODE GetDataFieldInfo (IN INT8 *, OUT UINT16 &, OUT UINT8 &, OUT UINT32 &);\r
-\r
-  EFI_VFR_RETURN_CODE GetUserDefinedTypeNameList (OUT INT8 ***, OUT UINT32 *);\r
-  BOOLEAN             IsTypeNameDefined (IN INT8 *);\r
-\r
-#ifdef CVFR_VARDATATYPEDB_DEBUG\r
-  VOID ParserDB ();\r
-#endif\r
-};\r
-\r
-typedef enum {\r
-  EFI_VFR_VARSTORE_INVALID,\r
-  EFI_VFR_VARSTORE_BUFFER,\r
-  EFI_VFR_VARSTORE_EFI,\r
-  EFI_VFR_VARSTORE_NAME\r
-} EFI_VFR_VARSTORE_TYPE;\r
-\r
-struct SVfrVarStorageNode {\r
-  EFI_GUID                  mGuid;\r
-  INT8                      *mVarStoreName;\r
-  EFI_VARSTORE_ID           mVarStoreId;\r
-  struct SVfrVarStorageNode *mNext;\r
-\r
-  EFI_VFR_VARSTORE_TYPE     mVarStoreType;\r
-  union {\r
-    // EFI Variable\r
-    struct {\r
-      EFI_STRING_ID           mEfiVarName;\r
-      UINT32                  mEfiVarSize;\r
-    } mEfiVar;\r
-\r
-    // Buffer Storage\r
-    SVfrDataType            *mDataType;\r
-\r
-    // NameValue Storage\r
-       struct {\r
-      EFI_STRING_ID         *mNameTable;\r
-      UINT32                mTableSize;\r
-    } mNameSpace;\r
-  } mStorageInfo;\r
-\r
-public:\r
-  SVfrVarStorageNode (IN EFI_GUID *, IN INT8 *, IN EFI_VARSTORE_ID, IN EFI_STRING_ID, IN UINT32);\r
-  SVfrVarStorageNode (IN EFI_GUID *, IN INT8 *, IN EFI_VARSTORE_ID, IN SVfrDataType *);\r
-  SVfrVarStorageNode (IN INT8 *, IN EFI_VARSTORE_ID);\r
-  ~SVfrVarStorageNode (VOID);\r
-};\r
-\r
-struct EFI_VARSTORE_INFO {\r
-  EFI_VARSTORE_ID           mVarStoreId;\r
-  union {\r
-    EFI_STRING_ID           mVarName;\r
-    UINT16                  mVarOffset;\r
-  } mInfo;\r
-  UINT8                     mVarType;\r
-  UINT32                    mVarTotalSize;\r
-\r
-  EFI_VARSTORE_INFO (VOID);\r
-  EFI_VARSTORE_INFO (IN EFI_VARSTORE_INFO &);\r
-  BOOLEAN operator == (IN EFI_VARSTORE_INFO *);\r
-};\r
-\r
-#define EFI_VARSTORE_ID_MAX              0xFFFF\r
-#define EFI_FREE_VARSTORE_ID_BITMAP_SIZE ((EFI_VARSTORE_ID_MAX + 1) / EFI_BITS_PER_UINT32)\r
-\r
-class CVfrDataStorage {\r
-private:\r
-  UINT32                    mFreeVarStoreIdBitMap[EFI_FREE_VARSTORE_ID_BITMAP_SIZE];\r
-\r
-  struct SVfrVarStorageNode *mBufferVarStoreList;\r
-  struct SVfrVarStorageNode *mEfiVarStoreList;\r
-  struct SVfrVarStorageNode *mNameVarStoreList;\r
-\r
-  struct SVfrVarStorageNode *mCurrVarStorageNode;\r
-  struct SVfrVarStorageNode *mNewVarStorageNode;\r
-\r
-private:\r
-\r
-  EFI_VARSTORE_ID GetFreeVarStoreId (VOID);\r
-  BOOLEAN         ChekVarStoreIdFree (IN EFI_VARSTORE_ID);\r
-  VOID            MarkVarStoreIdUsed (IN EFI_VARSTORE_ID);\r
-  VOID            MarkVarStoreIdUnused (IN EFI_VARSTORE_ID);\r
-\r
-public:\r
-  CVfrDataStorage ();\r
-  ~CVfrDataStorage ();\r
-\r
-  EFI_VFR_RETURN_CODE DeclareNameVarStoreBegin (INT8 *);\r
-  EFI_VFR_RETURN_CODE NameTableAddItem (EFI_STRING_ID);\r
-  EFI_VFR_RETURN_CODE DeclareNameVarStoreEnd (EFI_GUID *);\r
-\r
-  EFI_VFR_RETURN_CODE DeclareEfiVarStore (IN INT8 *, IN EFI_GUID *, IN EFI_STRING_ID, IN UINT32);\r
-\r
-  EFI_VFR_RETURN_CODE DeclareBufferVarStore (IN INT8 *, IN EFI_GUID *, IN CVfrVarDataTypeDB *, IN INT8 *, IN EFI_VARSTORE_ID);\r
-\r
-  EFI_VFR_RETURN_CODE GetVarStoreId (IN INT8 *, OUT EFI_VARSTORE_ID *);\r
-  EFI_VFR_RETURN_CODE GetVarStoreType (IN INT8 *, OUT EFI_VFR_VARSTORE_TYPE &);\r
-  EFI_VFR_VARSTORE_TYPE GetVarStoreType (IN EFI_VARSTORE_ID);\r
-  EFI_VFR_RETURN_CODE GetVarStoreName (IN EFI_VARSTORE_ID, OUT INT8 **);\r
-\r
-  EFI_VFR_RETURN_CODE GetBufferVarStoreDataTypeName (IN INT8 *, OUT INT8 **);\r
-  EFI_VFR_RETURN_CODE GetEfiVarStoreInfo (IN EFI_VARSTORE_INFO *);\r
-  EFI_VFR_RETURN_CODE GetNameVarStoreInfo (IN EFI_VARSTORE_INFO *, IN UINT32);\r
-\r
-  EFI_VFR_RETURN_CODE BufferVarStoreRequestElementAdd (IN INT8 *, IN EFI_VARSTORE_INFO &);\r
-};\r
-\r
-#define EFI_QUESTION_ID_MAX              0xFFFF\r
-#define EFI_FREE_QUESTION_ID_BITMAP_SIZE ((EFI_QUESTION_ID_MAX + 1) / EFI_BITS_PER_UINT32)\r
-#define EFI_QUESTION_ID_INVALID          0x0\r
-\r
-#define DATE_YEAR_BITMASK                0x0000FFFF\r
-#define DATE_MONTH_BITMASK               0x00FF0000\r
-#define DATE_DAY_BITMASK                 0xFF000000\r
-#define TIME_HOUR_BITMASK                0x000000FF\r
-#define TIME_MINUTE_BITMASK              0x0000FF00\r
-#define TIME_SECOND_BITMASK              0x00FF0000\r
-\r
-struct SVfrQuestionNode {\r
-  INT8                      *mName;\r
-  INT8                      *mVarIdStr;\r
-  EFI_QUESTION_ID           mQuestionId;\r
-  UINT32                    mBitMask;\r
-  SVfrQuestionNode          *mNext;\r
-\r
-  SVfrQuestionNode (IN INT8 *, IN INT8 *, IN UINT32 BitMask = 0);\r
-  ~SVfrQuestionNode ();\r
-};\r
-\r
-class CVfrQuestionDB {\r
-private:\r
-  SVfrQuestionNode          *mQuestionList;\r
-  UINT32                    mFreeQIdBitMap[EFI_FREE_QUESTION_ID_BITMAP_SIZE];\r
-\r
-private:\r
-  EFI_QUESTION_ID GetFreeQuestionId (VOID);\r
-  BOOLEAN         ChekQuestionIdFree (IN EFI_QUESTION_ID);\r
-  VOID            MarkQuestionIdUsed (IN EFI_QUESTION_ID);\r
-  VOID            MarkQuestionIdUnused (IN EFI_QUESTION_ID);\r
-\r
-public:\r
-  CVfrQuestionDB ();\r
-  ~CVfrQuestionDB();\r
-\r
-  EFI_VFR_RETURN_CODE RegisterQuestion (IN INT8 *, IN INT8 *, IN OUT EFI_QUESTION_ID &);\r
-  VOID                RegisterOldDateQuestion (IN INT8 *, IN INT8 *, IN INT8 *, IN OUT EFI_QUESTION_ID &);\r
-  VOID                RegisterNewDateQuestion (IN INT8 *, IN INT8 *, IN OUT EFI_QUESTION_ID &);\r
-  VOID                RegisterOldTimeQuestion (IN INT8 *, IN INT8 *, IN INT8 *, IN OUT EFI_QUESTION_ID &);\r
-  VOID                RegisterNewTimeQuestion (IN INT8 *, IN INT8 *, IN OUT EFI_QUESTION_ID &);\r
-  EFI_VFR_RETURN_CODE UpdateQuestionId (IN EFI_QUESTION_ID, IN EFI_QUESTION_ID);\r
-  VOID                GetQuestionId (IN INT8 *, IN INT8 *, OUT EFI_QUESTION_ID &, OUT UINT32 &);\r
-  EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID);\r
-  EFI_VFR_RETURN_CODE FindQuestion (IN INT8 *);\r
- };\r
-\r
-struct SVfrDefaultStoreNode {\r
-  EFI_IFR_DEFAULTSTORE      *mObjBinAddr;\r
-  INT8                      *mRefName;\r
-  EFI_STRING_ID             mDefaultStoreNameId;\r
-  UINT16                    mDefaultId;\r
-\r
-  SVfrDefaultStoreNode      *mNext;\r
-\r
-  SVfrDefaultStoreNode (IN EFI_IFR_DEFAULTSTORE *, IN INT8 *, IN EFI_STRING_ID, IN UINT16);\r
-  ~SVfrDefaultStoreNode();\r
-};\r
-\r
-class CVfrDefaultStore {\r
-private:\r
-  SVfrDefaultStoreNode      *mDefaultStoreList;\r
-\r
-public:\r
-  CVfrDefaultStore ();\r
-  ~CVfrDefaultStore ();\r
-\r
-  EFI_VFR_RETURN_CODE RegisterDefaultStore (IN CHAR8 *, IN INT8 *, IN EFI_STRING_ID, IN UINT16);\r
-  EFI_VFR_RETURN_CODE ReRegisterDefaultStoreById (IN UINT16, IN INT8 *, IN EFI_STRING_ID);\r
-  BOOLEAN             DefaultIdRegistered (IN UINT16);\r
-  EFI_VFR_RETURN_CODE GetDefaultId (IN INT8 *, OUT UINT16 *);\r
-  EFI_VFR_RETURN_CODE BufferVarStoreAltConfigAdd (IN EFI_VARSTORE_ID, IN EFI_VARSTORE_INFO &, IN INT8 *, IN UINT8, IN EFI_IFR_TYPE_VALUE);\r
-};\r
-\r
-#define EFI_RULE_ID_START    0x01\r
-#define EFI_RULE_ID_INVALID  0x00\r
-\r
-struct SVfrRuleNode {\r
-  UINT8                     mRuleId;\r
-  INT8                      *mRuleName;\r
-  SVfrRuleNode              *mNext;\r
-\r
-  SVfrRuleNode(IN INT8 *, IN UINT8);\r
-  ~SVfrRuleNode();\r
-};\r
-\r
-class CVfrRulesDB {\r
-private:\r
-  SVfrRuleNode              *mRuleList;\r
-  UINT8                     mFreeRuleId;\r
-\r
-public:\r
-  CVfrRulesDB ();\r
-  ~CVfrRulesDB();\r
-\r
-  VOID RegisterRule (IN INT8 *);\r
-  UINT8 GetRuleId (IN INT8 *);\r
-};\r
-\r
-#define MIN(v1, v2) (((v1) < (v2)) ? (v1) : (v2))\r
-#define MAX(v1, v2) (((v1) > (v2)) ? (v1) : (v2))\r
-\r
-#endif\r