Sync HII and Setupbrowser related header files with UEFI 2.1 spec.
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 10 Dec 2007 07:28:15 +0000 (07:28 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 10 Dec 2007 07:28:15 +0000 (07:28 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4378 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Protocol/FormBrowser.h
MdePkg/Include/Protocol/HiiConfigAccess.h
MdePkg/Include/Protocol/HiiFont.h
MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
MdePkg/MdePkg.dec

index 506acc9..36e47e1 100644 (file)
 #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
@@ -52,6 +52,14 @@ typedef struct {
   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
@@ -112,13 +120,14 @@ typedef struct {
 **/\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
@@ -162,7 +171,7 @@ EFI_STATUS
 **/\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
@@ -194,13 +203,13 @@ EFI_STATUS
                           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
index a0e4be5..b253a7b 100644 (file)
@@ -21,7 +21,7 @@
 \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
@@ -194,11 +194,15 @@ EFI_STATUS
 **/\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
@@ -222,9 +226,9 @@ EFI_STATUS
 \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
index 629a817..c9568aa 100644 (file)
@@ -15,6 +15,7 @@
 #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
@@ -24,6 +25,7 @@
 \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
@@ -145,10 +147,10 @@ typedef struct {
   \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
@@ -493,8 +495,8 @@ EFI_STATUS
   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
index 4524c57..8c08dfa 100644 (file)
@@ -33,11 +33,6 @@ typedef UINT16  EFI_STRING_ID;
 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
index d539d37..2ebba6f 100644 (file)
   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