]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/HiiConfigRouting.h
MdePkg MmCommunication.h: Follow PI spec to update EFI_MM_COMMUNICATE
[mirror_edk2.git] / MdePkg / Include / Protocol / HiiConfigRouting.h
index 393129952c42f4735d4ae7501279bc2308f624c7..467a2dcc8201ad3c86c4e9cc841e0136f04c4ff1 100644 (file)
@@ -5,14 +5,14 @@
   information from configuration applications, routing the\r
   results to the appropriate drivers.\r
   \r
-  Copyright (c) 2006 - 2010, Intel Corporation\r
-  All rights reserved. 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
-  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) 2006 - 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
 \r
 **/\r
 \r
@@ -30,10 +30,10 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
   This function allows the caller to request the current\r
   configuration for one or more named elements from one or more\r
   drivers. The resulting string is in the standard HII\r
-  configuration string format. If Successful Results contains an\r
+  configuration string format. If Successful, Results contains an\r
   equivalent string with "=" and the values associated with all\r
   names added in. The expected implementation is for each\r
-  <ConfigRequest> substring in the Request, call the HII\r
+  <ConfigRequest> substring in the Request to call the HII\r
   Configuration Routing Protocol ExtractProtocol function for the\r
   driver corresponding to the <ConfigHdr> at the start of the\r
   <ConfigRequest> substring. The request fails if no driver\r
@@ -60,7 +60,7 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
 \r
   @param Progress   On return, points to a character in the\r
                     Request string. Points to the string's null\r
-                    terminator if request was successful. Points\r
+                    terminator if the request was successful. Points\r
                     to the most recent '&' before the first\r
                     failing name / value pair (or the beginning\r
                     of the string if the failure is in the first\r
@@ -96,11 +96,16 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;
                                   configuration extraction.\r
 \r
   @retval EFI_INVALID_PARAMETER   Illegal syntax. Progress set\r
-                                  to most recent & before the\r
+                                  to the most recent & before the\r
+                                  error, or the beginning of the\r
+                                  string.\r
+  @retval EFI_INVALID_PARAMETER   The ExtractConfig function of the\r
+                                  underlying HII Configuration \r
+                                  Access Protocol returned \r
+                                  EFI_INVALID_PARAMETER. Progress\r
+                                  set to most recent & before the\r
                                   error or the beginning of the\r
                                   string.\r
-  @retval EFI_INVALID_PARAMETER   Unknown name.\r
-\r
 \r
 **/\r
 typedef\r
@@ -124,11 +129,11 @@ EFI_STATUS
   \r
   @param This     Points to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.\r
   \r
-  @param Results  A null-terminated string in <MultiConfigAltResp>\r
-                  format which has all values filled in for the\r
-                  names in the Request string.\r
-                  String to be allocated by this function.\r
-                  De-allocation is up to the caller.\r
+  @param  Results Null-terminated Unicode string in\r
+                  <MultiConfigAltResp> format which has all values\r
+                  filled in for the entirety of the current HII \r
+                  database. String to be allocated by the  called \r
+                  function. De-allocation is up to the caller.\r
   \r
   @retval EFI_SUCCESS             The Results string is filled with the\r
                                   values corresponding to all requested\r
@@ -172,7 +177,7 @@ EFI_STATUS
                         offset of the most recent '&' before the\r
                         first failing name / value pair (or the\r
                         beginning of the string if the failure is in\r
-                        the first name / value pair) or the\r
+                        the first name / value pair), or the\r
                         terminating NULL if all was successful.\r
 \r
   @retval EFI_SUCCESS             The results have been distributed or are\r
@@ -187,8 +192,8 @@ EFI_STATUS
                                   Results parameter would result\r
                                   in this type of error.\r
   \r
-  @retval EFI_NOT_FOUND           Target for the specified routing data\r
-                                  was not found\r
+  @retval EFI_NOT_FOUND           The target for the specified routing data\r
+                                  was not found.\r
 \r
 **/\r
 typedef\r
