]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/ConfigAccess.h
Bug fixes for FrameworkHiiToUefiHiiThunk;
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / ConfigAccess.h
index 67f9b7ca9d9a7cd06aba42efaf803ab4355fbbab..fb728074d1e2ce079c60cfee40534b8826abae00 100644 (file)
@@ -25,16 +25,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
    that Setup Utility can load the Buffer Storage using this protocol.\r
    \r
    @param Packages          The framework package list.\r
-   @param MapEntry          The Thunk Layer Handle Mapping Database Entry.\r
+   @param ThunkContext          The Thunk Layer Handle Mapping Database Entry.\r
    \r
-   @retval  EFI_SUCCESS             The Config Access Protocol is installed successfully.\r
+   @retval  EFI_SUCCESS         The Config Access Protocol is installed successfully.\r
    @retval  EFI_OUT_RESOURCE    There is not enough memory.\r
    \r
 **/\r
 EFI_STATUS\r
-InstallDefaultUefiConfigAccessProtocol (\r
+InstallDefaultConfigAccessProtocol (\r
   IN  CONST EFI_HII_PACKAGES                         *Packages,\r
-  IN  OUT   HII_TRHUNK_HANDLE_MAPPING_DATABASE_ENTRY *MapEntry\r
+  IN  OUT   HII_THUNK_CONTEXT *ThunkContext\r
+  )\r
+;\r
+\r
+VOID\r
+UninstallDefaultConfigAccessProtocol (\r
+  IN  HII_THUNK_CONTEXT                   *ThunkContext\r
   )\r
 ;\r
 \r
@@ -44,22 +50,22 @@ InstallDefaultUefiConfigAccessProtocol (
   so that data can be read from the data storage such as UEFI Variable or module's\r
   customized storage exposed by EFI_FRAMEWORK_CALLBACK.\r
 \r
-   @param This          Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL\r
+   @param This        Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL\r
    @param Request     A null-terminated Unicode string in <ConfigRequest> format. Note that this\r
-                                includes the routing information as well as the configurable name / value pairs. It is\r
-                                invalid for this string to be in <MultiConfigRequest> format.\r
+                      includes the routing information as well as the configurable name / value pairs. It is\r
+                      invalid for this string to be in <MultiConfigRequest> format.\r
 \r
-   @param Progress   On return, points to a character in the Request string. Points to the string's null\r
-                               terminator if request was successful. Points to the most recent '&' before the first\r
-                                failing name / value pair (or the beginning of the string if the failure is in the first\r
-                                name / value pair) if the request was not successful\r
+   @param Progress    On return, points to a character in the Request string. Points to the string's null\r
+                      terminator if request was successful. Points to the most recent '&' before the first\r
+                      failing name / value pair (or the beginning of the string if the failure is in the first\r
+                      name / value pair) if the request was not successful\r
    @param Results     A null-terminated Unicode string in <ConfigAltResp> format which has all\r
-                              values filled in for the names in the Request string. String to be allocated by the called\r
-                              function.\r
+                      values filled in for the names in the Request string. String to be allocated by the called\r
+                      function.\r
    \r
    @retval EFI_INVALID_PARAMETER   If there is no Buffer Storage for this Config Access instance.\r
-   @retval EFI_SUCCESS                    The setting is retrived successfully.\r
-   @retval !EFI_SUCCESS                  The error returned by UEFI Get Variable or Framework Form Callback Nvread.\r
+   @retval EFI_SUCCESS             The setting is retrived successfully.\r
+   @retval !EFI_SUCCESS            The error returned by UEFI Get Variable or Framework Form Callback Nvread.\r
  **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -79,14 +85,14 @@ ThunkExtractConfig (
   customized storage exposed by EFI_FRAMEWORK_CALLBACK.\r
    \r
    @param This              Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL\r
-   @param Configuration A null-terminated Unicode string in <ConfigResp> format.\r
-   @param Progress         A pointer to a string filled in with the offset of the most recent '&' before the first\r
-                                     failing name / value pair (or the beginning of the string if the failure is in the first\r
-                                     name / value pair) or the terminating NULL if all was successful.\r
+   @param Configuration     A null-terminated Unicode string in <ConfigResp> format.\r
+   @param Progress          A pointer to a string filled in with the offset of the most recent '&' before the first\r
+                            failing name / value pair (or the beginning of the string if the failure is in the first\r
+                            name / value pair) or the terminating NULL if all was successful.\r
    \r
    @retval EFI_INVALID_PARAMETER   If there is no Buffer Storage for this Config Access instance.\r
-   @retval EFI_SUCCESS                    The setting is saved successfully.\r
-   @retval !EFI_SUCCESS                  The error returned by UEFI Set Variable or Framework Form Callback Nvwrite.\r
+   @retval EFI_SUCCESS             The setting is saved successfully.\r
+   @retval !EFI_SUCCESS            The error returned by UEFI Set Variable or Framework Form Callback Nvwrite.\r
 **/  \r
 EFI_STATUS\r
 EFIAPI\r
@@ -102,24 +108,24 @@ ThunkRouteConfig (
   the framework HII module willl do no porting (except some porting works needed for callback for EFI_ONE_OF_OPTION opcode)\r
   and still work with a UEFI HII SetupBrowser.\r
    \r
-   @param This                          Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.\r
-   @param Action                       Specifies the type of action taken by the browser. See EFI_BROWSER_ACTION_x.\r
-   @param QuestionId                A unique value which is sent to the original exporting driver so that it can identify the\r
-                                                type of data to expect. The format of the data tends to vary based on the opcode that\r
-                                                generated the callback.\r
-   @param Type                         The type of value for the question. See EFI_IFR_TYPE_x in\r
-                                                EFI_IFR_ONE_OF_OPTION.\r
-   @param Value                        A pointer to the data being sent to the original exporting driver. The type is specified\r
-                                                by Type. Type EFI_IFR_TYPE_VALUE is defined in\r
-                                                EFI_IFR_ONE_OF_OPTION.\r
-   @param ActionRequest             On return, points to the action requested by the callback function. Type\r
-                                                EFI_BROWSER_ACTION_REQUEST is specified in SendForm() in the Form\r
-                                                Browser Protocol.\r
+   @param This                  Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.\r
+   @param Action                Specifies the type of action taken by the browser. See EFI_BROWSER_ACTION_x.\r
+   @param QuestionId            A unique value which is sent to the original exporting driver so that it can identify the\r
+                                type of data to expect. The format of the data tends to vary based on the opcode that\r
+                                generated the callback.\r
+   @param Type                  The type of value for the question. See EFI_IFR_TYPE_x in\r
+                                EFI_IFR_ONE_OF_OPTION.\r
+   @param Value                 A pointer to the data being sent to the original exporting driver. The type is specified\r
+                                by Type. Type EFI_IFR_TYPE_VALUE is defined in\r
+                                EFI_IFR_ONE_OF_OPTION.\r
+   @param ActionRequest         On return, points to the action requested by the callback function. Type\r
+                                EFI_BROWSER_ACTION_REQUEST is specified in SendForm() in the Form\r
+                                Browser Protocol.\r
    \r
    @retval EFI_UNSUPPORTED      If the Framework HII module does not register Callback although it specify the opcode under\r
-                                                focuse to be INTERRACTIVE.\r
-   @retval EFI_SUCCESS            The callback complete successfully.\r
-   @retval !EFI_SUCCESS           The error code returned by EFI_FORM_CALLBACK_PROTOCOL.Callback.\r
+                                focuse to be INTERRACTIVE.\r
+   @retval EFI_SUCCESS          The callback complete successfully.\r
+   @retval !EFI_SUCCESS         The error code returned by EFI_FORM_CALLBACK_PROTOCOL.Callback.\r
    \r
  **/\r
 EFI_STATUS\r