#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
// 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
// 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
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
;\r
\r
#include "Utility.h"\r
+#include "ConfigAccess.h"\r
\r
#endif\r