@@ -216,12 +221,12 @@ EFI_STATUS
 \r
   @param ConfigRequest  A null-terminated string in <ConfigRequest> format.\r
 \r
-  @param Block      Array of bytes defining the block's\r
+  @param Block      An array of bytes defining the block's\r
                     configuration.\r
 \r
-  @param BlockSize  Length in bytes of Block.\r
+  @param BlockSize  The length in bytes of Block.\r
 \r
-  @param Config     Filled-in configuration string. String\r
+  @param Config     The filled-in configuration string. String\r
                     allocated by the function. Returned only if\r
                     call is successful. The null-terminated string \r
                     will be <ConfigResp> format.\r
@@ -230,7 +235,7 @@ EFI_STATUS
                     offset of the most recent '&' before the\r
                     first failing name / value pair (or the\r
                     beginning of the string if the failure is in\r
-                    the first name / value pair) or the\r
+                    the first name / value pair), or the\r
                     terminating NULL if all was successful.\r
 \r
   @retval EFI_SUCCESS             The request succeeded. Progress points\r
@@ -248,11 +253,11 @@ EFI_STATUS
                                   to the first character of\r
                                   ConfigRequest.\r
 \r
-  @retval EFI_NOT_FOUND           Target for the specified routing data\r
+  @retval EFI_NOT_FOUND           The target for the specified routing data\r
                                   was not found. Progress points to the\r
                                   'G' in "GUID" of the errant routing\r
                                   data. \r
-  @retval EFI_DEVICE_ERROR        Block not large enough. Progress undefined.\r
+  @retval EFI_DEVICE_ERROR        The block is not large enough. Progress undefined.\r
 \r
   @retval EFI_INVALID_PARAMETER   Encountered non <BlockName>\r
                                   formatted string. Block is\r
@@ -300,20 +305,22 @@ EFI_STATUS
                         BlockLength parameter is (on input)\r
                         shorter than required by the\r
                         Configuration string, only the BlockSize\r
-                        parameter is updated and an appropriate\r
+                        parameter is updated, and an appropriate\r
                         status (see below) is returned.\r
 \r
   @param BlockSize      The length of the Block in units of UINT8.\r
                         On input, this is the size of the Block. On\r
-                        output, if successful, contains the index of\r
-                        the last modified byte in the Block.\r
+                        output, if successful, contains the largest \r
+                        index of the modified byte in the Block, or\r
+                        the required buffer size if the Block is not\r
+                        large enough.\r
 \r
   @param Progress       On return, points to an element of the\r
                         ConfigResp string filled in with the offset\r
                         of the most recent "&" before the first\r
                         failing name / value pair (or the beginning\r
                         of the string if the failure is in the first\r
-                        name / value pair) or the terminating NULL\r
+                        name / value pair), or the terminating NULL\r
                         if all was successful.\r
 \r
   @retval EFI_SUCCESS            The request succeeded. Progress points to the null\r
@@ -328,6 +335,12 @@ EFI_STATUS
                                  value pair. Block is left updated and\r
                                  Progress points at the '&' preceding the first\r
                                  non-<BlockName>.\r
+  @retval EFI_DEVICE_ERROR       Block not large enough. Progress undefined.\r
+  @retval EFI_NOT_FOUND          Target for the specified routing data was not found.\r
+                                 Progress points to the "G" in "GUID" of the errant\r
+                                 routing data.\r
+  @retval EFI_BUFFER_TOO_SMALL   Block not large enough. Progress undefined. \r
+                                 BlockSize is updated with the required buffer size.\r
 \r
 **/\r
 typedef\r
@@ -371,7 +384,7 @@ EFI_STATUS
                                   and placed in the newly allocated AltCfgResp buffer.\r
   @retval EFI_OUT_OF_RESOURCES    Not enough memory to allocate AltCfgResp.    \r
   @retval EFI_INVALID_PARAMETER   Any parameter is invalid.\r
-  @retval EFI_NOT_FOUND           Target for the specified routing data was not found.\r
+  @retval EFI_NOT_FOUND           The target for the specified routing data was not found.\r
 **/\r
 typedef\r
 EFI_STATUS \r