]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Protocol/FormBrowserEx2.h
MdeModulePkg: Add match2 opcode support in SetupBrowserDxe and sample code in DriverS...
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / FormBrowserEx2.h
index 105ac0308fa3fff6d3514ac348a2fa04393bc1a4..1ccc5bd964d44e940a31c9a537f608a7f492ca98 100644 (file)
@@ -2,7 +2,7 @@
   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
+Copyright (c) 2013 - 2014, 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
@@ -23,7 +23,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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
@@ -54,6 +55,19 @@ EFI_STATUS
   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
@@ -68,6 +82,21 @@ typedef struct {
 \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
@@ -82,6 +111,12 @@ struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL {
   /// 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