X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FInclude%2FProtocol%2FFormBrowserEx2.h;h=ffb50598984f1c01128b22c7cb6d4b530d0c73fe;hp=105ac0308fa3fff6d3514ac348a2fa04393bc1a4;hb=d1102dba7210b95e41d06c2338a22ba6af248645;hpb=5a9f73bf065eda6b830445dc907e778f4a13d8d7 diff --git a/MdeModulePkg/Include/Protocol/FormBrowserEx2.h b/MdeModulePkg/Include/Protocol/FormBrowserEx2.h index 105ac0308f..ffb5059898 100644 --- a/MdeModulePkg/Include/Protocol/FormBrowserEx2.h +++ b/MdeModulePkg/Include/Protocol/FormBrowserEx2.h @@ -1,14 +1,14 @@ /** @file - Extension Form Browser Protocol provides the services that can be used to + Extension Form Browser Protocol provides the services that can be used to register the different hot keys for the standard Browser actions described in UEFI specification. -Copyright (c) 2013, Intel Corporation. All rights reserved.
-This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that accompanies this distribution. +Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
+This program and the accompanying materials are licensed and made available under +the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. +http://opensource.org/licenses/bsd-license.php. -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ @@ -23,7 +23,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. typedef struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL; -#define BROWSER_EXTENSION2_VERSION_1 0x10000 +#define BROWSER_EXTENSION2_VERSION_1 0x10000 +#define BROWSER_EXTENSION2_VERSION_1_1 0x10001 /** Check whether the browser data has been modified. @@ -47,13 +48,26 @@ BOOLEAN @retval EFI_SUCCESS Execute the request action succss. **/ -typedef -EFI_STATUS +typedef +EFI_STATUS (EFIAPI *EXECUTE_ACTION) ( IN UINT32 Action, IN UINT16 DefaultId ); +/** + Check whether required reset when exit the browser + + @retval TRUE Browser required to reset after exit. + @retval FALSE Browser not need to reset after exit. + +**/ +typedef +BOOLEAN +(EFIAPI *IS_RESET_REQUIRED) ( + VOID + ); + #define FORM_ENTRY_INFO_SIGNATURE SIGNATURE_32 ('f', 'e', 'i', 's') typedef struct { @@ -68,6 +82,21 @@ typedef struct { #define FORM_ENTRY_INFO_FROM_LINK(a) CR (a, FORM_ENTRY_INFO, Link, FORM_ENTRY_INFO_SIGNATURE) +#define FORM_QUESTION_ATTRIBUTE_OVERRIDE_SIGNATURE SIGNATURE_32 ('f', 'q', 'o', 's') + +typedef struct { + UINTN Signature; + LIST_ENTRY Link; + + EFI_QUESTION_ID QuestionId; // Find the question + EFI_FORM_ID FormId; // Find the form + EFI_GUID FormSetGuid; // Find the formset. + EFI_HII_HANDLE HiiHandle; // Find the HII handle + UINT32 Attribute; // Hide or grayout ... +} QUESTION_ATTRIBUTE_OVERRIDE; + +#define FORM_QUESTION_ATTRIBUTE_OVERRIDE_FROM_LINK(a) CR (a, QUESTION_ATTRIBUTE_OVERRIDE, Link, FORM_QUESTION_ATTRIBUTE_OVERRIDE_SIGNATURE) + struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL { /// /// Version for protocol future extension. @@ -82,6 +111,12 @@ struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL { /// A list of type FORMID_INFO is Browser View Form History List. /// LIST_ENTRY FormViewHistoryHead; + /// + /// A list of type QUESTION_ATTRIBUTE_OVERRIDE. + /// + LIST_ENTRY OverrideQestListHead; + + IS_RESET_REQUIRED IsResetRequired; }; extern EFI_GUID gEdkiiFormBrowserEx2ProtocolGuid;