/** @file\r
- Extension Form Browser Protocol provides the services that can be used to \r
+ Extension Form Browser Protocol provides the services that can be used to\r
register the different hot keys for the standard Browser actions described in UEFI specification.\r
\r
-Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials are licensed and made available under \r
-the terms and conditions of the BSD License that accompanies this distribution. \r
-The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php. \r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
typedef struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL;\r
\r
-#define BROWSER_EXTENSION2_VERSION_1 0x10000\r
+#define BROWSER_EXTENSION2_VERSION_1 0x10000\r
+#define BROWSER_EXTENSION2_VERSION_1_1 0x10001\r
\r
/**\r
Check whether the browser data has been modified.\r
@retval EFI_SUCCESS Execute the request action succss.\r
\r
**/\r
-typedef \r
-EFI_STATUS \r
+typedef\r
+EFI_STATUS\r
(EFIAPI *EXECUTE_ACTION) (\r
IN UINT32 Action,\r
IN UINT16 DefaultId\r
);\r
\r
+/**\r
+ Check whether required reset when exit the browser\r
+\r
+ @retval TRUE Browser required to reset after exit.\r
+ @retval FALSE Browser not need to reset after exit.\r
+\r
+**/\r
+typedef\r
+BOOLEAN\r
+(EFIAPI *IS_RESET_REQUIRED) (\r
+ VOID\r
+ );\r
+\r
#define FORM_ENTRY_INFO_SIGNATURE SIGNATURE_32 ('f', 'e', 'i', 's')\r
\r
typedef struct {\r
\r
#define FORM_ENTRY_INFO_FROM_LINK(a) CR (a, FORM_ENTRY_INFO, Link, FORM_ENTRY_INFO_SIGNATURE)\r
\r
+#define FORM_QUESTION_ATTRIBUTE_OVERRIDE_SIGNATURE SIGNATURE_32 ('f', 'q', 'o', 's')\r
+\r
+typedef struct {\r
+ UINTN Signature;\r
+ LIST_ENTRY Link;\r
+\r
+ EFI_QUESTION_ID QuestionId; // Find the question\r
+ EFI_FORM_ID FormId; // Find the form\r
+ EFI_GUID FormSetGuid; // Find the formset.\r
+ EFI_HII_HANDLE HiiHandle; // Find the HII handle\r
+ UINT32 Attribute; // Hide or grayout ...\r
+} QUESTION_ATTRIBUTE_OVERRIDE;\r
+\r
+#define FORM_QUESTION_ATTRIBUTE_OVERRIDE_FROM_LINK(a) CR (a, QUESTION_ATTRIBUTE_OVERRIDE, Link, FORM_QUESTION_ATTRIBUTE_OVERRIDE_SIGNATURE)\r
+\r
struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL {\r
///\r
/// Version for protocol future extension.\r
/// A list of type FORMID_INFO is Browser View Form History List.\r
///\r
LIST_ENTRY FormViewHistoryHead;\r
+ ///\r
+ /// A list of type QUESTION_ATTRIBUTE_OVERRIDE.\r
+ ///\r
+ LIST_ENTRY OverrideQestListHead;\r
+\r
+ IS_RESET_REQUIRED IsResetRequired;\r
};\r
\r
extern EFI_GUID gEdkiiFormBrowserEx2ProtocolGuid;\r