summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-14 07:06:06 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-14 07:06:06 +0000
commit84f9a9ec8f84f837b3c0addf1f4681d8f8c71db1 (patch)
tree46fa29386c10c873f84276c75ba66a61efac35a1 /MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
parent59ceeabe504f4c7814f9560c411690a1ffdc31b2 (diff)
downloadedk2-platforms-84f9a9ec8f84f837b3c0addf1f4681d8f8c71db1.tar.xz
1. Update the implementation of HII ConfigRouting Protocol in HiiDataBase module to follow new ECRs.
1) ConfigRouting Protocol ExtractConfig interface must return the default values built in IFR that were not returned by ConfigAccess.ExtractConfig. 2) The parameters of ConfigRouting Protocol interfaces are clarified to the specific configuration string syntax. 2. Implement the last two HiiLib interfaces: HiiSetToDefaults and HiiValidateSettings. 3. Update DriverSample driver to use these two APIs. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8313 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h')
-rw-r--r--MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h33
1 files changed, 31 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
index fa82605581..5d10d46a8c 100644
--- a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
+++ b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
@@ -63,6 +63,37 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define BITMAP_LEN_24_BIT(Width, Height) ((Width) * (Height) * 3)
//
+// IFR data structure
+//
+// BASE_CR (a, IFR_DEFAULT_VALUE_DATA, Entry) to get the whole structure.
+
+typedef struct {
+ LIST_ENTRY Entry; // Link to VarStorage
+ EFI_GUID Guid;
+ CHAR16 *Name;
+ EFI_VARSTORE_ID VarStoreId;
+ UINT16 Size;
+ LIST_ENTRY BlockEntry; // Link to its Block array
+} IFR_VARSTORAGE_DATA;
+
+typedef struct {
+ LIST_ENTRY Entry; // Link to Block array
+ UINT16 Offset;
+ UINT16 Width;
+ EFI_QUESTION_ID QuestionId;
+ UINT8 OpCode;
+ UINT8 Scope;
+ LIST_ENTRY DefaultValueEntry; // Link to its default value array
+} IFR_BLOCK_DATA;
+
+typedef struct {
+ LIST_ENTRY Entry;
+ EFI_STRING_ID DefaultName;
+ UINT16 DefaultId;
+ UINT64 Value;
+} IFR_DEFAULT_DATA;
+
+//
// Storage types
//
#define EFI_HII_VARSTORE_BUFFER 0
@@ -83,8 +114,6 @@ typedef struct {
UINT16 Size;
} HII_FORMSET_STORAGE;
-#define HII_FORMSET_STORAGE_FROM_LINK(a) CR (a, HII_FORMSET_STORAGE, Link, HII_FORMSET_STORAGE_SIGNATURE)
-
//
// String Package definitions