From: qwang12 Date: Mon, 10 Dec 2007 07:28:15 +0000 (+0000) Subject: Sync HII and Setupbrowser related header files with UEFI 2.1 spec. X-Git-Tag: edk2-stable201903~21684 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=5a1fc2219b4ec0e13673cebe3689bc6b895d97aa Sync HII and Setupbrowser related header files with UEFI 2.1 spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4378 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdePkg/Include/Protocol/FormBrowser.h b/MdePkg/Include/Protocol/FormBrowser.h index 506acc94e1..36e47e150c 100644 --- a/MdePkg/Include/Protocol/FormBrowser.h +++ b/MdePkg/Include/Protocol/FormBrowser.h @@ -20,11 +20,11 @@ #error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now." -#define EFI_FORM_BROWSER_PROTOCOL_GUID \ +#define EFI_FORM_BROWSER2_PROTOCOL_GUID \ { 0xe5a1333e, 0xe1b4, 0x4e55, { 0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43 } } -typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL; +typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL; @@ -52,6 +52,14 @@ typedef struct { UINTN BottomRow; } EFI_SCREEN_DESCRIPTOR; +typedef UINTN EFI_BROWSER_ACTION_REQUEST; + +#define EFI_BROWSER_ACTION_NONE 0 +#define EFI_BROWSER_ACTION_RESET 1 +#define EFI_BROWSER_ACTION_SUMBIT 2 +#define EFI_BROWSER_ACTION_EXIT 3 + + /** This function is the primary interface to the internal @@ -112,13 +120,14 @@ typedef struct { **/ typedef EFI_STATUS -(EFIAPI *EFI_SEND_FORM) ( - IN CONST EFI_FORM_BROWSER_PROTOCOL *This, - IN CONST EFI_HII_HANDLE *Handle, - IN CONST UINTN HandleCount, - IN CONST BOOLEAN SingleUse, - IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL - OUT BOOLEAN *ResetRequired OPTIONAL +(EFIAPI *EFI_SEND_FORM2) ( + IN CONST EFI_FORM_BROWSER_PROTOCOL *This, + IN CONST EFI_HII_HANDLE *Handle, + IN CONST UINTN HandleCount, + IN CONST BOOLEAN SingleUse, + IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL + OUT BOOLEAN *ResetRequired OPTIONAL + OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest OPTIONAL ); @@ -162,7 +171,7 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_BROWSER_CALLBACK ) ( +(EFIAPI *EFI_BROWSER_CALLBACK2 ) ( IN CONST EFI_FORM_BROWSER_PROTOCOL *This, IN OUT UINTN *ResultsDataSize, IN OUT EFI_STRING ResultsData, @@ -194,13 +203,13 @@ EFI_STATUS description. **/ -struct _EFI_FORM_BROWSER_PROTOCOL { - EFI_SEND_FORM SendForm; - EFI_BROWSER_CALLBACK BrowserCallback; +struct _EFI_FORM_BROWSER2_PROTOCOL { + EFI_SEND_FORM2 SendForm; + EFI_BROWSER_CALLBACK2 BrowserCallback; } ; -extern EFI_GUID gEfiFormBrowserProtocolGuid; +extern EFI_GUID gEfiFormBrowser2ProtocolGuid; #endif diff --git a/MdePkg/Include/Protocol/HiiConfigAccess.h b/MdePkg/Include/Protocol/HiiConfigAccess.h index a0e4be53af..b253a7b047 100644 --- a/MdePkg/Include/Protocol/HiiConfigAccess.h +++ b/MdePkg/Include/Protocol/HiiConfigAccess.h @@ -21,7 +21,7 @@ #error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now." -#define EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID \ +#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID \ { 0x330d4706, 0xf2a0, 0x4e4f, { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } } typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL; @@ -194,11 +194,15 @@ EFI_STATUS **/ typedef EFI_STATUS -(EFIAPI *EFI_FORM_CALLBACK) ( - IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, - IN CONST UINT16 KeyValue, - IN CONST VOID *Data -); +(EFIAPI *EFI_HII_ACCESS_FORM_CALLBACK) ( + IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, + IN EFI_BROWSER_ACTION Action, + IN EFI_QUESTION_ID QuestionId, + IN UINT8 Type, + IN EFI_IFR_TYPE_VALUE *Value, + OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest + ) + ; /** This protocol provides a callable interface between the HII and @@ -222,9 +226,9 @@ EFI_STATUS **/ struct _EFI_HII_CONFIG_ACCESS_PROTOCOL { - EFI_HII_ACCESS_ROUTE_CONFIG ExtractConfig; - EFI_HII_ACCESS_EXTRACT_CONFIG RouteConfig; - EFI_FORM_CALLBACK Callback; + EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig; + EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig; + EFI_HII_ACCESS_FORM_CALLBACK Callback; } ; extern EFI_GUID gEfiHiiConfigAccessProtocolGuid; diff --git a/MdePkg/Include/Protocol/HiiFont.h b/MdePkg/Include/Protocol/HiiFont.h index 629a817240..c9568aac5a 100644 --- a/MdePkg/Include/Protocol/HiiFont.h +++ b/MdePkg/Include/Protocol/HiiFont.h @@ -15,6 +15,7 @@ #ifndef __HII_FONT_H__ #define __HII_FONT_H__ +#include #include #error "UEFI 2.1 HII is not fully implemented for now, Please don't include this file now." @@ -24,6 +25,7 @@ typedef struct _EFI_HII_FONT_PROTOCOL EFI_HII_FONT_PROTOCOL; +typedef VOID *EFI_FONT_HANDLE; // // EFI_HII_OUT_FLAGS @@ -145,10 +147,10 @@ typedef struct { **/ typedef struct _EFI_FONT_DISPLAY_INFO { - EFI_FONT_INFO FontInfo; EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor; EFI_GRAPHICS_OUTPUT_BLT_PIXEL BackgroundColor; EFI_FONT_INFO_MASK FontInfoMask; + EFI_FONT_INFO FontInfo; } EFI_FONT_DISPLAY_INFO; /** @@ -493,8 +495,8 @@ EFI_STATUS IN CONST EFI_HII_FONT_PROTOCOL *This, IN OUT EFI_FONT_HANDLE *FontHandle, IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, - OUT EFI_FONT_DISPLAY_INFO *StringInfoOut, - IN CONST EFI_STRING *String OPTIONAL + OUT EFI_FONT_DISPLAY_INFO **StringInfoOut, + IN CONST EFI_STRING String OPTIONAL ); /** diff --git a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h index 4524c57ebc..8c08dfa35b 100644 --- a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h +++ b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h @@ -33,11 +33,6 @@ typedef UINT16 EFI_STRING_ID; typedef UINT16 EFI_FORM_ID; typedef UINT16 EFI_VARSTORE_ID; -// -// BugBug in UEFI2.1 -// -typedef VOID *EFI_FONT_HANDLE; - // // IFR Op codes diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index d539d375c7..2ebba6f390 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -271,7 +271,7 @@ gPcdProtocolGuid = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }} ## BugBug: HII related protocols should be defined. - gEfiFormBrowserProtocolGuid = { 0xE5A1333E, 0xE1B4, 0x4D55, { 0xCE, 0xEB, 0x35, 0xC3, 0xEF, 0x13, 0x34, 0x43 }} + gEfiFormBrowser2ProtocolGuid = { 0xE5A1333E, 0xE1B4, 0x4D55, { 0xCE, 0xEB, 0x35, 0xC3, 0xEF, 0x13, 0x34, 0x43 }} [PcdsFeatureFlag.common] gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE|BOOLEAN|0x0000000d