diff options
Diffstat (limited to 'MdePkg/Include/Protocol/HiiConfigKeyword.h')
-rw-r--r-- | MdePkg/Include/Protocol/HiiConfigKeyword.h | 104 |
1 files changed, 51 insertions, 53 deletions
diff --git a/MdePkg/Include/Protocol/HiiConfigKeyword.h b/MdePkg/Include/Protocol/HiiConfigKeyword.h index 1c2d3c67dcac..5786fbc3693e 100644 --- a/MdePkg/Include/Protocol/HiiConfigKeyword.h +++ b/MdePkg/Include/Protocol/HiiConfigKeyword.h @@ -1,16 +1,14 @@ /** @file - The file provides the mechanism to set and get the values - associated with a keyword exposed through a x-UEFI- prefixed + The file provides the mechanism to set and get the values + associated with a keyword exposed through a x-UEFI- prefixed configuration language namespace. - -Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + + @par Revision Reference: + This Protocol was introduced in UEFI Specification 2.5. + **/ @@ -40,18 +38,18 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P This function accepts a <MultiKeywordResp> formatted string, finds the associated keyword owners, creates a <MultiConfigResp> string from it and forwards it to the EFI_HII_ROUTING_PROTOCOL.RouteConfig function. - - If there is an issue in resolving the contents of the KeywordString, then the - function returns an error and also sets the Progress and ProgressErr with the + + If there is an issue in resolving the contents of the KeywordString, then the + function returns an error and also sets the Progress and ProgressErr with the appropriate information about where the issue occurred and additional data about - the nature of the issue. - + the nature of the issue. + In the case when KeywordString containing multiple keywords, when an EFI_NOT_FOUND error is generated during processing the second or later keyword element, the system - storage associated with earlier keywords is not modified. All elements of the + storage associated with earlier keywords is not modified. All elements of the KeywordString must successfully pass all tests for format and access prior to making any modifications to storage. - + In the case when EFI_DEVICE_ERROR is returned from the processing of a KeywordString containing multiple keywords, the state of storage associated with earlier keywords is undefined. @@ -59,18 +57,18 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P @param This Pointer to the EFI_KEYWORD_HANDLER _PROTOCOL instance. - @param KeywordString A null-terminated string in <MultiKeywordResp> format. + @param KeywordString A null-terminated string in <MultiKeywordResp> format. - @param Progress On return, points to a character in the KeywordString. - Points to the string's NULL terminator if the request - was successful. Points to the most recent '&' before + @param Progress On return, points to a character in the KeywordString. + Points to the string's NULL terminator if the request + was successful. Points to the most recent '&' before the first failing name / value pair (or the beginning of the string if the failure is in the first name / value pair) if the request was not successful. @param ProgressErr If during the processing of the KeywordString there was - a failure, this parameter gives additional information - about the possible source of the problem. The various + a failure, this parameter gives additional information + about the possible source of the problem. The various errors are defined in "Related Definitions" below. @@ -78,23 +76,23 @@ typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL EFI_CONFIG_KEYWORD_HANDLER_P @retval EFI_INVALID_PARAMETER One or more of the following are TRUE: 1. KeywordString is NULL. - 2. Parsing of the KeywordString resulted in an + 2. Parsing of the KeywordString resulted in an error. See Progress and ProgressErr for more data. - @retval EFI_NOT_FOUND An element of the KeywordString was not found. + @retval EFI_NOT_FOUND An element of the KeywordString was not found. See ProgressErr for more data. - @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated. + @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated. See ProgressErr for more data. - - @retval EFI_ACCESS_DENIED The action violated system policy. See ProgressErr + + @retval EFI_ACCESS_DENIED The action violated system policy. See ProgressErr for more data. @retval EFI_DEVICE_ERROR An unexpected system error occurred. See ProgressErr for more data. **/ -typedef +typedef EFI_STATUS (EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_SET_DATA) ( IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This, @@ -106,56 +104,56 @@ EFI_STATUS /** - This function accepts a <MultiKeywordRequest> formatted string, finds the underlying + This function accepts a <MultiKeywordRequest> formatted string, finds the underlying keyword owners, creates a <MultiConfigRequest> string from it and forwards it to the EFI_HII_ROUTING_PROTOCOL.ExtractConfig function. - + If there is an issue in resolving the contents of the KeywordString, then the function returns an EFI_INVALID_PARAMETER and also set the Progress and ProgressErr with the appropriate information about where the issue occurred and additional data about the nature of the issue. - + In the case when KeywordString is NULL, or contains multiple keywords, or when EFI_NOT_FOUND is generated while processing the keyword elements, the Results string - contains values returned for all keywords processed prior to the keyword generating the + contains values returned for all keywords processed prior to the keyword generating the error but no values for the keyword with error or any following keywords. - + @param This Pointer to the EFI_KEYWORD_HANDLER _PROTOCOL instance. - + @param NameSpaceId A null-terminated string containing the platform configuration language to search through in the system. If a NULL is passed in, then it is assumed that any platform configuration language with the prefix of "x-UEFI-" are searched. - + @param KeywordString A null-terminated string in <MultiKeywordRequest> format. If a - NULL is passed in the KeywordString field, all of the known - keywords in the system for the NameSpaceId specified are + NULL is passed in the KeywordString field, all of the known + keywords in the system for the NameSpaceId specified are returned in the Results field. - + @param Progress On return, points to a character in the KeywordString. Points - to the string's NULL terminator if the request was successful. + to the string's NULL terminator if the request was successful. Points to the most recent '&' before the first failing name / value pair (or the beginning of the string if the failure is in the first name / value pair) if the request was not successful. - + @param ProgressErr If during the processing of the KeywordString there was a - failure, this parameter gives additional information about the + failure, this parameter gives additional information about the possible source of the problem. See the definitions in SetData() for valid value definitions. - + @param Results A null-terminated string in <MultiKeywordResp> format is returned - which has all the values filled in for the keywords in the + which has all the values filled in for the keywords in the KeywordString. This is a callee-allocated field, and must be freed - by the caller after being used. + by the caller after being used. @retval EFI_SUCCESS The specified action was completed successfully. - + @retval EFI_INVALID_PARAMETER One or more of the following are TRUE: 1.Progress, ProgressErr, or Results is NULL. 2.Parsing of the KeywordString resulted in an error. See Progress and ProgressErr for more data. - + @retval EFI_NOT_FOUND An element of the KeywordString was not found. See ProgressErr for more data. @@ -165,7 +163,7 @@ EFI_STATUS @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated. See ProgressErr for more data. - + @retval EFI_ACCESS_DENIED The action violated system policy. See ProgressErr for more data. @@ -173,20 +171,20 @@ EFI_STATUS for more data. **/ -typedef +typedef EFI_STATUS (EFIAPI *EFI_CONFIG_KEYWORD_HANDLER_GET_DATA) ( IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This, IN CONST EFI_STRING NameSpaceId, OPTIONAL IN CONST EFI_STRING KeywordString, OPTIONAL - OUT EFI_STRING *Progress, + OUT EFI_STRING *Progress, OUT UINT32 *ProgressErr, OUT EFI_STRING *Results ); /// -/// The EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL provides the mechanism -/// to set and get the values associated with a keyword exposed +/// The EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL provides the mechanism +/// to set and get the values associated with a keyword exposed /// through a x-UEFI- prefixed configuration language namespace /// |