#error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now."\r
\r
\r
-#define EFI_FORM_BROWSER_PROTOCOL_GUID \\r
+#define EFI_FORM_BROWSER2_PROTOCOL_GUID \\r
{ 0xe5a1333e, 0xe1b4, 0x4e55, { 0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43 } }\r
\r
\r
-typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL;\r
+typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;\r
\r
\r
\r
UINTN BottomRow;\r
} EFI_SCREEN_DESCRIPTOR;\r
\r
+typedef UINTN EFI_BROWSER_ACTION_REQUEST;\r
+\r
+#define EFI_BROWSER_ACTION_NONE 0\r
+#define EFI_BROWSER_ACTION_RESET 1\r
+#define EFI_BROWSER_ACTION_SUMBIT 2\r
+#define EFI_BROWSER_ACTION_EXIT 3\r
+\r
+\r
/**\r
\r
This function is the primary interface to the internal\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_SEND_FORM) (\r
- IN CONST EFI_FORM_BROWSER_PROTOCOL *This,\r
- IN CONST EFI_HII_HANDLE *Handle,\r
- IN CONST UINTN HandleCount,\r
- IN CONST BOOLEAN SingleUse,\r
- IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL\r
- OUT BOOLEAN *ResetRequired OPTIONAL\r
+(EFIAPI *EFI_SEND_FORM2) (\r
+ IN CONST EFI_FORM_BROWSER_PROTOCOL *This,\r
+ IN CONST EFI_HII_HANDLE *Handle,\r
+ IN CONST UINTN HandleCount,\r
+ IN CONST BOOLEAN SingleUse,\r
+ IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL\r
+ OUT BOOLEAN *ResetRequired OPTIONAL\r
+ OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest OPTIONAL\r
);\r
\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_BROWSER_CALLBACK ) (\r
+(EFIAPI *EFI_BROWSER_CALLBACK2 ) (\r
IN CONST EFI_FORM_BROWSER_PROTOCOL *This,\r
IN OUT UINTN *ResultsDataSize,\r
IN OUT EFI_STRING ResultsData,\r
description.\r
\r
**/\r
-struct _EFI_FORM_BROWSER_PROTOCOL {\r
- EFI_SEND_FORM SendForm;\r
- EFI_BROWSER_CALLBACK BrowserCallback;\r
+struct _EFI_FORM_BROWSER2_PROTOCOL {\r
+ EFI_SEND_FORM2 SendForm;\r
+ EFI_BROWSER_CALLBACK2 BrowserCallback;\r
} ;\r
\r
\r
-extern EFI_GUID gEfiFormBrowserProtocolGuid;\r
+extern EFI_GUID gEfiFormBrowser2ProtocolGuid;\r
\r
#endif\r
\r
\r
#error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now."\r
\r
-#define EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID \\r
+#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID \\r
{ 0x330d4706, 0xf2a0, 0x4e4f, { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } }\r
\r
typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL;\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_FORM_CALLBACK) (\r
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
- IN CONST UINT16 KeyValue,\r
- IN CONST VOID *Data\r
-);\r
+(EFIAPI *EFI_HII_ACCESS_FORM_CALLBACK) (\r
+ IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
+ IN EFI_BROWSER_ACTION Action,\r
+ IN EFI_QUESTION_ID QuestionId,\r
+ IN UINT8 Type,\r
+ IN EFI_IFR_TYPE_VALUE *Value,\r
+ OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
+ )\r
+ ;\r
/**\r
\r
This protocol provides a callable interface between the HII and\r
\r
**/\r
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {\r
- EFI_HII_ACCESS_ROUTE_CONFIG ExtractConfig;\r
- EFI_HII_ACCESS_EXTRACT_CONFIG RouteConfig;\r
- EFI_FORM_CALLBACK Callback;\r
+ EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;\r
+ EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig;\r
+ EFI_HII_ACCESS_FORM_CALLBACK Callback;\r
} ;\r
\r
extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;\r
#ifndef __HII_FONT_H__\r
#define __HII_FONT_H__\r
\r
+#include <Protocol/GraphicsOutput.h>\r
#include <Protocol/HiiImage.h>\r
\r
#error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now."\r
\r
typedef struct _EFI_HII_FONT_PROTOCOL EFI_HII_FONT_PROTOCOL;\r
\r
+typedef VOID *EFI_FONT_HANDLE;\r
\r
//\r
// EFI_HII_OUT_FLAGS\r
\r
**/\r
typedef struct _EFI_FONT_DISPLAY_INFO {\r
- EFI_FONT_INFO FontInfo;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL BackgroundColor;\r
EFI_FONT_INFO_MASK FontInfoMask;\r
+ EFI_FONT_INFO FontInfo; \r
} EFI_FONT_DISPLAY_INFO;\r
\r
/**\r
IN CONST EFI_HII_FONT_PROTOCOL *This,\r
IN OUT EFI_FONT_HANDLE *FontHandle,\r
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn,\r
- OUT EFI_FONT_DISPLAY_INFO *StringInfoOut,\r
- IN CONST EFI_STRING *String OPTIONAL\r
+ OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,\r
+ IN CONST EFI_STRING String OPTIONAL\r
);\r
\r
/**\r
typedef UINT16 EFI_FORM_ID;\r
typedef UINT16 EFI_VARSTORE_ID;\r
\r
-//\r
-// BugBug in UEFI2.1 \r
-// \r
-typedef VOID *EFI_FONT_HANDLE;\r
-\r
\r
//\r
// IFR Op codes\r
gPcdProtocolGuid = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}\r
\r
## BugBug: HII related protocols should be defined.\r
- gEfiFormBrowserProtocolGuid = { 0xE5A1333E, 0xE1B4, 0x4D55, { 0xCE, 0xEB, 0x35, 0xC3, 0xEF, 0x13, 0x34, 0x43 }}\r
+ gEfiFormBrowser2ProtocolGuid = { 0xE5A1333E, 0xE1B4, 0x4D55, { 0xCE, 0xEB, 0x35, 0xC3, 0xEF, 0x13, 0x34, 0x43 }}\r
\r
[PcdsFeatureFlag.common]\r
gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE|BOOLEAN|0x0000000d\r