TianoCore EDK2 master
Loading...
Searching...
No Matches
ConfigKeywordHandler.c File Reference
#include "HiiDatabase.h"

Go to the source code of this file.

Functions

EFI_STATUS ExtractDevicePath (IN EFI_STRING String, OUT UINT8 **DevicePathData, OUT EFI_STRING *NextString)
 
EFI_STATUS ExtractNameSpace (IN EFI_STRING String, OUT CHAR8 **NameSpace, OUT EFI_STRING *NextString)
 
EFI_STATUS ExtractKeyword (IN EFI_STRING String, OUT EFI_STRING *Keyword, OUT EFI_STRING *NextString)
 
EFI_STATUS ExtractValue (IN EFI_STRING String, OUT EFI_STRING *Value, OUT EFI_STRING *NextString)
 
BOOLEAN ExtractFilter (IN EFI_STRING String, OUT UINT8 *FilterFlags, OUT EFI_STRING *NextString)
 
BOOLEAN ExtractReadOnlyFromOpCode (IN UINT8 *OpCodeData)
 
UINT32 ValidateFilter (IN UINT8 *OpCodeData, IN CHAR16 *KeywordRequest, OUT CHAR16 **NextString, OUT BOOLEAN *ReadOnly)
 
HII_DATABASE_RECORDGetRecordFromDevicePath (IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
 
EFI_STATUS GetUnicodeStringTextAndSize (IN UINT8 *StringSrc, OUT UINTN *BufferSize, OUT EFI_STRING *StringDest)
 
EFI_STATUS GetStringIdFromString (IN HII_STRING_PACKAGE_INSTANCE *StringPackage, IN CHAR16 *KeywordValue, OUT EFI_STRING_ID *StringId)
 
EFI_STRING_ID GetNextStringId (IN HII_STRING_PACKAGE_INSTANCE *StringPackage, IN EFI_STRING_ID StringId, OUT EFI_STRING *KeywordValue)
 
UINT32 GetStringIdFromRecord (IN HII_DATABASE_RECORD *DatabaseRecord, IN CHAR8 **NameSpace, IN CHAR16 *KeywordValue, OUT EFI_STRING_ID *StringId)
 
BOOLEAN IsStatementOpCode (IN UINT8 Operand)
 
BOOLEAN IsStorageOpCode (IN UINT8 Operand)
 
UINT8 * FindQuestionFromStringId (IN HII_IFR_PACKAGE_INSTANCE *FormPackage, IN EFI_STRING_ID KeywordStrId)
 
UINT8 * FindStorageFromVarId (IN HII_IFR_PACKAGE_INSTANCE *FormPackage, IN EFI_VARSTORE_ID VarStoreId)
 
UINT16 GetWidth (IN UINT8 *OpCodeData)
 
EFI_STRING EFIAPI InternalLowerConfigString (IN EFI_STRING ConfigString)
 
EFI_STRING ConstructConfigHdr (IN UINT8 *OpCodeData, IN EFI_HANDLE DriverHandle)
 
EFI_STRING ConstructRequestElement (IN CHAR16 *Name, IN UINT16 Offset, IN UINT16 Width)
 
CHAR16 * GetNameFromId (IN HII_DATABASE_RECORD *DatabaseRecord, IN EFI_STRING_ID NameId)
 
EFI_STATUS ExtractConfigRequest (IN HII_DATABASE_RECORD *DatabaseRecord, IN EFI_STRING_ID KeywordStrId, OUT UINT8 **OpCodeData, OUT EFI_STRING *ConfigRequest)
 
EFI_STATUS ExtractConfigResp (IN HII_DATABASE_RECORD *DatabaseRecord, IN EFI_STRING_ID KeywordStrId, IN EFI_STRING ValueElement, OUT UINT8 **OpCodeData, OUT EFI_STRING *ConfigResp)
 
EFI_STATUS ExtractValueFromDriver (IN CHAR16 *ConfigRequest, OUT CHAR16 **ValueElement)
 
EFI_STATUS GetStringIdFromDatabase (IN EFI_DEVICE_PATH_PROTOCOL **DevicePath, IN CHAR8 **NameSpace, IN CHAR16 *KeywordData, OUT UINT32 *ProgressErr, OUT EFI_STRING_ID *KeywordStringId, OUT HII_DATABASE_RECORD **DataBaseRecord)
 
EFI_STATUS GenerateKeywordResp (IN CHAR8 *NameSpace, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN EFI_STRING KeywordData, IN EFI_STRING ValueStr, IN BOOLEAN ReadOnly, OUT EFI_STRING *KeywordResp)
 
EFI_STATUS MergeToMultiKeywordResp (IN OUT EFI_STRING *MultiKeywordResp, IN EFI_STRING *KeywordResp)
 
EFI_STATUS EnumerateAllKeywords (IN CHAR8 *NameSpace, OUT EFI_STRING *MultiResp, OUT UINT32 *ProgressErr)
 
EFI_STATUS EFIAPI EfiConfigKeywordHandlerSetData (IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This, IN CONST EFI_STRING KeywordString, OUT EFI_STRING *Progress, OUT UINT32 *ProgressErr)
 
EFI_STATUS EFIAPI EfiConfigKeywordHandlerGetData (IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This, IN CONST EFI_STRING NameSpaceId OPTIONAL, IN CONST EFI_STRING KeywordString OPTIONAL, OUT EFI_STRING *Progress, OUT UINT32 *ProgressErr, OUT EFI_STRING *Results)
 

Variables

HII_DATABASE_PRIVATE_DATA mPrivate
 

Detailed Description

Implementation of interfaces function for EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL.

Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file ConfigKeywordHandler.c.

Function Documentation

◆ ConstructConfigHdr()

EFI_STRING ConstructConfigHdr ( IN UINT8 *  OpCodeData,
IN EFI_HANDLE  DriverHandle 
)

Allocates and returns a Null-terminated Unicode <ConfigHdr> string.

The format of a <ConfigHdr> is as follows:

GUID=<HexCh>32&NAME=<Char>NameLength&PATH=<HexChar>DevicePathSize<Null>

Parameters
[in]OpCodeDataThe opcode for the storage.
[in]DriverHandleThe driver handle which supports a Device Path Protocol that is the routing information PATH. Each byte of the Device Path associated with DriverHandle is converted to a 2 Unicode character hexadecimal string.
Return values
NULLDriverHandle does not support the Device Path Protocol.
OtherA pointer to the Null-terminate Unicode <ConfigHdr> string

Definition at line 1714 of file ConfigKeywordHandler.c.

◆ ConstructRequestElement()

EFI_STRING ConstructRequestElement ( IN CHAR16 *  Name,
IN UINT16  Offset,
IN UINT16  Width 
)

Generate the Config request element for one question.

Parameters
NameThe name info for one question.
OffsetThe offset info for one question.
WidthThe width info for one question.
Returns
Pointer to the Null-terminated Unicode request element string.

Definition at line 1889 of file ConfigKeywordHandler.c.

◆ EfiConfigKeywordHandlerGetData()

EFI_STATUS EFIAPI EfiConfigKeywordHandlerGetData ( IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL This,
IN CONST EFI_STRING NameSpaceId  OPTIONAL,
IN CONST EFI_STRING KeywordString  OPTIONAL,
OUT EFI_STRING *  Progress,
OUT UINT32 *  ProgressErr,
OUT EFI_STRING *  Results 
)

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 error but no values for the keyword with error or any following keywords.

Parameters
ThisPointer to the EFI_KEYWORD_HANDLER _PROTOCOL instance.
NameSpaceIdA 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.
KeywordStringA 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 returned in the Results field.
ProgressOn 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.
ProgressErrIf during the processing of the KeywordString there was a failure, this parameter gives additional information about the possible source of the problem. See the definitions in SetData() for valid value definitions.
ResultsA null-terminated string in <MultiKeywordResp> format is returned 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.
Return values
EFI_SUCCESSThe specified action was completed successfully.
EFI_INVALID_PARAMETEROne 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.
EFI_NOT_FOUNDAn element of the KeywordString was not found. See ProgressErr for more data.
EFI_NOT_FOUNDThe NamespaceId specified was not found. See ProgressErr for more data.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated. See ProgressErr for more data.
EFI_ACCESS_DENIEDThe action violated system policy. See ProgressErr for more data.
EFI_DEVICE_ERRORAn unexpected system error occurred. See ProgressErr for more data.

Definition at line 3198 of file ConfigKeywordHandler.c.

◆ EfiConfigKeywordHandlerSetData()

EFI_STATUS EFIAPI EfiConfigKeywordHandlerSetData ( IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL This,
IN CONST EFI_STRING  KeywordString,
OUT EFI_STRING *  Progress,
OUT UINT32 *  ProgressErr 
)

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 appropriate information about where the issue occurred and additional data about 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 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.

Parameters
ThisPointer to the EFI_KEYWORD_HANDLER _PROTOCOL instance.
KeywordStringA null-terminated string in <MultiKeywordResp> format.
ProgressOn 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.
ProgressErrIf during the processing of the KeywordString there was a failure, this parameter gives additional information about the possible source of the problem. The various errors are defined in "Related Definitions" below.
Return values
EFI_SUCCESSThe specified action was completed successfully.
EFI_INVALID_PARAMETEROne or more of the following are TRUE:
  1. KeywordString is NULL.
  2. Parsing of the KeywordString resulted in an error. See Progress and ProgressErr for more data.
EFI_NOT_FOUNDAn element of the KeywordString was not found. See ProgressErr for more data.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated. See ProgressErr for more data.
EFI_ACCESS_DENIEDThe action violated system policy. See ProgressErr for more data.
EFI_DEVICE_ERRORAn unexpected system error occurred. See ProgressErr for more data.

Definition at line 2891 of file ConfigKeywordHandler.c.

◆ EnumerateAllKeywords()

EFI_STATUS EnumerateAllKeywords ( IN CHAR8 *  NameSpace,
OUT EFI_STRING *  MultiResp,
OUT UINT32 *  ProgressErr 
)

Enumerate all keyword in the system.

If error occur when parse one keyword, just skip it and parse the next one.

This is a internal function.

Parameters
NameSpaceThe namespace used to search the string.
MultiRespReturn the MultiKeywordResp string for the system.
ProgressErrReturn the error status.
Return values
EFI_OUT_OF_RESOURCESThe memory can't be allocated.
EFI_SUCCESSGenerate the MultiKeywordResp string.
EFI_NOT_FOUNDNo keyword found.

Definition at line 2639 of file ConfigKeywordHandler.c.

◆ ExtractConfigRequest()

EFI_STATUS ExtractConfigRequest ( IN HII_DATABASE_RECORD DatabaseRecord,
IN EFI_STRING_ID  KeywordStrId,
OUT UINT8 **  OpCodeData,
OUT EFI_STRING *  ConfigRequest 
)

Base on the input parameter to generate the ConfigRequest string.

This is a internal function.

Parameters
DatabaseRecordHII_DATABASE_RECORD format string.
KeywordStrIdKeyword string id.
OpCodeDataThe IFR data for this question.
ConfigRequestReturn the generate ConfigRequest string.
Return values
EFI_SUCCESSGenerate ConfigResp string success.
EFI_OUT_OF_RESOURCESSystem out of memory resource error.
EFI_NOT_FOUNDNot found the question which use this string id as the prompt string id.

Definition at line 2061 of file ConfigKeywordHandler.c.

◆ ExtractConfigResp()

EFI_STATUS ExtractConfigResp ( IN HII_DATABASE_RECORD DatabaseRecord,
IN EFI_STRING_ID  KeywordStrId,
IN EFI_STRING  ValueElement,
OUT UINT8 **  OpCodeData,
OUT EFI_STRING *  ConfigResp 
)

Base on the input parameter to generate the ConfigResp string.

This is a internal function.

Parameters
DatabaseRecordHII_DATABASE_RECORD format string.
KeywordStrIdKeyword string id.
ValueElementThe value for the question which use keyword string id as the prompt string id.
OpCodeDataThe IFR data for this question.
ConfigRespReturn the generate ConfigResp string.
Return values
EFI_SUCCESSGenerate ConfigResp string success.
EFI_OUT_OF_RESOURCESSystem out of memory resource error.
EFI_NOT_FOUNDNot found the question which use this string id as the prompt string id.

Definition at line 2166 of file ConfigKeywordHandler.c.

◆ ExtractDevicePath()

EFI_STATUS ExtractDevicePath ( IN EFI_STRING  String,
OUT UINT8 **  DevicePathData,
OUT EFI_STRING *  NextString 
)

Convert the hex UNICODE %02x encoding of a UEFI device path to binary from <PathHdr> of <MultiKeywordRequest>.

This is a internal function.

Parameters
StringMultiKeywordRequest string.
DevicePathDataBinary of a UEFI device path.
NextStringstring follow the possible PathHdr string.
Return values
EFI_INVALID_PARAMETERThe device path is not valid or the incoming parameter is invalid.
EFI_OUT_OF_RESOURCESLake of resources to store necessary structures.
EFI_SUCCESSThe device path is retrieved and translated to binary format. The Input string not include PathHdr section.

Definition at line 30 of file ConfigKeywordHandler.c.

◆ ExtractFilter()

BOOLEAN ExtractFilter ( IN EFI_STRING  String,
OUT UINT8 *  FilterFlags,
OUT EFI_STRING *  NextString 
)

Get filter from the input KeywordRequest string.

This is a internal function.

Parameters
StringKeywordRequestformat string.
FilterFlagsreturn the filter condition.
NextStringreturn the next string follow this keyword section.
Return values
EFI_SUCCESSSuccess to get the keyword string.
EFI_INVALID_PARAMETERParse the input string return error.

Definition at line 373 of file ConfigKeywordHandler.c.

◆ ExtractKeyword()

EFI_STATUS ExtractKeyword ( IN EFI_STRING  String,
OUT EFI_STRING *  Keyword,
OUT EFI_STRING *  NextString 
)

Get Keyword from the input KeywordRequest string.

This is a internal function.

Parameters
StringKeywordRequestformat string.
Keywordreturn the extract keyword string.
NextStringreturn the next string follow this keyword section.
Return values
EFI_SUCCESSSuccess to get the keyword string.
EFI_INVALID_PARAMETERParse the input string return error.

Definition at line 250 of file ConfigKeywordHandler.c.

◆ ExtractNameSpace()

EFI_STATUS ExtractNameSpace ( IN EFI_STRING  String,
OUT CHAR8 **  NameSpace,
OUT EFI_STRING *  NextString 
)

Get NameSpace from the input NameSpaceId string.

This is a internal function.

Parameters
String<NameSpaceId> format string.
NameSpaceReturn the name space string.
NextStringReturn the next string follow namespace.
Return values
EFI_SUCCESSGet the namespace string success.
EFI_INVALID_PARAMETERThe NameSpaceId string not follow spec definition.

Definition at line 170 of file ConfigKeywordHandler.c.

◆ ExtractReadOnlyFromOpCode()

BOOLEAN ExtractReadOnlyFromOpCode ( IN UINT8 *  OpCodeData)

Extract Readonly flag from opcode.

This is a internal function.

Parameters
OpCodeDataInput opcode for this question.
Return values
TRUEThis question is readonly.
FALSEThis question is not readonly.

Definition at line 510 of file ConfigKeywordHandler.c.

◆ ExtractValue()

EFI_STATUS ExtractValue ( IN EFI_STRING  String,
OUT EFI_STRING *  Value,
OUT EFI_STRING *  NextString 
)

Get value from the input KeywordRequest string.

This is a internal function.

Parameters
StringKeywordRequestformat string.
Valuereturn the extract value string.
NextStringreturn the next string follow this keyword section.
Return values
EFI_SUCCESSSuccess to get the keyword string.
EFI_INVALID_PARAMETERParse the input string return error.

Definition at line 317 of file ConfigKeywordHandler.c.

◆ ExtractValueFromDriver()

EFI_STATUS ExtractValueFromDriver ( IN CHAR16 *  ConfigRequest,
OUT CHAR16 **  ValueElement 
)

Get the Value section from the Hii driver.

This is a internal function.

Parameters
ConfigRequestThe input ConfigRequest string.
ValueElementThe respond Value section from the hii driver.
Return values
Miscvalue The error status return from ExtractConfig function.
EFI_OUT_OF_RESOURCESThe memory can't be allocated
EFI_SUCCESSGet the value section success.

Definition at line 2274 of file ConfigKeywordHandler.c.

◆ FindQuestionFromStringId()

UINT8 * FindQuestionFromStringId ( IN HII_IFR_PACKAGE_INSTANCE FormPackage,
IN EFI_STRING_ID  KeywordStrId 
)

Base on the prompt string id to find the question.

Parameters
FormPackageThe input form package.
KeywordStrIdThe input prompt string id for one question.
Return values
theopcode for the question.

Definition at line 1478 of file ConfigKeywordHandler.c.

◆ FindStorageFromVarId()

UINT8 * FindStorageFromVarId ( IN HII_IFR_PACKAGE_INSTANCE FormPackage,
IN EFI_VARSTORE_ID  VarStoreId 
)

Base on the varstore id to find the storage info.

Parameters
FormPackageThe input form package.
VarStoreIdThe input storage id.
Return values
theopcode for the storage.

Definition at line 1520 of file ConfigKeywordHandler.c.

◆ GenerateKeywordResp()

EFI_STATUS GenerateKeywordResp ( IN CHAR8 *  NameSpace,
IN EFI_DEVICE_PATH_PROTOCOL DevicePath,
IN EFI_STRING  KeywordData,
IN EFI_STRING  ValueStr,
IN BOOLEAN  ReadOnly,
OUT EFI_STRING *  KeywordResp 
)

Generate the KeywordResp String.

<KeywordResp> ::= <NameSpaceId><PathHdr>'&'<Keyword>'&VALUE='<Number>['&READONLY']

Parameters
NameSpaceNameSpace format string.
DevicePathInput device path info.
KeywordDataKeyword used to get string id.
ValueStrThe value section for the keyword.
ReadOnlyWhether this value is readonly.
KeywordRespReturn the point to the KeywordResp string.
Return values
EFI_OUT_OF_RESOURCESThe memory can't be allocated.
EFI_SUCCESSGenerate the KeywordResp string.

Definition at line 2451 of file ConfigKeywordHandler.c.

◆ GetNameFromId()

CHAR16 * GetNameFromId ( IN HII_DATABASE_RECORD DatabaseRecord,
IN EFI_STRING_ID  NameId 
)

Get string value for question's name field.

Parameters
DatabaseRecordHII_DATABASE_RECORD format string.
NameIdThe string id for the name field.
Return values
Namestring.

Definition at line 1958 of file ConfigKeywordHandler.c.

◆ GetNextStringId()

EFI_STRING_ID GetNextStringId ( IN HII_STRING_PACKAGE_INSTANCE StringPackage,
IN EFI_STRING_ID  StringId,
OUT EFI_STRING *  KeywordValue 
)

Find the next valid string id for the input string id.

Parameters
StringPackageHii string package instance.
StringIdThe current string id which is already got. 1 means just begin to get the string id.
KeywordValueReturn the string for the next string id.
Return values
EFI_STRING_IDNot 0 means a valid stringid found. 0 means not found a valid string id.

Definition at line 1064 of file ConfigKeywordHandler.c.

◆ GetRecordFromDevicePath()

HII_DATABASE_RECORD * GetRecordFromDevicePath ( IN EFI_DEVICE_PATH_PROTOCOL DevicePath)

Get HII_DATABASE_RECORD from the input device path info.

This is a internal function.

Parameters
DevicePathUEFI device path protocol.
Return values
Internaldata base record.

Definition at line 691 of file ConfigKeywordHandler.c.

◆ GetStringIdFromDatabase()

EFI_STATUS GetStringIdFromDatabase ( IN EFI_DEVICE_PATH_PROTOCOL **  DevicePath,
IN CHAR8 **  NameSpace,
IN CHAR16 *  KeywordData,
OUT UINT32 *  ProgressErr,
OUT EFI_STRING_ID *  KeywordStringId,
OUT HII_DATABASE_RECORD **  DataBaseRecord 
)

Get EFI_STRING_ID info from the input device path, namespace and keyword.

This is a internal function.

Parameters
DevicePathInput device path info.
NameSpaceNameSpace format string.
KeywordDataKeyword used to get string id.
ProgressErrReturn extra error type.
KeywordStringIdReturn EFI_STRING_ID.
DataBaseRecordDataBase record data for this driver.
Return values
EFI_INVALID_PARAMETERCan't find the database record base on the input device path or namespace.
EFI_NOT_FOUNDCan't find the EFI_STRING_ID for the keyword.
EFI_SUCCESSFind the EFI_STRING_ID.

Definition at line 2339 of file ConfigKeywordHandler.c.

◆ GetStringIdFromRecord()

UINT32 GetStringIdFromRecord ( IN HII_DATABASE_RECORD DatabaseRecord,
IN CHAR8 **  NameSpace,
IN CHAR16 *  KeywordValue,
OUT EFI_STRING_ID *  StringId 
)

Get string package from the input NameSpace string.

This is a internal function.

Parameters
DatabaseRecordHII_DATABASE_RECORD format string.
NameSpaceNameSpace format string.
KeywordValueKeyword value.
StringIdString Id for this keyword.
Return values
KEYWORD_HANDLER_NO_ERRORGet String id successfully.
KEYWORD_HANDLER_KEYWORD_NOT_FOUNDNot found the string id in the string package.
KEYWORD_HANDLER_NAMESPACE_ID_NOT_FOUNDNot found the string package for this namespace.
KEYWORD_HANDLER_UNDEFINED_PROCESSING_ERROROut of resource error.

Definition at line 1361 of file ConfigKeywordHandler.c.

◆ GetStringIdFromString()

EFI_STATUS GetStringIdFromString ( IN HII_STRING_PACKAGE_INSTANCE StringPackage,
IN CHAR16 *  KeywordValue,
OUT EFI_STRING_ID *  StringId 
)

Find the string id for the input keyword.

Parameters
StringPackageHii string package instance.
KeywordValueInput keyword value.
StringIdThe string's id, which is unique within PackageList.
Return values
EFI_SUCCESSThe string text and font is retrieved successfully.
EFI_NOT_FOUNDThe specified text or font info can not be found out.
EFI_OUT_OF_RESOURCESThe system is out of resources to accomplish the task.

Definition at line 778 of file ConfigKeywordHandler.c.

◆ GetUnicodeStringTextAndSize()

EFI_STATUS GetUnicodeStringTextAndSize ( IN UINT8 *  StringSrc,
OUT UINTN BufferSize,
OUT EFI_STRING *  StringDest 
)

Calculate the size of StringSrc and output it. Also copy string text from src to dest.

This is a internal function.

Parameters
StringSrcPoints to current null-terminated string.
BufferSizeLength of the buffer.
StringDestBuffer to store the string text.
Return values
EFI_SUCCESSThe string text was outputted successfully.
EFI_OUT_OF_RESOURCESOut of resource.

Definition at line 733 of file ConfigKeywordHandler.c.

◆ GetWidth()

UINT16 GetWidth ( IN UINT8 *  OpCodeData)

Get width info for one question.

Parameters
OpCodeDataThe input opcode for one question.
Return values
thewidth info for one question.

Definition at line 1581 of file ConfigKeywordHandler.c.

◆ InternalLowerConfigString()

EFI_STRING EFIAPI InternalLowerConfigString ( IN EFI_STRING  ConfigString)

Converts all hex string characters in range ['A'..'F'] to ['a'..'f'] for hex digits that appear between a '=' and a '&' in a config string.

If ConfigString is NULL, then ASSERT().

Parameters
[in]ConfigStringPointer to a Null-terminated Unicode string.
Returns
Pointer to the Null-terminated Unicode result string.

Definition at line 1671 of file ConfigKeywordHandler.c.

◆ IsStatementOpCode()

BOOLEAN IsStatementOpCode ( IN UINT8  Operand)

Tell whether this Operand is an Statement OpCode.

Parameters
OperandOperand of an IFR OpCode.
Return values
TRUEThis is an Statement OpCode.
FALSENot an Statement OpCode.

Definition at line 1419 of file ConfigKeywordHandler.c.

◆ IsStorageOpCode()

BOOLEAN IsStorageOpCode ( IN UINT8  Operand)

Tell whether this Operand is an Statement OpCode.

Parameters
OperandOperand of an IFR OpCode.
Return values
TRUEThis is an Statement OpCode.
FALSENot an Statement OpCode.

Definition at line 1454 of file ConfigKeywordHandler.c.

◆ MergeToMultiKeywordResp()

EFI_STATUS MergeToMultiKeywordResp ( IN OUT EFI_STRING *  MultiKeywordResp,
IN EFI_STRING *  KeywordResp 
)

Merge the KeywordResp String to MultiKeywordResp string.

This is a internal function.

Parameters
MultiKeywordRespThe existed multikeywordresp string.
KeywordRespThe input keywordResp string.
Return values
EFI_OUT_OF_RESOURCESThe memory can't be allocated.
EFI_SUCCESSGenerate the MultiKeywordResp string.

Definition at line 2588 of file ConfigKeywordHandler.c.

◆ ValidateFilter()

UINT32 ValidateFilter ( IN UINT8 *  OpCodeData,
IN CHAR16 *  KeywordRequest,
OUT CHAR16 **  NextString,
OUT BOOLEAN *  ReadOnly 
)

Create a circuit to check the filter section.

This is a internal function.

Parameters
OpCodeDataThe question binary ifr data.
KeywordRequestKeywordRequestformat string.
NextStringreturn the next string follow this keyword section.
ReadOnlyReturn whether this question is read only.
Return values
KEYWORD_HANDLER_NO_ERRORSuccess validate.
KEYWORD_HANDLER_INCOMPATIBLE_VALUE_DETECTEDValidate fail.

Definition at line 538 of file ConfigKeywordHandler.c.

Variable Documentation

◆ mPrivate

HII_DATABASE_PRIVATE_DATA mPrivate
extern

Definition at line 14 of file EsrtDxe.c.