diff --git a/MdeModulePkg/Include/Library/ExtendedIfrSupportLib.h b/MdeModulePkg/Include/Library/ExtendedIfrSupportLib.h deleted file mode 100644 index 920d0f483c..0000000000 --- a/MdeModulePkg/Include/Library/ExtendedIfrSupportLib.h +++ /dev/null @@ -1,165 +0,0 @@ -/** @file - Library header file defines APIs that is related to IFR operations but - specific to EDK II implementation. - -Copyright (c) 2006 - 2008, Intel Corporation.
-All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which 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. - -**/ - -#ifndef __EXTENDED_IFR_SUPPORT_LIB_H__ -#define __EXTENDED_IFR_SUPPORT_LIB_H__ - -/** - Create GUIDed opcode for banner. Banner opcode - EFI_IFR_EXTEND_OP_BANNER is extended opcode specific - to Intel's implementation. - - @param Title String ID for title - @param LineNumber Line number for this banner - @param Alignment Alignment for this banner, left, center or right - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode create success - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateBannerOpCode ( - IN EFI_STRING_ID Title, - IN UINT16 LineNumber, - IN UINT8 Alignment, - IN OUT EFI_HII_UPDATE_DATA *Data - ); - -/** - This function initialize the data structure for dynamic opcode. - - @param UpdateData The adding data; - @param BufferSize Length of the buffer to fill dynamic opcodes. - - @retval EFI_SUCCESS Update data is initialized. - @retval EFI_INVALID_PARAMETER UpdateData is NULL. - @retval EFI_OUT_OF_RESOURCES No enough memory to allocate. - -**/ -EFI_STATUS -EFIAPI -IfrLibInitUpdateData ( - IN OUT EFI_HII_UPDATE_DATA *UpdateData, - IN UINT32 BufferSize - ) -; - -/** - - This function free the resource of update data. - - @param UpdateData The adding data; - -**/ -VOID -EFIAPI -IfrLibFreeUpdateData ( - IN EFI_HII_UPDATE_DATA *UpdateData - ) -; - -/** - This function allows the caller to update a form that has - previously been registered with the EFI HII database. - The update make use of a extended opcode EFI_IFR_EXTEND_OP_LABEL - specific to Intel's implementation to complete the operation. - - - @param Handle Hii Handle - @param FormSetGuid The formset should be updated. - @param FormId The form should be updated. - @param Label Update information starting immediately after this - label in the IFR - @param Insert If TRUE and Data is not NULL, insert data after - Label. If FALSE, replace opcodes between two - labels with Data. - @param Data The adding data; If NULL, remove opcodes between - two Label. - - @retval EFI_SUCCESS Update success. - @retval Other Update fail. - -**/ -EFI_STATUS -EFIAPI -IfrLibUpdateForm ( - IN EFI_HII_HANDLE Handle, - IN EFI_GUID *FormSetGuid, OPTIONAL - IN EFI_FORM_ID FormId, - IN UINT16 Label, - IN BOOLEAN Insert, - IN EFI_HII_UPDATE_DATA *Data - ); - -/** - Extract EDKII extended formset class for a given HII handle. - - If Handle is not a valid EFI_HII_HANDLE in the default HII database, then - ASSERT. - - If Class is NULL, then ASSERT. - IfFormSetTitle is NULL, then ASSERT. - If FormSetHelp is NULL, then ASSERT. - - @param HiiHandle Hii handle - @param Class On output, Class of the formset - @param FormSetTitle On output, Formset title string - @param FormSetHelp On output, Formset help string - - @retval EFI_SUCCESS Successfully extract Class for specified Hii - handle. - -**/ -EFI_STATUS -EFIAPI -IfrLibExtractClassFromHiiHandle ( - IN EFI_HII_HANDLE Handle, - OUT UINT16 *Class, - OUT EFI_STRING_ID *FormSetTitle, - OUT EFI_STRING_ID *FormSetHelp - ); - -/** - Configure the buffer accrording to ConfigBody strings in the format of - , , , . - This ConfigBody strings is generated by EDKII UEFI VfrCompiler for the default - values in a Form Set. The name of the ConfigBody strings is VfrMyIfrNVDataDefault0000 - constructed following this rule: - "Vfr" + varstore.name + "Default" + defaultstore.attributes. - Check the generated C file in Output for details. - - @param Buffer the start address of buffer. - @param BufferSize the size of buffer. - @param Number the number of the ConfigBody strings. - @param ... the ConfigBody strings - - @retval EFI_BUFFER_TOO_SMALL the BufferSize is too small to operate. - @retval EFI_INVALID_PARAMETER Buffer is NULL or BufferSize is 0. - @retval EFI_SUCCESS Operation successful. - -**/ -EFI_STATUS -EFIAPI -IfrLibExtractDefault( - IN VOID *Buffer, - IN UINTN *BufferSize, - UINTN Number, - ... - ); - -#endif - diff --git a/MdeModulePkg/Include/Library/IfrSupportLib.h b/MdeModulePkg/Include/Library/IfrSupportLib.h deleted file mode 100644 index 3c7b264d06..0000000000 --- a/MdeModulePkg/Include/Library/IfrSupportLib.h +++ /dev/null @@ -1,855 +0,0 @@ -/** @file - This library contains functions to do IFR opcode creation and utility functions - to help module to interact with a UEFI Form Browser. - - Copyright (c) 2007 - 2008, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which 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. - -**/ - -#ifndef _IFR_SUPPORT_LIBRARY_H_ -#define _IFR_SUPPORT_LIBRARY_H_ - -#pragma pack(1) -typedef struct { - EFI_STRING_ID StringToken; - EFI_IFR_TYPE_VALUE Value; - UINT8 Flags; -} IFR_OPTION; -#pragma pack() - -typedef struct { - /// - /// Buffer size allocated for Data. - /// - UINT32 BufferSize; - - /// - /// Offset in Data to append the newly created opcode binary. - /// It will be adjusted automatically in Create***OpCode(), and should be - /// initialized to 0 before invocation of a serial of Create***OpCode() - /// - UINT32 Offset; - - /// - /// The destination buffer for created op-codes - /// - UINT8 *Data; -} EFI_HII_UPDATE_DATA; - - -/** - Create EFI_IFR_END_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateEndOpCode ( - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_DEFAULT_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Value Value for the default - @param Type Type for the default - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER The type is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateDefaultOpCode ( - IN EFI_IFR_TYPE_VALUE *Value, - IN UINT8 Type, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ACTION_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param QuestionConfig String ID for configuration - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateActionOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN EFI_STRING_ID QuestionConfig, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_SUBTITLE_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Prompt String ID for Prompt - @param Help String ID for Help - @param Flags Subtitle opcode flags - @param Scope Subtitle Scope bit - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateSubTitleOpCode ( - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 Flags, - IN UINT8 Scope, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_TEXT_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Prompt String ID for Prompt - @param Help String ID for Help - @param TextTwo String ID for text two - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateTextOpCode ( - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN EFI_STRING_ID TextTwo, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_REF_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param FormId Destination Form ID - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param QuestionId Question ID - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateGotoOpCode ( - IN EFI_FORM_ID FormId, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN EFI_QUESTION_ID QuestionId, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ONE_OF_OPTION_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param OptionCount The number of options. - @param OptionsList The list of Options. - @param Type The data type. - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If OptionCount is not zero but OptionsList is NULL. - -**/ -EFI_STATUS -EFIAPI -CreateOneOfOptionOpCode ( - IN UINTN OptionCount, - IN IFR_OPTION *OptionsList, - IN UINT8 Type, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ONE_OF_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param OneOfFlags Flags for oneof opcode - @param OptionsList List of options - @param OptionCount Number of options in option list - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateOneOfOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 OneOfFlags, - IN IFR_OPTION *OptionsList, - IN UINTN OptionCount, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ORDERED_LIST_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param OrderedListFlags Flags for ordered list opcode - @param DataType Type for option value - @param MaxContainers Maximum count for options in this ordered list - @param OptionsList List of options - @param OptionCount Number of options in option list - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateOrderedListOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 OrderedListFlags, - IN UINT8 DataType, - IN UINT8 MaxContainers, - IN IFR_OPTION *OptionsList, - IN UINTN OptionCount, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_CHECKBOX_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param CheckBoxFlags Flags for checkbox opcode - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateCheckBoxOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 CheckBoxFlags, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_NUMERIC_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param NumericFlags Flags for numeric opcode - @param Minimum Numeric minimum value - @param Maximum Numeric maximum value - @param Step Numeric step for edit - @param Default Numeric default value - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateNumericOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 NumericFlags, - IN UINT64 Minimum, - IN UINT64 Maximum, - IN UINT64 Step, - IN UINT64 Default, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_STRING_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param StringFlags Flags for string opcode - @param MinSize String minimum length - @param MaxSize String maximum length - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateStringOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 StringFlags, - IN UINT8 MinSize, - IN UINT8 MaxSize, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; -/** - Construct for a buffer storage. - - @param ConfigRequest The Config request string. If set to NULL, all the - configurable elements will be extracted from BlockNameArray. - @param Progress On return, points to a character in the Request. - @param ConfigAltResp The returned . - @param Guid GUID of the buffer storage. - @param Name Name of the buffer storage. - @param DriverHandle The DriverHandle which is used to invoke HiiDatabase - protocol interface NewPackageList(). - @param BufferStorage Content of the buffer storage. - @param BufferStorageSize Length in bytes of the buffer storage. - @param BlockNameArray Array generated by VFR compiler. - @param NumberAltCfg Number of Default value array generated by VFR compiler. - The sequential input parameters will be number of - AltCfgId and DefaultValueArray pairs. When set to 0, - there will be no . - @param ... Variable argument list. - - retval EFI_OUT_OF_RESOURCES Run out of memory resource. - retval EFI_INVALID_PARAMETER ConfigAltResp is NULL. - retval EFI_SUCCESS Operation successful. - -**/ -EFI_STATUS -ConstructConfigAltResp ( - IN EFI_STRING ConfigRequest, OPTIONAL - OUT EFI_STRING *Progress, - OUT EFI_STRING *ConfigAltResp, - IN EFI_GUID *Guid, - IN CHAR16 *Name, - IN EFI_HANDLE *DriverHandle, - IN VOID *BufferStorage, - IN UINTN BufferStorageSize, - IN VOID *BlockNameArray, OPTIONAL - IN UINTN NumberAltCfg, - ... -//IN UINT16 AltCfgId, -//IN VOID *DefaultValueArray, - ) -; - -/** - Converts the unicode character of the string from uppercase to lowercase. - - @param Str String to be converted - - -**/ -VOID -EFIAPI -ToLower ( - IN OUT CHAR16 *Str - ) -; - -/** - Converts binary buffer to a Unicode string. The byte buffer is in a reversed byte order - compared with the byte order defined in BufToHexString(). - - @param Str String for output - @param Buffer Binary buffer. - @param BufferSize Size of the buffer in bytes. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_OUT_OF_RESOURCES There is no enough available memory space. - -**/ -EFI_STATUS -EFIAPI -BufInReverseOrderToHexString ( - IN OUT CHAR16 *Str, - IN UINT8 *Buffer, - IN UINTN BufferSize - ) -; - -/** - Converts Hex String to binary buffer in reversed byte order to HexStringToBuf(). - - @param Buffer Pointer to buffer that receives the data. - @param BufferSize Length in bytes of the buffer to hold converted - data. If routine return with EFI_SUCCESS, - containing length of converted data. If routine - return with EFI_BUFFER_TOO_SMALL, containg length - of buffer desired. - @param Str String to be converted from. - - @retval EFI_SUCCESS The function completed successfully. - @retval RETURN_BUFFER_TOO_SMALL The input BufferSize is too small to hold the output. BufferSize - will be updated to the size required for the converstion. - -**/ -EFI_STATUS -EFIAPI -HexStringToBufInReverseOrder ( - IN OUT UINT8 *Buffer, - IN OUT UINTN *BufferSize, - IN CHAR16 *Str - ) -; - -/** - Convert binary representation Config string (e.g. "0041004200430044") to the - original string (e.g. "ABCD"). Config string appears in (i.e. - "&NAME="), or Name/Value pair in (i.e. "label="). - - @param UnicodeString Original Unicode string. - @param StrBufferLen On input: Length in bytes of buffer to hold the Unicode string. - Includes tailing '\0' character. - On output: - containing length of Unicode string buffer when returning EFI_SUCCESS; - containg length of string buffer desired when returning EFI_BUFFER_TOO_SMALL. - @param ConfigString Binary representation of Unicode String, := (4)+ - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The string buffer is too small. - -**/ -EFI_STATUS -EFIAPI -ConfigStringToUnicode ( - IN OUT CHAR16 *UnicodeString, - IN OUT UINTN *StrBufferLen, - IN CHAR16 *ConfigString - ) -; - -/** - Convert Unicode string to binary representation Config string, e.g. - "ABCD" => "0041004200430044". Config string appears in (i.e. - "&NAME="), or Name/Value pair in (i.e. "label="). - - @param ConfigString Binary representation of Unicode String, := (4)+ - @param StrBufferLen On input: Length in bytes of buffer to hold the Unicode string. - Includes tailing '\0' character. - On output: - If return EFI_SUCCESS, containing length of Unicode string buffer. - If return EFI_BUFFER_TOO_SMALL, containg length of string buffer desired. - @param UnicodeString Original Unicode string. - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The string buffer is too small. - -**/ -EFI_STATUS -EFIAPI -UnicodeToConfigString ( - IN OUT CHAR16 *ConfigString, - IN OUT UINTN *StrBufferLen, - IN CHAR16 *UnicodeString - ) -; - -/** - Construct using routing information GUID/NAME/PATH. - - @param ConfigHdr Pointer to the ConfigHdr string. - @param StrBufferLen On input: Length in bytes of buffer to hold the - ConfigHdr string. Includes tailing '\0' character. - On output: If return EFI_SUCCESS, containing - length of ConfigHdr string buffer. If return - EFI_BUFFER_TOO_SMALL, containg length of string - buffer desired. - @param Guid Routing information: GUID. - @param Name Routing information: NAME. - @param DriverHandle Driver handle which contains the routing - information: PATH. - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The ConfigHdr string buffer is too small. - -**/ -EFI_STATUS -EFIAPI -ConstructConfigHdr ( - IN OUT CHAR16 *ConfigHdr, - IN OUT UINTN *StrBufferLen, - IN CONST EFI_GUID *Guid, - IN CHAR16 *Name, OPTIONAL - IN EFI_HANDLE *DriverHandle - ) - -; - -/** - Determines if the Routing data (Guid and Name) is correct in . - - @param ConfigString Either or . - @param StorageGuid GUID of the storage. - @param StorageName Name of the stoarge. - - @retval TRUE Routing information is correct in ConfigString. - @retval FALSE Routing information is incorrect in ConfigString. - -**/ -BOOLEAN -EFIAPI -IsConfigHdrMatch ( - IN EFI_STRING ConfigString, - IN EFI_GUID *StorageGuid, OPTIONAL - IN CHAR16 *StorageName OPTIONAL - ) -; - -/** - Search BlockName "&OFFSET=Offset&WIDTH=Width" in a string. - - @param String The string to be searched in. - @param Offset Offset in BlockName. - @param Width Width in BlockName. - - @retval TRUE Block name found. - @retval FALSE Block name not found. - -**/ -BOOLEAN -EFIAPI -FindBlockName ( - IN OUT CHAR16 *String, - IN UINTN Offset, - IN UINTN Width - ) -; - -/** - This routine is invoked by ConfigAccess.Callback() to retrived uncommitted data from Form Browser. - - @param VariableGuid An optional field to indicate the target variable - GUID name to use. - @param VariableName An optional field to indicate the target - human-readable variable name. - @param BufferSize On input: Length in bytes of buffer to hold - retrived data. On output: If return - EFI_BUFFER_TOO_SMALL, containg length of buffer - desired. - @param Buffer Buffer to hold retrived data. - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The intput buffer is too small. - -**/ -EFI_STATUS -EFIAPI -GetBrowserData ( - IN CONST EFI_GUID *VariableGuid, OPTIONAL - IN CONST CHAR16 *VariableName, OPTIONAL - IN OUT UINTN *BufferSize, - IN OUT UINT8 *Buffer - ) -; - -/** - This routine is invoked by ConfigAccess.Callback() to update uncommitted data of Form Browser. - - @param VariableGuid An optional field to indicate the target variable - GUID name to use. - @param VariableName An optional field to indicate the target - human-readable variable name. - @param BufferSize Length in bytes of buffer to hold retrived data. - @param Buffer Buffer to hold retrived data. - @param RequestElement An optional field to specify which part of the - buffer data will be send back to Browser. If NULL, - the whole buffer of data will be committed to - Browser. ::= - &OFFSET=&WIDTH=* - - @retval EFI_SUCCESS Operation completes successfully. - @retval Other Updating Browser uncommitted data failed. - -**/ -EFI_STATUS -EFIAPI -SetBrowserData ( - IN CONST EFI_GUID *VariableGuid, OPTIONAL - IN CONST CHAR16 *VariableName, OPTIONAL - IN UINTN BufferSize, - IN CONST UINT8 *Buffer, - IN CONST CHAR16 *RequestElement OPTIONAL - ) -; - -/** - Draw a dialog and return the selected key. - - @param NumberOfLines The number of lines for the dialog box - @param KeyValue The EFI_KEY value returned if HotKey is TRUE.. - @param String Pointer to the first string in the list - @param ... A series of (quantity == NumberOfLines - 1) text - strings which will be used to construct the dialog - box - - @retval EFI_SUCCESS Displayed dialog and received user interaction - @retval EFI_INVALID_PARAMETER One of the parameters was invalid. - -**/ -EFI_STATUS -EFIAPI -IfrLibCreatePopUp ( - IN UINTN NumberOfLines, - OUT EFI_INPUT_KEY *KeyValue, - IN CHAR16 *String, - ... - ) -; - -/** - Draw a dialog and return the selected key using Variable Argument List. - - @param NumberOfLines The number of lines for the dialog box - @param KeyValue The EFI_KEY value returned if HotKey is TRUE.. - @param String The first String to be displayed in the Pop-Up. - @param Args VA_LIST marker for the variable argument list. - A series of (quantity == NumberOfLines - 1) text - strings which will be used to construct the dialog - box - - @retval EFI_SUCCESS Displayed dialog and received user interaction - @retval EFI_INVALID_PARAMETER One of the parameters was invalid. - -**/ -EFI_STATUS -EFIAPI -IfrLibCreatePopUp2 ( - IN UINTN NumberOfLines, - OUT EFI_INPUT_KEY *KeyValue, - IN CHAR16 *String, - IN VA_LIST Args - ) -; - -/** - Test if a Unicode character is a hexadecimal digit. If true, the input - Unicode character is converted to a byte. - - This function tests if a Unicode character is a hexadecimal digit. If true, the input - Unicode character is converted to a byte. For example, Unicode character - L'A' will be converted to 0x0A. - - If Digit is NULL, then ASSERT. - - @param Digit The output hexadecimal digit. - - @param Char The input Unicode character. - - @retval TRUE Char is in the range of Hexadecimal number. Digit is updated - to the byte value of the number. - @retval FALSE Char is not in the range of Hexadecimal number. Digit is keep - intact. - -**/ -BOOLEAN -EFIAPI -IsHexDigit ( - OUT UINT8 *Digit, - IN CHAR16 Char - ) -; - - -/** - Convert binary buffer to a Unicode String in a specified sequence. - - This function converts bytes in the memory block pointed by Buffer to a Unicode String Str. - Each byte will be represented by two Unicode characters. For example, byte 0xA1 will - be converted into two Unicode character L'A' and L'1'. In the output String, the Unicode Character - for the Most Significant Nibble will be put before the Unicode Character for the Least Significant - Nibble. The output string for the buffer containing a single byte 0xA1 will be L"A1". - For a buffer with multiple bytes, the Unicode character produced by the first byte will be put into the - the last character in the output string. The one next to first byte will be put into the - character before the last character. This rules applies to the rest of the bytes. The Unicode - character by the last byte will be put into the first character in the output string. For example, - the input buffer for a 64-bits unsigned integer 0x12345678abcdef1234 will be converted to - a Unicode string equal to L"12345678abcdef1234". - - @param String On input, String is pointed to the buffer allocated for the convertion. - @param StringLen The Length of String buffer to hold the output String. The length must include the tailing '\0' character. - The StringLen required to convert a N bytes Buffer will be a least equal to or greater - than 2*N + 1. - @param Buffer The pointer to a input buffer. - @param BufferSizeInBytes Length in bytes of the input buffer. - - - @retval EFI_SUCCESS The convertion is successful. All bytes in Buffer has been convert to the corresponding - Unicode character and placed into the right place in String. - @retval EFI_BUFFER_TOO_SMALL StringSizeInBytes is smaller than 2 * N + 1the number of bytes required to - complete the convertion. -**/ -RETURN_STATUS -EFIAPI -BufToHexString ( - IN OUT CHAR16 *String, - IN OUT UINTN *StringLen, - IN CONST UINT8 *Buffer, - IN UINTN BufferSizeInBytes - ) -; - - -/** - Convert a Unicode string consisting of hexadecimal characters to a output byte buffer. - - This function converts a Unicode string consisting of characters in the range of Hexadecimal - character (L'0' to L'9', L'A' to L'F' and L'a' to L'f') to a output byte buffer. The function will stop - at the first non-hexadecimal character or the NULL character. The convertion process can be - simply viewed as the reverse operations defined by BufToHexString. Two Unicode characters will be - converted into one byte. The first Unicode character represents the Most Significant Nibble and the - second Unicode character represents the Least Significant Nibble in the output byte. - The first pair of Unicode characters represents the last byte in the output buffer. The second pair of Unicode - characters represent the the byte preceding the last byte. This rule applies to the rest pairs of bytes. - The last pair represent the first byte in the output buffer. - - For example, a Unciode String L"12345678" will be converted into a buffer wil the following bytes - (first byte is the byte in the lowest memory address): "0x78, 0x56, 0x34, 0x12". - - If String has N valid hexadecimal characters for conversion, the caller must make sure Buffer is at least - N/2 (if N is even) or (N+1)/2 (if N if odd) bytes. - - If either Buffer, BufferSizeInBytes or String is NULL, then ASSERT (). - - @param Buffer The output buffer allocated by the caller. - @param BufferSizeInBytes On input, the size in bytes of Buffer. On output, it is updated to - contain the size of the Buffer which is actually used for the converstion. - For Unicode string with 2*N hexadecimal characters (not including the - tailing NULL character), N bytes of Buffer will be used for the output. - @param String The input hexadecimal string. - @param ConvertedStrLen The number of hexadecimal characters used to produce content in output - buffer Buffer. - - @retval RETURN_BUFFER_TOO_SMALL The input BufferSizeInBytes is too small to hold the output. BufferSizeInBytes - will be updated to the size required for the converstion. - @retval RETURN_SUCCESS The convertion is successful or the first Unicode character from String - is hexadecimal. If ConvertedStrLen is not NULL, it is updated - to the number of hexadecimal character used for the converstion. -**/ -RETURN_STATUS -EFIAPI -HexStringToBuf ( - OUT UINT8 *Buffer, - IN OUT UINTN *BufferSizeInBytes, - IN CONST CHAR16 *String, - OUT UINTN *ConvertedStrLen OPTIONAL - ) -; - -#endif