]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
MdeModulePkg PCD: Remove unused PCD attribute PCD_TYPE_SKU_ENABLED
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / Setup.h
index cfd81334d97bf74f8e3bbe24c0152d3730cca528..09e0be7494b3d15283d82bd8ec9a00c493c17daa 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 Private MACRO, structure and function definitions for Setup Browser module.\r
 \r
-Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -90,7 +90,7 @@ typedef struct {
   // Produced protocol\r
   //\r
   EFI_FORM_BROWSER2_PROTOCOL            FormBrowser2;\r
-  EFI_FORM_BROWSER_EXTENSION_PROTOCOL   FormBrowserEx;\r
+  EDKII_FORM_BROWSER_EXTENSION_PROTOCOL FormBrowserEx;\r
 \r
   EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL FormBrowserEx2;\r
 \r
@@ -178,6 +178,8 @@ typedef struct {
   BOOLEAN          HasCallAltCfg;  // Flag to show whether browser has call ExtractConfig to get Altcfg string.\r
   UINTN            ElementCount;   // Number of <RequestElement> in the <ConfigRequest>\r
   UINTN            SpareStrLen;    // Spare length of ConfigRequest string buffer\r
+  CHAR16           *RestoreConfigRequest; // When submit formset fail, the element need to be restored\r
+  CHAR16           *SyncConfigRequest;    // When submit formset fail, the element need to be synced\r
 } FORMSET_STORAGE;\r
 \r
 #define FORMSET_STORAGE_FROM_LINK(a)  CR (a, FORMSET_STORAGE, Link, FORMSET_STORAGE_SIGNATURE)\r
@@ -327,7 +329,10 @@ struct _FORM_BROWSER_STATEMENT{
   BROWSER_STORAGE       *Storage;\r
   VAR_STORE_INFO        VarStoreInfo;\r
   UINT16                StorageWidth;\r
+  UINT16                BitStorageWidth;\r
+  UINT16                BitVarOffset;\r
   UINT8                 QuestionFlags;\r
+  BOOLEAN               QuestionReferToBitField;// Whether the question is stored in a bit field.\r
   CHAR16                *VariableName;    // Name/Value or EFI Variable name\r
   CHAR16                *BlockName;       // Buffer storage block name: "OFFSET=...WIDTH=..."\r
 \r
@@ -387,6 +392,8 @@ typedef struct {
   CHAR16                *ConfigAltResp; // Alt config response string for this ConfigRequest.\r
   UINTN                 ElementCount;   // Number of <RequestElement> in the <ConfigRequest>  \r
   UINTN                 SpareStrLen;\r
+  CHAR16                *RestoreConfigRequest; // When submit form fail, the element need to be restored\r
+  CHAR16                *SyncConfigRequest;    // When submit form fail, the element need to be synced\r
 \r
   BROWSER_STORAGE       *Storage;\r
 } FORM_BROWSER_CONFIG_REQUEST;\r
@@ -538,8 +545,12 @@ typedef struct {
   EFI_GUID                 FormSetGuid;\r
   EFI_FORM_ID              FormId;\r
   UI_MENU_SELECTION        *Selection;\r
-\r
-  LIST_ENTRY           FormHistoryList;\r
+  FORM_BROWSER_FORMSET     *SystemLevelFormSet;\r
+  EFI_QUESTION_ID          CurFakeQestId;\r
+  BOOLEAN                  HiiPackageListUpdated;\r
+  BOOLEAN                  FinishRetrieveCall;\r
+  LIST_ENTRY               FormHistoryList;\r
+  LIST_ENTRY               FormSetList;\r
 } BROWSER_CONTEXT;\r
 \r
 #define BROWSER_CONTEXT_FROM_LINK(a)  CR (a, BROWSER_CONTEXT, Link, BROWSER_CONTEXT_SIGNATURE)\r
@@ -572,7 +583,8 @@ extern EDKII_FORM_DISPLAY_ENGINE_PROTOCOL *mFormDisplay;
 \r
 extern BOOLEAN               gCallbackReconnect;\r
 extern BOOLEAN               gFlagReconnect;\r
-extern BOOLEAN               gResetRequired;\r
+extern BOOLEAN               gResetRequiredFormLevel;\r
+extern BOOLEAN               gResetRequiredSystemLevel;\r
 extern BOOLEAN               gExitRequired;\r
 extern LIST_ENTRY            gBrowserFormSetList;\r
 extern LIST_ENTRY            gBrowserHotKeyList;\r
@@ -586,6 +598,9 @@ extern SETUP_DRIVER_PRIVATE_DATA mPrivateData;
 extern CHAR16            *gEmptyString;\r
 \r
 extern UI_MENU_SELECTION  *gCurrentSelection;\r
+extern BOOLEAN            mHiiPackageListUpdated;\r
+extern UINT16             mCurFakeQestId;\r
+extern BOOLEAN            mFinishRetrieveCall;\r
 \r
 //\r
 // Global Procedure Defines\r
@@ -1211,8 +1226,8 @@ IsNvUpdateRequiredForFormSet (
   @param Action                The action request.\r
   @param SkipSaveOrDiscard     Whether skip save or discard action.\r
 \r
-  @retval EFI_SUCCESS          The call back function excutes successfully.\r
-  @return Other value if the call back function failed to excute.  \r
+  @retval EFI_SUCCESS          The call back function executes successfully.\r
+  @return Other value if the call back function failed to execute.\r
 **/\r
 EFI_STATUS \r
 ProcessCallBackFunction (\r
@@ -1234,8 +1249,8 @@ ProcessCallBackFunction (
   @param Statement             The Question which need to call.\r
   @param FormSet               The formset this question belong to.\r
 \r
-  @retval EFI_SUCCESS          The call back function excutes successfully.\r
-  @return Other value if the call back function failed to excute.  \r
+  @retval EFI_SUCCESS          The call back function executes successfully.\r
+  @return Other value if the call back function failed to execute.\r
 **/\r
 EFI_STATUS \r
 ProcessRetrieveForQuestion (\r
@@ -1308,6 +1323,7 @@ SetScope (
   @retval EFI_INVALID_PARAMETER  KeyData is NULL.\r
   @retval EFI_NOT_FOUND          KeyData is not found to be unregistered.\r
   @retval EFI_UNSUPPORTED        Key represents a printable character. It is conflicted with Browser.\r
+  @retval EFI_ALREADY_STARTED    Key already been registered for one hot key.\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -1849,4 +1865,17 @@ ReconnectController (
   IN EFI_HANDLE   DriverHandle\r
   );\r
 \r
+/**\r
+  Converts the unicode character of the string from uppercase to lowercase.\r
+  This is a internal function.\r
+\r
+  @param ConfigString  String to be converted\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+HiiToLower (\r
+  IN EFI_STRING  ConfigString\r
+  );\r
+\r
 #endif\r