#include "IfrSupportLibInternal.h"\r
\r
/**\r
- Create a formset\r
+ Create a formset.\r
\r
The form package is a collection of forms that are intended to describe the pages that will be\r
displayed to the user.\r
@retval EFI_SUCCESS Formset successfully created \r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateFormSet (\r
IN CHAR16 *FormSetTitle,\r
IN EFI_GUID *Guid,\r
//\r
StringBuffer = AllocateZeroPool (DEFAULT_STRING_BUFFER_SIZE);\r
if (StringBuffer == NULL) {\r
- gBS->FreePool (FormBuffer);\r
+ FreePool (FormBuffer);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
//\r
- // Obtain current language value\r
+ // Add FormSetTitle to the StringBuffer, get FormSetTitle's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add the FormSetTitle to the string buffer and get the StringToken\r
- //\r
Status = AddString (*StringBuffer, CurrentLanguage, FormSetTitle, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
FormSet.FormSetTitle = StringToken;\r
FormSet.Class = Class;\r
FormSet.SubClass = SubClass;\r
- CopyMem (&FormSet.Guid, Guid, sizeof (EFI_GUID));\r
-\r
+ CopyGuid ((GUID *)(VOID *)&FormSet.Guid, Guid);\r
+ \r
//\r
// Initialize the end formset data\r
//\r
EndFormSet.Header.Length = sizeof (FRAMEWORK_EFI_IFR_END_FORM_SET);\r
EndFormSet.Header.OpCode = FRAMEWORK_EFI_IFR_END_FORM_SET_OP;\r
\r
- Destination = (UINT8 *) *FormBuffer;\r
-\r
//\r
// Copy the formset/endformset data to the form buffer\r
//\r
+ Destination = (UINT8 *) *FormBuffer;\r
CopyMem (Destination, &IfrPack, sizeof (EFI_HII_PACK_HEADER));\r
\r
Destination = Destination + sizeof (EFI_HII_PACK_HEADER);\r
-\r
CopyMem (Destination, &FormSet, sizeof (FRAMEWORK_EFI_IFR_FORM_SET));\r
\r
Destination = Destination + sizeof (FRAMEWORK_EFI_IFR_FORM_SET);\r
-\r
CopyMem (Destination, &EndFormSet, sizeof (FRAMEWORK_EFI_IFR_END_FORM_SET));\r
+ \r
return EFI_SUCCESS;\r
}\r
\r
@retval EFI_SUCCESS Form successfully created\r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateForm (\r
IN CHAR16 *FormTitle,\r
IN UINT16 FormId,\r
STRING_REF StringToken;\r
\r
//\r
- // Obtain current language value\r
+ // Add FormTitle to the StringBuffer, get FormTitle's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
Status = AddString (StringBuffer, CurrentLanguage, FormTitle, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
Form.FormId = FormId;\r
Form.FormTitle = StringToken;\r
\r
- Status = AddOpCode (FormBuffer, &Form);\r
-\r
+ Status = AddOpCode (FormBuffer, &Form);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
EndForm.Header.Length = sizeof (FRAMEWORK_EFI_IFR_END_FORM);\r
\r
Status = AddOpCode (FormBuffer, &EndForm);\r
-\r
+ \r
return Status;\r
}\r
\r
/**\r
- Create a SubTitle\r
+ Create a SubTitle.\r
\r
Subtitle strings are intended to be used by authors to separate sections of questions into semantic\r
groups.\r
@retval EFI_SUCCESS Subtitle successfully created\r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateSubTitle (\r
IN CHAR16 *SubTitle,\r
IN OUT VOID *FormBuffer,\r
STRING_REF StringToken;\r
\r
//\r
- // Obtain current language value\r
+ // Add SubTitle to the StringBuffer, get SubTitle's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
Status = AddString (StringBuffer, CurrentLanguage, SubTitle, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
}\r
\r
/**\r
- Create a line of text\r
+ Create a line of text.\r
Unlike HTML, text is simply another tag. \r
This tag type enables IFR to be more easily localized.\r
\r
@retval EFI_SUCCESS Text successfully created\r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateText (\r
IN CHAR16 *String,\r
IN CHAR16 *String2,\r
STRING_REF StringToken;\r
\r
//\r
- // Obtain current language value\r
+ // Add first string to the StringBuffer, get first string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add first string, get first string's token\r
- //\r
Status = AddString (StringBuffer, CurrentLanguage, String, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
// Add second string, get first string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, String2, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
Text.TextTwo = StringToken;\r
-\r
Text.Flags = (UINT8) (Flags | FRAMEWORK_EFI_IFR_FLAG_CREATED);\r
Text.Key = Key;\r
\r
// Add second string, get first string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, String3, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
@retval EFI_SUCCESS Hyperlink successfully created \r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateGoto (\r
IN UINT16 FormId,\r
IN CHAR16 *Prompt,\r
STRING_REF StringToken;\r
\r
//\r
- // Obtain current language value\r
+ // Add Prompt string to the StringBuffer, get Prompt string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
Status = AddString (StringBuffer, CurrentLanguage, Prompt, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
@retval EFI_SUCCESS One-Of box successfully created.\r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateOneOf (\r
IN UINT16 QuestionId,\r
IN UINT8 DataWidth,\r
}\r
\r
//\r
- // Obtain current language value\r
+ // Add Prompt string to the StringBuffer, get Prompt string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add first string, get first string's token\r
- //\r
Status = AddString (StringBuffer, CurrentLanguage, Prompt, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
OneOf.Prompt = StringToken;\r
\r
//\r
- // Add second string, get first string's token\r
+ // Add Help string to the StringBuffer, get Help string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, Help, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
OneOf.Help = StringToken;\r
\r
- Status = AddOpCode (FormBuffer, &OneOf);\r
-\r
+ Status = AddOpCode (FormBuffer, &OneOf);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
OneOfOption.Header.Length = sizeof (FRAMEWORK_EFI_IFR_ONE_OF_OPTION);\r
\r
//\r
- // Add string and get token back\r
+ // Add OptionString string to the StringBuffer, get OptionString string's token\r
//\r
- Status = AddString (StringBuffer, CurrentLanguage, OptionsList[Index].OptionString, &StringToken);\r
+ Status = AddString (StringBuffer, CurrentLanguage, OptionsList[Index].OptionString, &StringToken);\r
\r
OneOfOption.Option = StringToken;\r
OneOfOption.Value = OptionsList[Index].Value;\r
OneOfOption.Flags = (UINT8) (OptionsList[Index].Flags | FRAMEWORK_EFI_IFR_FLAG_CREATED);\r
OneOfOption.Key = OptionsList[Index].Key;\r
\r
- Status = AddOpCode (FormBuffer, &OneOfOption);\r
-\r
+ Status = AddOpCode (FormBuffer, &OneOfOption);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
EndOneOf.Header.Length = sizeof (FRAMEWORK_EFI_IFR_END_ONE_OF);\r
EndOneOf.Header.OpCode = FRAMEWORK_EFI_IFR_END_ONE_OF_OP;\r
\r
- Status = AddOpCode (FormBuffer, &EndOneOf);\r
-\r
+ Status = AddOpCode (FormBuffer, &EndOneOf);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
@retval EFI_SUCCESS Ordered list successfully created.\r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateOrderedList (\r
IN UINT16 QuestionId,\r
IN UINT8 MaxEntries,\r
STRING_REF StringToken;\r
\r
//\r
- // Obtain current language value\r
+ // Add Prompt string to the StringBuffer, get Prompt string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add first string, get first string's token\r
- //\r
Status = AddString (StringBuffer, CurrentLanguage, Prompt, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
OrderedList.Prompt = StringToken;\r
\r
//\r
- // Add second string, get first string's token\r
+ // Add Help string to the StringBuffer, get Help string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, Help, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
OrderedList.Help = StringToken;\r
\r
- Status = AddOpCode (FormBuffer, &OrderedList);\r
-\r
+ Status = AddOpCode (FormBuffer, &OrderedList);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
OrderedListOption.Header.Length = sizeof (FRAMEWORK_EFI_IFR_ONE_OF_OPTION);\r
\r
//\r
- // Add string and get token back\r
+ // Add OptionString string to the StringBuffer, get OptionString string's token\r
//\r
- Status = AddString (StringBuffer, CurrentLanguage, OptionsList[Index].OptionString, &StringToken);\r
+ Status = AddString (StringBuffer, CurrentLanguage, OptionsList[Index].OptionString, &StringToken);\r
\r
OrderedListOption.Option = StringToken;\r
OrderedListOption.Value = OptionsList[Index].Value;\r
OrderedListOption.Flags = (UINT8) (OptionsList[Index].Flags | FRAMEWORK_EFI_IFR_FLAG_CREATED);\r
OrderedListOption.Key = OptionsList[Index].Key;\r
\r
- Status = AddOpCode (FormBuffer, &OrderedListOption);\r
-\r
+ Status = AddOpCode (FormBuffer, &OrderedListOption);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
@retval EFI_SUCCESS Check box successfully created\r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateCheckBox (\r
IN UINT16 QuestionId,\r
IN UINT8 DataWidth,\r
}\r
\r
//\r
- // Obtain current language value\r
+ // Add Prompt string to the StringBuffer, get Prompt string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add first string, get first string's token\r
- //\r
Status = AddString (StringBuffer, CurrentLanguage, Prompt, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
CheckBox.Prompt = StringToken;\r
\r
//\r
- // Add second string, get first string's token\r
+ // Add Help string to the StringBuffer, get Help string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, Help, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
}\r
\r
/**\r
- Create a numeric\r
+ Create a numeric.\r
\r
@param QuestionId Question ID of the numeric\r
@param DataWidth DataWidth of the numeric\r
@retval EFI_SUCCESS Numeric is successfully created \r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateNumeric (\r
IN UINT16 QuestionId,\r
IN UINT8 DataWidth,\r
}\r
\r
//\r
- // Obtain current language value\r
+ // Add Prompt string to the StringBuffer, get Prompt string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add first string, get first string's token\r
- //\r
Status = AddString (StringBuffer, CurrentLanguage, Prompt, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
Numeric.Prompt = StringToken;\r
\r
//\r
- // Add second string, get first string's token\r
+ // Add Help string to the StringBuffer, get Help string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, Help, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
@retval EFI_SUCCESS String successfully created. \r
**/\r
EFI_STATUS\r
+EFIAPI\r
CreateString (\r
IN UINT16 QuestionId,\r
IN UINT8 DataWidth,\r
STRING_REF StringToken;\r
\r
//\r
- // Obtain current language value\r
+ // Add Prompt string to the StringBuffer, get Prompt string's token\r
//\r
GetCurrentLanguage (CurrentLanguage);\r
-\r
- //\r
- // Add first string, get first string's token\r
- //\r
Status = AddString (StringBuffer, CurrentLanguage, Prompt, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
String.Prompt = StringToken;\r
\r
//\r
- // Add second string, get first string's token\r
+ // Add Help string to the StringBuffer, get Help string's token\r
//\r
Status = AddString (StringBuffer, CurrentLanguage, Help, &StringToken);\r
-\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r