/** @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) 2011, 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
#define EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL_GUID \\r
{ 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb }}\r
\r
-typedef struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL;\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
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *IS_BROWSER_DATA_MODIFIED) (\r
+(EFIAPI *IS_BROWSER_DATA_MODIFIED)(\r
VOID\r
);\r
\r
@retval EFI_SUCCESS Execute the request action succss.\r
\r
**/\r
-typedef \r
-EFI_STATUS \r
-(EFIAPI *EXECUTE_ACTION) (\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EXECUTE_ACTION)(\r
IN UINT32 Action,\r
IN UINT16 DefaultId\r
);\r
\r
-#define FORM_ENTRY_INFO_SIGNATURE SIGNATURE_32 ('f', 'e', 'i', 's')\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
- UINTN Signature;\r
- LIST_ENTRY Link;\r
+ UINTN Signature;\r
+ LIST_ENTRY Link;\r
\r
- EFI_HII_HANDLE HiiHandle;\r
- EFI_GUID FormSetGuid;\r
- UINT16 FormId;\r
- UINT16 QuestionId;\r
+ EFI_HII_HANDLE HiiHandle;\r
+ EFI_GUID FormSetGuid;\r
+ EFI_FORM_ID FormId;\r
+ EFI_QUESTION_ID QuestionId;\r
} FORM_ENTRY_INFO;\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
///\r
- UINT32 Version;\r
- SET_SCOPE SetScope;\r
- REGISTER_HOT_KEY RegisterHotKey;\r
- REGISTER_EXIT_HANDLER RegiserExitHandler;\r
- IS_BROWSER_DATA_MODIFIED IsBrowserDataModified;\r
- EXECUTE_ACTION ExecuteAction;\r
+ UINT32 Version;\r
+ SET_SCOPE SetScope;\r
+ REGISTER_HOT_KEY RegisterHotKey;\r
+ REGISTER_EXIT_HANDLER RegiserExitHandler;\r
+ IS_BROWSER_DATA_MODIFIED IsBrowserDataModified;\r
+ EXECUTE_ACTION ExecuteAction;\r
///\r
/// A list of type FORMID_INFO is Browser View Form History List.\r
///\r
- LIST_ENTRY FormViewHistoryHead;\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
+extern EFI_GUID gEdkiiFormBrowserEx2ProtocolGuid;\r
\r
#endif\r
-\r