]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Protocol/FormBrowserEx2.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / FormBrowserEx2.h
index 105ac0308fa3fff6d3514ac348a2fa04393bc1a4..725f9278562033fd029868f138acb4113a74ae13 100644 (file)
@@ -1,15 +1,9 @@
 /** @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
@@ -21,9 +15,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
@@ -34,7 +29,7 @@ typedef struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL   EDKII_FORM_BROWSER_EXTE
 **/\r
 typedef\r
 BOOLEAN\r
-(EFIAPI *IS_BROWSER_DATA_MODIFIED) (\r
+(EFIAPI *IS_BROWSER_DATA_MODIFIED)(\r
   VOID\r
   );\r
 \r
@@ -47,44 +42,77 @@ BOOLEAN
   @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
-  EFI_FORM_ID     FormId;\r
-  EFI_QUESTION_ID 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