summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Library/IfrSupportLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Library/IfrSupportLib.h')
-rw-r--r--MdePkg/Include/Library/IfrSupportLib.h82
1 files changed, 51 insertions, 31 deletions
diff --git a/MdePkg/Include/Library/IfrSupportLib.h b/MdePkg/Include/Library/IfrSupportLib.h
index d8cdcf4280..1e456ff7f0 100644
--- a/MdePkg/Include/Library/IfrSupportLib.h
+++ b/MdePkg/Include/Library/IfrSupportLib.h
@@ -1,6 +1,6 @@
/** @file
- The file contain all library functions and definitions for IFR opcode creation and
- related Form Browser utility Operations.
+ 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
@@ -39,13 +39,6 @@
#define UEFI_LANGUAGE_VARIABLE L"PlatformLang"
#define UEFI_LANGUAGE_CODES_VARIABLE L"PlatformLangCodes"
-///
-/// Limited buffer size recommended by RFC3066
-/// (42 characters plus a NULL terminator)
-///
-#define RFC_3066_ENTRY_SIZE (42 + 1)
-#define ISO_639_2_ENTRY_SIZE 3
-
#define INVALID_VARSTORE_ID 0
#define QUESTION_FLAGS (EFI_IFR_FLAG_READ_ONLY | EFI_IFR_FLAG_CALLBACK | EFI_IFR_FLAG_RESET_REQUIRED | EFI_IFR_FLAG_OPTIONS_ONLY)
@@ -86,7 +79,7 @@ typedef struct {
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @retval EFI_SUCCESS Opcode is created successfully.
@retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small.
**/
@@ -100,11 +93,13 @@ CreateEndOpCode (
/**
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 create success
+ @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.
@@ -121,6 +116,8 @@ CreateDefaultOpCode (
/**
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
@@ -128,7 +125,7 @@ CreateDefaultOpCode (
@param QuestionConfig String ID for configuration
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -148,13 +145,15 @@ CreateActionOpCode (
/**
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 create success
+ @retval EFI_SUCCESS Opcode is created successfully.
@retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small.
**/
@@ -172,12 +171,14 @@ CreateSubTitleOpCode (
/**
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 create success
+ @retval EFI_SUCCESS Opcode is created successfully.
@retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small.
**/
@@ -194,6 +195,8 @@ CreateTextOpCode (
/**
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
@@ -201,7 +204,7 @@ CreateTextOpCode (
@param QuestionId Question ID
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -221,13 +224,16 @@ CreateGotoOpCode (
/**
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 create success
+ @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
@@ -243,6 +249,8 @@ CreateOneOfOptionOpCode (
/**
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
@@ -254,7 +262,7 @@ CreateOneOfOptionOpCode (
@param OptionCount Number of options in option list
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -278,6 +286,8 @@ CreateOneOfOpCode (
/**
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
@@ -291,7 +301,7 @@ CreateOneOfOpCode (
@param OptionCount Number of options in option list
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -317,6 +327,8 @@ CreateOrderedListOpCode (
/**
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
@@ -326,7 +338,7 @@ CreateOrderedListOpCode (
@param CheckBoxFlags Flags for checkbox opcode
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -348,6 +360,8 @@ CreateCheckBoxOpCode (
/**
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
@@ -361,7 +375,7 @@ CreateCheckBoxOpCode (
@param Default Numeric default value
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -387,6 +401,8 @@ CreateNumericOpCode (
/**
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
@@ -398,7 +414,7 @@ CreateNumericOpCode (
@param MaxSize String maximum length
@param Data Destination for the created opcode binary
- @retval EFI_SUCCESS Opcode create success
+ @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.
@@ -434,18 +450,20 @@ ToLower (
;
/**
- Converts binary buffer to Unicode string in reversed byte order to BufToHexString().
+ 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
-BufferToHexString (
+BufInReverseOrderToHexString (
IN OUT CHAR16 *Str,
IN UINT8 *Buffer,
IN UINTN BufferSize
@@ -464,11 +482,13 @@ BufferToHexString (
@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
-HexStringToBuffer (
+HexStringToBufInReverseOrder (
IN OUT UINT8 *Buffer,
IN OUT UINTN *BufferSize,
IN CHAR16 *Str
@@ -484,11 +504,11 @@ HexStringToBuffer (
@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.
+ 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, <string> := (<HexCh>4)+
- @retval EFI_SUCCESS Routine success.
+ @retval EFI_SUCCESS Operation completes successfully.
@retval EFI_BUFFER_TOO_SMALL The string buffer is too small.
**/
@@ -514,7 +534,7 @@ ConfigStringToUnicode (
If return EFI_BUFFER_TOO_SMALL, containg length of string buffer desired.
@param UnicodeString Original Unicode string.
- @retval EFI_SUCCESS Routine success.
+ @retval EFI_SUCCESS Operation completes successfully.
@retval EFI_BUFFER_TOO_SMALL The string buffer is too small.
**/
@@ -542,7 +562,7 @@ UnicodeToConfigString (
@param DriverHandle Driver handle which contains the routing
information: PATH.
- @retval EFI_SUCCESS Routine success.
+ @retval EFI_SUCCESS Operation completes successfully.
@retval EFI_BUFFER_TOO_SMALL The ConfigHdr string buffer is too small.
**/
@@ -591,7 +611,7 @@ FindBlockName (
desired.
@param Buffer Buffer to hold retrived data.
- @retval EFI_SUCCESS Routine success.
+ @retval EFI_SUCCESS Operation completes successfully.
@retval EFI_BUFFER_TOO_SMALL The intput buffer is too small.
**/
@@ -620,7 +640,7 @@ GetBrowserData (
Browser. <RequestElement> ::=
&OFFSET=<Number>&WIDTH=<Number>*
- @retval EFI_SUCCESS Routine success.
+ @retval EFI_SUCCESS Operation completes successfully.
@retval Other Updating Browser uncommitted data failed.
**/