]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.h
Add in some features for the thunk layer:
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / HiiDatabase.h
index dd07afd06a782afeeae3f65b7be1fa65de85f8ca..9934e3c2812f355769df689cd8f2f08fd97eada1 100644 (file)
@@ -44,6 +44,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/FrameworkIfrSupportLib.h>\r
 #include <Library/HiiLib.h>\r
+#include <Library/ExtendedHiiLib.h>\r
 \r
 //\r
 // Macros\r
@@ -106,17 +107,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            *mUefiHiiDatabaseProtocol;\r
+extern CONST EFI_HII_FONT_PROTOCOL                *mUefiHiiFontProtocol;\r
+extern CONST EFI_HII_IMAGE_PROTOCOL               *mUefiHiiImageProtocol;\r
+extern CONST EFI_HII_STRING_PROTOCOL              *mUefiStringProtocol;\r
+extern CONST EFI_HII_CONFIG_ROUTING_PROTOCOL      *mUefiConfigRoutingProtocol;\r
 \r
 //\r
 // Prototypes\r
@@ -319,5 +340,6 @@ HiiCompareLanguage (
 ;\r
 \r
 #include "Utility.h"\r
+#include "ConfigAccess.h"\r
 \r
 #endif\r