},\r
};\r
\r
+EFI_FORMBROWSER_THUNK_PRIVATE_DATA mBrowserThunkPrivateDataTemplate = {\r
+ EFI_FORMBROWSER_THUNK_PRIVATE_DATA_SIGNATURE,\r
+ (EFI_HANDLE) NULL,\r
+ {\r
+ ThunkSendForm,\r
+ ThunkCreatePopUp\r
+ }\r
+};\r
+\r
+\r
CONST EFI_HII_DATABASE_PROTOCOL *mHiiDatabase;\r
CONST EFI_HII_FONT_PROTOCOL *mHiiFontProtocol;\r
CONST EFI_HII_IMAGE_PROTOCOL *mHiiImageProtocol;\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
+ Status = gBS->InstallProtocolInterface (\r
+ &mBrowserThunkPrivateDataTemplate.Handle,\r
+ &gEfiFormBrowserProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ (VOID *) &mBrowserThunkPrivateDataTemplate.FormBrowser\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+ \r
return Status;\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkSendForm (\r
+ IN EFI_FORM_BROWSER_PROTOCOL *This,\r
+ IN BOOLEAN UseDatabase,\r
+ IN FRAMEWORK_EFI_HII_HANDLE *Handle,\r
+ IN UINTN HandleCount,\r
+ IN FRAMEWORK_EFI_IFR_PACKET *Packet, OPTIONAL\r
+ IN EFI_HANDLE CallbackHandle, OPTIONAL\r
+ IN UINT8 *NvMapOverride, OPTIONAL\r
+ IN FRAMEWORK_EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL\r
+ OUT BOOLEAN *ResetRequired OPTIONAL\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return EFI_UNSUPPORTED;\r
+}\r
+\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkCreatePopUp (\r
+ IN UINTN NumberOfLines,\r
+ IN BOOLEAN HotKey,\r
+ IN UINTN MaximumStringSize,\r
+ OUT CHAR16 *StringBuffer,\r
+ OUT EFI_INPUT_KEY *KeyValue,\r
+ IN CHAR16 *String,\r
+ ...\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return EFI_UNSUPPORTED;\r
+}\r
\r
#include <Guid/GlobalVariable.h>\r
#include <Protocol/FrameworkFormCallback.h>\r
#include <Protocol/FrameworkHii.h>\r
+#include <Protocol/FrameworkFormBrowser.h>\r
\r
//\r
// UEFI HII Protocols\r
LIST_ENTRY ConfigAccessBufferStorageListHead;\r
} HII_TRHUNK_CONFIG_ACCESS_PROTOCOL_INSTANCE;\r
\r
+#define EFI_FORMBROWSER_THUNK_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('F', 'B', 'T', 'd')\r
+typedef struct {\r
+ UINTN Signature;\r
+ EFI_HANDLE Handle;\r
+ EFI_FORM_BROWSER_PROTOCOL FormBrowser;\r
+} EFI_FORMBROWSER_THUNK_PRIVATE_DATA;\r
+\r
+\r
//\r
// Extern Variables\r
//\r
)\r
;\r
\r
+\r
+\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkSendForm (\r
+ IN EFI_FORM_BROWSER_PROTOCOL *This,\r
+ IN BOOLEAN UseDatabase,\r
+ IN FRAMEWORK_EFI_HII_HANDLE *Handle,\r
+ IN UINTN HandleCount,\r
+ IN FRAMEWORK_EFI_IFR_PACKET *Packet, OPTIONAL\r
+ IN EFI_HANDLE CallbackHandle, OPTIONAL\r
+ IN UINT8 *NvMapOverride, OPTIONAL\r
+ IN FRAMEWORK_EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL\r
+ OUT BOOLEAN *ResetRequired OPTIONAL\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI \r
+ThunkCreatePopUp (\r
+ IN UINTN NumberOfLines,\r
+ IN BOOLEAN HotKey,\r
+ IN UINTN MaximumStringSize,\r
+ OUT CHAR16 *StringBuffer,\r
+ OUT EFI_INPUT_KEY *KeyValue,\r
+ IN CHAR16 *String,\r
+ ...\r
+ );\r
+\r
#include "Utility.h"\r
#include "ConfigAccess.h"\r
\r