]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.h
1) Add in IfrParser so that the FrameworkHii->GetDefaultImage can scan UEFI IFR opcod...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / HiiDatabase.h
index dd07afd06a782afeeae3f65b7be1fa65de85f8ca..4ad98561411d8935e9c32b44f598ef0de90b2b3a 100644 (file)
@@ -42,8 +42,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/FrameworkIfrSupportLib.h>\r
+//#include <Library/FrameworkIfrSupportLib.h>\r
 #include <Library/HiiLib.h>\r
+#include <Library/ExtendedHiiLib.h>\r
+\r
+#include <Library/IfrSupportLib.h>\r
+#include <Library/ExtendedIfrSupportLib.h>\r
+\r
+#include <MdeModuleHii.h>\r
 \r
 //\r
 // Macros\r
@@ -54,10 +60,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 // Typedef\r
 //\r
 \r
+#pragma pack (push, 1)\r
 typedef struct {\r
   UINT32                  BinaryLength;\r
   EFI_HII_PACKAGE_HEADER  PackageHeader;\r
 } TIANO_AUTOGEN_PACKAGES_HEADER;\r
+#pragma pack (pop)\r
 \r
 #define EFI_HII_THUNK_PRIVATE_DATA_FROM_THIS(Record)   CR(Record, EFI_HII_THUNK_PRIVATE_DATA, Hii, EFI_HII_THUNK_DRIVER_DATA_SIGNATURE)\r
 #define EFI_HII_THUNK_DRIVER_DATA_SIGNATURE            EFI_SIGNATURE_32 ('H', 'i', 'I', 'T')\r
@@ -106,17 +114,37 @@ typedef struct {
   // other package list with IsPackageListWithOnlyStringPackages is TRUE.\r
   //\r
   BOOLEAN                    DoesPackageListImportStringPackages;\r
-  EFI_HII_PACKAGE_LIST_HEADER *ImportedUefiStringPackageListHeader; //Only valid if DoesPackageListImportStringPackages is true.\r
-\r
+  \r
 } HII_TRHUNK_HANDLE_MAPPING_DATABASE_ENTRY;\r
 \r
+#define HII_TRHUNK_BUFFER_STORAGE_KEY_SIGNATURE              EFI_SIGNATURE_32 ('H', 'T', 's', 'k')\r
+#define HII_TRHUNK_BUFFER_STORAGE_KEY_FROM_LIST_ENTRY(Record) CR(Record, HII_TRHUNK_BUFFER_STORAGE_KEY, List, HII_TRHUNK_BUFFER_STORAGE_KEY_SIGNATURE)\r
+typedef struct {\r
+  LIST_ENTRY List;\r
+  UINT32     Signature;\r
+  EFI_GUID   Guid;\r
+  CHAR16     *Name;\r
+  UINTN      Size;\r
+  UINT16     VarStoreId;\r
+} HII_TRHUNK_BUFFER_STORAGE_KEY;\r
+\r
+#define HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE_SIGNATURE            EFI_SIGNATURE_32 ('H', 'T', 'c', 'a')\r
+#define HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE_FROM_PROTOCOL(Record) CR(Record, HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE, ConfigAccessProtocol, HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE_SIGNATURE)\r
+typedef struct {\r
+  UINT32                         Signature;\r
+  EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccessProtocol;\r
+  EFI_FORM_CALLBACK_PROTOCOL     *FrameworkFormCallbackProtocol;\r
+  LIST_ENTRY                     ConfigAccessBufferStorageListHead;\r
+} HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE;\r
+\r
 //\r
 // Extern Variables\r
 //\r
-extern EFI_HII_DATABASE_PROTOCOL *mUefiHiiDatabaseProtocol;\r
-extern EFI_HII_FONT_PROTOCOL     *mUefiHiiFontProtocol;\r
-extern EFI_HII_IMAGE_PROTOCOL    *mUefiHiiImageProtocol;\r
-extern EFI_HII_STRING_PROTOCOL   *mUefiStringProtocol;\r
+extern CONST EFI_HII_DATABASE_PROTOCOL            *mHiiDatabase;\r
+extern CONST EFI_HII_FONT_PROTOCOL                *mHiiFontProtocol;\r
+extern CONST EFI_HII_IMAGE_PROTOCOL               *mHiiImageProtocol;\r
+extern CONST EFI_HII_STRING_PROTOCOL              *mHiiStringProtocol;\r
+extern CONST EFI_HII_CONFIG_ROUTING_PROTOCOL      *mHiiConfigRoutingProtocol;\r
 \r
 //\r
 // Prototypes\r
@@ -298,7 +326,7 @@ HiiUpdateForm (
   IN FRAMEWORK_EFI_HII_HANDLE          Handle,\r
   IN EFI_FORM_LABEL         Label,\r
   IN BOOLEAN                AddData,\r
-  IN EFI_HII_UPDATE_DATA    *Data\r
+  IN FRAMEWORK_EFI_HII_UPDATE_DATA    *Data\r
   )\r
 ;\r
 \r
@@ -319,5 +347,6 @@ HiiCompareLanguage (
 ;\r
 \r
 #include "Utility.h"\r
+#include "ConfigAccess.h"\r
 \r
 #endif\r