It then serves as the single point to receive configuration\r
information from configuration applications, routing the\r
results to the appropriate drivers.\r
- \r
-Copyright (c) 2006 - 2010, 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
+\r
+Copyright (c) 2006 - 2018, 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
+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
typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL;\r
\r
/**\r
- \r
+\r
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
for the Request parameter\r
would result in this type of\r
error. The Progress parameter\r
- is set to NULL. \r
- \r
+ is set to NULL.\r
+\r
@retval EFI_NOT_FOUND Routing data doesn't match any\r
known driver. Progress set to\r
the "G" in "GUID" of the\r
to the most recent & before the\r
error, or the beginning of the\r
string.\r
- @retval EFI_INVALID_PARAMETER Unknown name.\r
-\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
\r
**/\r
typedef\r
);\r
\r
/**\r
- This function allows the caller to request the current configuration \r
+ This function allows the caller to request the current configuration\r
for the entirety of the current HII database and returns the data in\r
a null-terminated string.\r
\r
This function allows the caller to request the current\r
configuration for all of the current HII database. The results\r
include both the current and alternate configurations as\r
- described in ExtractConfig() above. \r
- \r
+ described in ExtractConfig() above.\r
+\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
- \r
+\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
names.\r
- \r
+\r
@retval EFI_OUT_OF_RESOURCES Not enough memory to store the\r
parts of the results that must be\r
stored awaiting possible future\r
protocols.\r
- \r
+\r
@retval EFI_INVALID_PARAMETERS For example, passing in a NULL\r
for the Results parameter\r
would result in this type of\r
);\r
\r
/**\r
- \r
+\r
This function routes the results of processing forms to the\r
appropriate targets. It scans for <ConfigHdr> within the string\r
and passes the header and subsequent body to the driver whose\r
\r
@retval EFI_SUCCESS The results have been distributed or are\r
awaiting distribution.\r
- \r
+\r
@retval EFI_OUT_OF_RESOURCES Not enough memory to store the\r
parts of the results that must be\r
stored awaiting possible future\r
protocols.\r
- \r
+\r
@retval EFI_INVALID_PARAMETERS Passing in a NULL for the\r
Results parameter would result\r
in this type of error.\r
- \r
+\r
@retval EFI_NOT_FOUND The target for the specified routing data\r
was not found.\r
\r
\r
\r
/**\r
- \r
+\r
This function extracts the current configuration from a block of\r
bytes. To do so, it requires that the ConfigRequest string\r
consists of a list of <BlockName> formatted names. It uses the\r
\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
+ call is successful. The null-terminated string\r
will be <ConfigResp> format.\r
\r
@param Progress A pointer to a string filled in with the\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
+ data.\r
@retval EFI_DEVICE_ERROR The block is not large enough. Progress undefined.\r
\r
@retval EFI_INVALID_PARAMETER Encountered non <BlockName>\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
@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
EFI_STATUS\r
);\r
\r
/**\r
- This helper function is to be called by drivers to extract portions of \r
+ This helper function is to be called by drivers to extract portions of\r
a larger configuration string.\r
- \r
+\r
@param This A pointer to the EFI_HII_CONFIG_ROUTING_PROTOCOL instance.\r
@param ConfigResp A null-terminated string in <ConfigAltResp> format.\r
- @param Guid A pointer to the GUID value to search for in the \r
- routing portion of the ConfigResp string when retrieving \r
- the requested data. If Guid is NULL, then all GUID \r
+ @param Guid A pointer to the GUID value to search for in the\r
+ routing portion of the ConfigResp string when retrieving\r
+ the requested data. If Guid is NULL, then all GUID\r
+ values will be searched for.\r
+ @param Name A pointer to the NAME value to search for in the\r
+ routing portion of the ConfigResp string when retrieving\r
+ the requested data. If Name is NULL, then all Name\r
values will be searched for.\r
- @param Name A pointer to the NAME value to search for in the \r
- routing portion of the ConfigResp string when retrieving \r
- the requested data. If Name is NULL, then all Name \r
- values will be searched for. \r
- @param DevicePath A pointer to the PATH value to search for in the \r
- routing portion of the ConfigResp string when retrieving \r
- the requested data. If DevicePath is NULL, then all \r
- DevicePath values will be searched for. \r
- @param AltCfgId A pointer to the ALTCFG value to search for in the \r
- routing portion of the ConfigResp string when retrieving \r
- the requested data. If this parameter is NULL, \r
+ @param DevicePath A pointer to the PATH value to search for in the\r
+ routing portion of the ConfigResp string when retrieving\r
+ the requested data. If DevicePath is NULL, then all\r
+ DevicePath values will be searched for.\r
+ @param AltCfgId A pointer to the ALTCFG value to search for in the\r
+ routing portion of the ConfigResp string when retrieving\r
+ the requested data. If this parameter is NULL,\r
then the current setting will be retrieved.\r
- @param AltCfgResp A pointer to a buffer which will be allocated by the \r
- function which contains the retrieved string as requested. \r
- This buffer is only allocated if the call was successful. \r
+ @param AltCfgResp A pointer to a buffer which will be allocated by the\r
+ function which contains the retrieved string as requested.\r
+ This buffer is only allocated if the call was successful.\r
The null-terminated string will be <ConfigResp> format.\r
- \r
- @retval EFI_SUCCESS The request succeeded. The requested data was extracted \r
+\r
+ @retval EFI_SUCCESS The request succeeded. The requested data was extracted\r
and placed in the newly allocated AltCfgResp buffer.\r
- @retval EFI_OUT_OF_RESOURCES Not enough memory to allocate AltCfgResp. \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 The target for the specified routing data was not found.\r
**/\r
typedef\r
-EFI_STATUS \r
+EFI_STATUS\r
(EFIAPI * EFI_HII_GET_ALT_CFG)(\r
- IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, \r
- IN CONST EFI_STRING ConfigResp, \r
- IN CONST EFI_GUID *Guid, \r
- IN CONST EFI_STRING Name, \r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, \r
+ IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,\r
+ IN CONST EFI_STRING ConfigResp,\r
+ IN CONST EFI_GUID *Guid,\r
+ IN CONST EFI_STRING Name,\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
IN CONST UINT16 *AltCfgId,\r
- OUT EFI_STRING *AltCfgResp \r
+ OUT EFI_STRING *AltCfgResp\r
);\r
\r
///\r