]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Library/FrameworkIfrSupportLib.h
Retire framework IfrSupportLib and HiiLib, which will be replaced by new designed...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Library / FrameworkIfrSupportLib.h
diff --git a/IntelFrameworkPkg/Include/Library/FrameworkIfrSupportLib.h b/IntelFrameworkPkg/Include/Library/FrameworkIfrSupportLib.h
deleted file mode 100644 (file)
index 6eab8f6..0000000
+++ /dev/null
@@ -1,888 +0,0 @@
-/** @file\r
-  Library class name: FrameworkIfrSupportLib\r
-\r
-  FrameworkIfrSupportLib is designed for produce IFR operation interface .\r
-  The IFR format follows framework specification.\r
-  \r
-Copyright (c) 2006, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
-are licensed and made available under the terms and conditions of the BSD License         \r
-which accompanies this distribution.  The full text of the license may be found at        \r
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-**/\r
-\r
-#ifndef _IFRSUPPORTLIBRARY_H_\r
-#define _IFRSUPPORTLIBRARY_H_\r
-\r
-#define DEFAULT_FORM_BUFFER_SIZE    0xFFFF\r
-#define DEFAULT_STRING_BUFFER_SIZE  0xFFFF\r
-\r
-#pragma pack(1)\r
-typedef struct {\r
-  CHAR16      *OptionString;  // Passed in string to generate a token for in a truly dynamic form creation\r
-  STRING_REF  StringToken;    // This is used when creating a single op-code without generating a StringToken (have one already)\r
-  UINT16      Value;\r
-  UINT8       Flags;\r
-  UINT16      Key;\r
-} IFR_OPTION;\r
-#pragma pack()\r
-\r
-/**\r
-  Determine what is the current language setting.\r
-  \r
-  The setting is stored in language variable in flash. This routine\r
-  will get setting by accesssing that variable. If failed to access\r
-  language variable, then use default setting that 'eng' as current\r
-  language setting.\r
-  \r
-  @param  Lang       Pointer of system language\r
-  \r
-  @return            whether success to get setting from variable\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-GetCurrentLanguage (\r
-  OUT     CHAR16              *Lang\r
-  );\r
-\r
-/**\r
-  Add a string to the incoming buffer and return the token and offset data.\r
-  \r
-  @param StringBuffer      The incoming buffer\r
-  @param Language          Currrent language\r
-  @param String            The string to be added\r
-  @param StringToken       The index where the string placed  \r
-  \r
-  @retval EFI_OUT_OF_RESOURCES No enough buffer to allocate\r
-  @retval EFI_SUCCESS          String successfully added to the incoming buffer\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-AddString (\r
-  IN      VOID                *StringBuffer,\r
-  IN      CHAR16              *Language,\r
-  IN      CHAR16              *String,\r
-  IN OUT  STRING_REF          *StringToken\r
-  );\r
-\r
-/**\r
-  Add op-code data to the FormBuffer.\r
-  \r
-  @param FormBuffer        Form buffer to be inserted to\r
-  @param OpCodeData        Op-code data to be inserted\r
-  \r
-  @retval EFI_OUT_OF_RESOURCES    No enough buffer to allocate\r
-  @retval EFI_SUCCESS             Op-code data successfully inserted\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-AddOpCode (\r
-  IN      VOID                *FormBuffer,\r
-  IN OUT  VOID                *OpCodeData\r
-  );\r
-\r
-/**\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
-  \r
-  @param FormSetTitle      Title of formset\r
-  @param Guid              Guid of formset\r
-  @param Class             Class of formset\r
-  @param SubClass          Sub class of formset\r
-  @param FormBuffer        Pointer of the formset created\r
-  @param StringBuffer      Pointer of FormSetTitile string created\r
-  \r
-  @retval EFI_OUT_OF_RESOURCES     No enough buffer to allocate\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
-  IN      UINT8               Class,\r
-  IN      UINT8               SubClass,\r
-  IN OUT  VOID                **FormBuffer,\r
-  IN OUT  VOID                **StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a form.\r
-  A form is the encapsulation of what amounts to a browser page. The header defines a FormId,\r
-  which is referenced by the form package, among others. It also defines a FormTitle, which is a\r
-  string to be used as the title for the form\r
-  \r
-  @param FormTitle         Title of the form\r
-  @param FormId            Id of the form\r
-  @param FormBuffer        Pointer of the form created\r
-  @param StringBuffer      Pointer of FormTitil string created\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
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\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
-  \r
-  @param SubTitle          Sub title to be created\r
-  @param FormBuffer        Where this subtitle to add to\r
-  @param StringBuffer      String buffer created for subtitle\r
-  \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
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\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
-  @param String            First string of the text\r
-  @param String2           Second string of the text\r
-  @param String3           Help string of the text\r
-  @param Flags             Flag of the text\r
-  @param Key               Key of the text\r
-  @param FormBuffer        The form where this text adds to\r
-  @param StringBuffer      String buffer created for String, String2 and String3\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
-  IN      CHAR16              *String3,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a hyperlink.\r
-  \r
-  @param FormId            Form ID of the hyperlink\r
-  @param Prompt            Prompt of the hyperlink\r
-  @param FormBuffer        The form where this hyperlink adds to\r
-  @param StringBuffer      String buffer created for Prompt\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
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a one-of question with a set of options to choose from.  The\r
-  OptionsList is a pointer to a null-terminated list of option descriptions.\r
-\r
-  @param QuestionId        Question ID of the one-of box\r
-  @param DataWidth         DataWidth of the one-of box\r
-  @param Prompt            Prompt of the one-of box\r
-  @param Help              Help of the one-of box\r
-  @param OptionsList       Each string in it is an option of the one-of box\r
-  @param OptionCount       Option string count\r
-  @param FormBuffer        The form where this one-of box adds to\r
-  @param StringBuffer      String buffer created for Prompt, Help and Option strings\r
-  \r
-  @retval EFI_DEVICE_ERROR DataWidth > 2\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
-  IN      CHAR16              *Prompt,\r
-  IN      CHAR16              *Help,\r
-  IN      IFR_OPTION          *OptionsList,\r
-  IN      UINTN               OptionCount,\r
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a one-of question with a set of options to choose from.  The\r
-  OptionsList is a pointer to a null-terminated list of option descriptions.\r
-  \r
-  @param QuestionId        Question ID of the ordered list\r
-  @param MaxEntries        MaxEntries of the ordered list\r
-  @param Prompt            Prompt of the ordered list\r
-  @param Help              Help of the ordered list\r
-  @param OptionsList       Each string in it is an option of the ordered list\r
-  @param OptionCount       Option string count\r
-  @param FormBuffer        The form where this ordered list adds to\r
-  @param StringBuffer      String buffer created for Prompt, Help and Option strings\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
-  IN      CHAR16              *Prompt,\r
-  IN      CHAR16              *Help,\r
-  IN      IFR_OPTION          *OptionsList,\r
-  IN      UINTN               OptionCount,\r
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a checkbox\r
-  \r
-  @param QuestionId         Question ID of the check box\r
-  @param DataWidth          DataWidth of the check box\r
-  @param Prompt             Prompt of the check box\r
-  @param Help               Help of the check box  \r
-  @param Flags              Flags of the check box\r
-  @param FormBuffer         The form where this check box adds to\r
-  @param StringBuffer       String buffer created for Prompt and Help.\r
-  \r
-  @retval  EFI_DEVICE_ERROR DataWidth > 1\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
-  IN      CHAR16              *Prompt,\r
-  IN      CHAR16              *Help,\r
-  IN      UINT8               Flags,\r
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a numeric\r
-  \r
-  @param QuestionId        Question ID of the numeric\r
-  @param DataWidth         DataWidth of the numeric\r
-  @param Prompt            Prompt of the numeric\r
-  @param Help              Help of the numeric\r
-  @param Minimum           Minumun boundary of the numeric\r
-  @param Maximum           Maximum boundary of the numeric\r
-  @param Step              Step of the numeric\r
-  @param Default           Default value\r
-  @param Flags             Flags of the numeric\r
-  @param Key               Key of the numeric\r
-  @param FormBuffer        The form where this numeric adds to\r
-  @param StringBuffer      String buffer created for Prompt and Help.\r
-\r
-  @retval EFI_DEVICE_ERROR DataWidth > 2\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
-  IN      CHAR16              *Prompt,\r
-  IN      CHAR16              *Help,\r
-  IN      UINT16              Minimum,\r
-  IN      UINT16              Maximum,\r
-  IN      UINT16              Step,\r
-  IN      UINT16              Default,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Create a string.\r
-  \r
-  @param QuestionId        Question ID of the string\r
-  @param DataWidth         DataWidth of the string\r
-  @param Prompt            Prompt of the string\r
-  @param Help              Help of the string\r
-  @param MinSize           Min size boundary of the string\r
-  @param MaxSize           Max size boundary of the string\r
-  @param Flags             Flags of the string\r
-  @param Key               Key of the string\r
-  @param FormBuffer        The form where this string adds to\r
-  @param StringBuffer      String buffer created for Prompt and Help.\r
-  @retval EFI_SUCCESS      String successfully created.  \r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateString (\r
-  IN      UINT16              QuestionId,\r
-  IN      UINT8               DataWidth,\r
-  IN      CHAR16              *Prompt,\r
-  IN      CHAR16              *Help,\r
-  IN      UINT8               MinSize,\r
-  IN      UINT8               MaxSize,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer,\r
-  IN OUT  VOID                *StringBuffer\r
-  );\r
-\r
-/**\r
-  Extract information pertaining to the HiiHandle.\r
-  \r
-  @param HiiHandle         Hii handle\r
-  @param ImageLength       For input, length of DefaultImage;\r
-                           For output, length of actually required\r
-  @param DefaultImage      Image buffer prepared by caller\r
-  @param Guid              Guid information about the form \r
-  \r
-  @retval EFI_OUT_OF_RESOURCES  No enough buffer to allocate\r
-  @retval EFI_BUFFER_TOO_SMALL  DefualtImage has no enough ImageLength\r
-  @retval EFI_SUCCESS           Successfully extract data from Hii database.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-ExtractDataFromHiiHandle (\r
-  IN      FRAMEWORK_EFI_HII_HANDLE   HiiHandle,\r
-  IN OUT  UINT16              *ImageLength,\r
-  OUT     UINT8               *DefaultImage,\r
-  OUT     EFI_GUID            *Guid\r
-  );\r
-\r
-/**\r
-  Finds HII handle for given pack GUID previously registered with the HII.\r
-  \r
-  @param HiiProtocol       pointer to pointer to HII protocol interface.\r
-                           If NULL, the interface will be found but not returned.\r
-                           If it points to NULL, the interface will be found and\r
-                           written back to the pointer that is pointed to.\r
-  @param Guid              The GUID of the pack that registered with the HII.\r
-\r
-  @return                  Handle to the HII pack previously registered by the memory driver.\r
-**/\r
-FRAMEWORK_EFI_HII_HANDLE\r
-EFIAPI\r
-FindHiiHandle (\r
-  IN OUT EFI_HII_PROTOCOL    **HiiProtocol, OPTIONAL\r
-  IN     EFI_GUID            *Guid\r
-  );\r
-\r
-/**\r
-  Create a SubTitle opcode independent of string creation\r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-  \r
-  @param StringToken       StringToken of the subtitle\r
-  @param FormBuffer        Output of subtitle as a form\r
-  \r
-  @retval EFI_SUCCESS      Subtitle created to be a form\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateSubTitleOpCode (\r
-  IN      STRING_REF          StringToken,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a Text opcode independent of string creation.\r
-  \r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-\r
-  @param StringToken       First string token of the text\r
-  @param StringTokenTwo    Second string token of the text\r
-  @param StringTokenThree  Help string token of the text\r
-  @param Flags             Flag of the text\r
-  @param Key               Key of the text\r
-  @param FormBuffer        Output of text as a form\r
-\r
-  @retval EFI_SUCCESS      Text created to be a form\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateTextOpCode (\r
-  IN      STRING_REF          StringToken,\r
-  IN      STRING_REF          StringTokenTwo,\r
-  IN      STRING_REF          StringTokenThree,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a hyperlink opcode independent of string creation.\r
-  \r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-  \r
-\r
-  @param FormId            Form ID of the hyperlink\r
-  @param StringToken       Prompt string token of the hyperlink\r
-  @param StringTokenTwo    Help string token of the hyperlink\r
-  @param Flags             Flags of the hyperlink\r
-  @param Key               Key of the hyperlink\r
-  @param FormBuffer        Output of hyperlink as a form\r
-  @retval EFI_SUCCESS      Hyperlink created to be a form\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateGotoOpCode (\r
-  IN      UINT16              FormId,\r
-  IN      STRING_REF          StringToken,\r
-  IN      STRING_REF          StringTokenTwo,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a one-of opcode with a set of option op-codes to choose from independent of string creation.\r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-\r
-  OptionsList is a pointer to a null-terminated list of option descriptions.  Ensure that OptionsList[x].StringToken\r
-  has been filled in since this routine will not generate StringToken values.\r
-  \r
-  @param QuestionId        Question ID of the one-of box\r
-  @param DataWidth         DataWidth of the one-of box\r
-  @param PromptToken       Prompt string token of the one-of box\r
-  @param HelpToken         Help string token of the one-of box\r
-  @param OptionsList       Each string in it is an option of the one-of box\r
-  @param OptionCount       Option string count\r
-  @param FormBuffer        Output of One-Of box as a form\r
-  \r
-\r
-  @retval EFI_SUCCESS      One-Of box created to be a form\r
-  @retval EFI_DEVICE_ERROR DataWidth > 2\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateOneOfOpCode (\r
-  IN      UINT16              QuestionId,\r
-  IN      UINT8               DataWidth,\r
-  IN      STRING_REF          PromptToken,\r
-  IN      STRING_REF          HelpToken,\r
-  IN      IFR_OPTION          *OptionsList,\r
-  IN      UINTN               OptionCount,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a ordered list opcode with a set of option op-codes to choose from independent of string creation.\r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-\r
-  OptionsList is a pointer to a null-terminated list of option descriptions.  Ensure that OptionsList[x].StringToken\r
-  has been filled in since this routine will not generate StringToken values.\r
-  \r
-  @param QuestionId        Question ID of the ordered list\r
-  @param MaxEntries        MaxEntries of the ordered list\r
-  @param PromptToken       Prompt string token of the ordered list\r
-  @param HelpToken         Help string token of the ordered list\r
-  @param OptionsList       Each string in it is an option of the ordered list\r
-  @param OptionCount       Option string count\r
-  @param FormBuffer        Output of ordered list as a form\r
-  \r
-  @retval EFI_SUCCESS      Ordered list created to be a form\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateOrderedListOpCode (\r
-  IN      UINT16              QuestionId,\r
-  IN      UINT8               MaxEntries,\r
-  IN      STRING_REF          PromptToken,\r
-  IN      STRING_REF          HelpToken,\r
-  IN      IFR_OPTION          *OptionsList,\r
-  IN      UINTN               OptionCount,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a checkbox opcode independent of string creation\r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-\r
-  @param QuestionId        Question ID of the check box\r
-  @param DataWidth         DataWidth of the check box\r
-  @param PromptToken       Prompt string token of the check box\r
-  @param HelpToken         Help string token of the check box\r
-  @param Flags             Flags of the check box\r
-  @param Key               Key of the check box\r
-  @param FormBuffer        Output of the check box as a form\r
-\r
-  @retval EFI_SUCCESS      Checkbox created to be a form\r
-  @retval EFI_DEVICE_ERROR DataWidth > 1\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateCheckBoxOpCode (\r
-  IN      UINT16              QuestionId,\r
-  IN      UINT8               DataWidth,\r
-  IN      STRING_REF          PromptToken,\r
-  IN      STRING_REF          HelpToken,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a numeric opcode independent of string creation.\r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-  \r
-  @param QuestionId        Question ID of the numeric\r
-  @param DataWidth         DataWidth of the numeric\r
-  @param PromptToken       Prompt string token of the numeric\r
-  @param HelpToken         Help string token of the numeric\r
-  @param Minimum           Minumun boundary of the numeric\r
-  @param Maximum           Maximum boundary of the numeric\r
-  @param Step              Step of the numeric\r
-  @param Default           Default value of the numeric\r
-  @param Flags             Flags of the numeric\r
-  @param Key               Key of the numeric\r
-  @param FormBuffer        Output of the numeric as a form\r
\r
-\r
-  @retval EFI_SUCCESS       The numeric created to be a form.\r
-  @retval EFI_DEVICE_ERROR  DataWidth > 2\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateNumericOpCode (\r
-  IN      UINT16              QuestionId,\r
-  IN      UINT8               DataWidth,\r
-  IN      STRING_REF          PromptToken,\r
-  IN      STRING_REF          HelpToken,\r
-  IN      UINT16              Minimum,\r
-  IN      UINT16              Maximum,\r
-  IN      UINT16              Step,\r
-  IN      UINT16              Default,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Create a numeric opcode independent of string creation\r
-  This is used primarily by users who need to create just one particular valid op-code and the string\r
-  data will be assumed to exist in the HiiDatabase already.  (Useful when exporting op-codes at a label\r
-  location to pre-defined forms in HII)\r
-  \r
-  @param QuestionId        Question ID of the string\r
-  @param DataWidth         DataWidth of the string\r
-  @param PromptToken       Prompt token of the string\r
-  @param HelpToken         Help token of the string\r
-  @param MinSize           Min size boundary of the string\r
-  @param MaxSize           Max size boundary of the string\r
-  @param Flags             Flags of the string\r
-  @param Key               Key of the string\r
-  @param FormBuffer        Output of the string as a form\r
-   \r
-  @retval EFI_SUCCESS      String created to be a form.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateStringOpCode (\r
-  IN      UINT16              QuestionId,\r
-  IN      UINT8               DataWidth,\r
-  IN      STRING_REF          PromptToken,\r
-  IN      STRING_REF          HelpToken,\r
-  IN      UINT8               MinSize,\r
-  IN      UINT8               MaxSize,\r
-  IN      UINT8               Flags,\r
-  IN      UINT16              Key,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
-\r
-/**\r
-  Validate that the data associated with the HiiHandle in NVRAM is within\r
-  the reasonable parameters for that FormSet.  Values for strings and passwords\r
-  are not verified due to their not having the equivalent of valid range settings.\r
-\r
-  @param HiiHandle         Handle of the HII database entry to query\r
-\r
-  @param Results           If return Status is EFI_SUCCESS, Results provides valid data\r
-                           TRUE  = NVRAM Data is within parameters\r
-                           FALSE = NVRAM Data is NOT within parameters\r
-  @retval EFI_OUT_OF_RESOURCES  No enough buffer to allocate\r
-  @retval EFI_SUCCESS           Data successfully validated\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-ValidateDataFromHiiHandle (\r
-  IN      FRAMEWORK_EFI_HII_HANDLE       HiiHandle,\r
-  OUT     BOOLEAN             *Results\r
-  );\r
-\r
-/**\r
-  Create a banner opcode.  This is primarily used by the FrontPage implementation from BDS.\r
-  \r
-  @param Title             Title of the banner\r
-  @param LineNumber        LineNumber of the banner\r
-  @param Alignment         Alignment of the banner\r
-  @param FormBuffer        Output of banner as a form\r
-\r
-  @retval EFI_SUCCESS      Banner created to be a form.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateBannerOpCode (\r
-  IN      UINT16              Title,\r
-  IN      UINT16              LineNumber,\r
-  IN      UINT8               Alignment,\r
-  IN OUT  VOID                *FormBuffer\r
-  );\r
\r
-/**\r
-  Extracts a variable form a Pack.\r
-\r
-  @param Pack              List of variables\r
-  @param Name              Name of the variable/map\r
-  @param Guid              GUID of the variable/map\r
-  @param Id                The index of the variable/map to retrieve\r
-  @param Var               Pointer to the variable/map\r
-  @param Size              Size of the variable/map in bytes\r
-**/\r
-VOID\r
-EFIAPI\r
-EfiLibHiiVariablePackGetMap (\r
-  IN    EFI_HII_VARIABLE_PACK *Pack,  \r
-  OUT   CHAR16                **Name,  OPTIONAL\r
-  OUT   EFI_GUID              **Guid,  OPTIONAL\r
-  OUT   UINT16                *Id,     OPTIONAL\r
-  OUT   VOID                  **Var,   OPTIONAL\r
-  OUT   UINTN                 *Size    OPTIONAL\r
-  );\r
-\r
-/**\r
-  Finds a count of the variables/maps in the List.\r
-\r
-  @param List              List of variables\r
-\r
-  @return                  The number of map count.\r
-**/\r
-UINTN\r
-EFIAPI\r
-EfiLibHiiVariablePackListGetMapCnt (\r
-  IN    EFI_HII_VARIABLE_PACK_LIST   *List\r
-  );\r
-  \r
-/**\r
-  type definition for the callback to be \r
-  used with EfiLibHiiVariablePackListForEachVar().\r
-\r
-  @param Id                Variable/Map ID\r
-  @param Name              Name of the variable/map\r
-  @param Guid              GUID of the variable/map\r
-  @param Var               Pointer to the variable/map\r
-  @param Size              Size of the variable/map in bytes\r
-**/\r
-typedef VOID (EFI_LIB_HII_VARIABLE_PACK_LIST_CALLBACK) (\r
-  IN CHAR16                   *Name,\r
-  IN EFI_GUID                 *Guid,\r
-  IN UINT16                   Id,\r
-  IN VOID                     *Var,\r
-  IN UINTN                    Size\r
-  );\r
-\r
-/**\r
-  Will iterate all variable/maps as appearing \r
-  in List and for each, it will call the Callback.\r
-\r
-  @param List              List of variables\r
-  @param Callback          Routine to be called for each iterated variable.\r
-**/\r
-VOID\r
-EFIAPI\r
-EfiLibHiiVariablePackListForEachVar (\r
-  IN    EFI_HII_VARIABLE_PACK_LIST               *List,\r
-  IN    EFI_LIB_HII_VARIABLE_PACK_LIST_CALLBACK  *Callback\r
-  );\r
\r
-/**\r
-  Finds a variable form List given \r
-  the order number as appears in the List.\r
-\r
-  @param Idx               The index of the variable/map to retrieve\r
-  @param List              List of variables\r
-  @param Name              Name of the variable/map\r
-  @param Guid              GUID of the variable/map\r
-  @param Id                Id of the variable/map\r
-  @param Var               Pointer to the variable/map\r
-  @param Size              Size of the variable/map in bytes\r
-\r
-  @return EFI_SUCCESS      Variable is found, OUT parameters are valid\r
-  @return EFI_NOT_FOUND    Variable is not found, OUT parameters are not valid\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiLibHiiVariablePackListGetMapByIdx (\r
-  IN    UINTN                         Idx,  \r
-  IN    EFI_HII_VARIABLE_PACK_LIST    *List,  \r
-  OUT   CHAR16                        **Name,  OPTIONAL\r
-  OUT   EFI_GUID                      **Guid,  OPTIONAL\r
-  OUT   UINT16                        *Id,     OPTIONAL\r
-  OUT   VOID                          **Var,\r
-  OUT   UINTN                         *Size\r
-  );\r
\r
-/**\r
-  Finds a variable form List given the \r
-  order number as appears in the List.\r
-\r
-  @param Id                The ID of the variable/map to retrieve\r
-  @param List              List of variables\r
-  @param Name              Name of the variable/map\r
-  @param Guid              GUID of the variable/map\r
-  @param Var               Pointer to the variable/map\r
-  @param Size              Size of the variable/map in bytes\r
-\r
-  @retval EFI_SUCCESS      Variable is found, OUT parameters are valid\r
-  @retval EFI_NOT_FOUND    Variable is not found, OUT parameters are not valid\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiLibHiiVariablePackListGetMapById (\r
-  IN    UINT16                        Id,  \r
-  IN    EFI_HII_VARIABLE_PACK_LIST    *List,\r
-  OUT   CHAR16                        **Name,  OPTIONAL\r
-  OUT   EFI_GUID                      **Guid,  OPTIONAL\r
-  OUT   VOID                          **Var,\r
-  OUT   UINTN                         *Size\r
-  );\r
-\r
-/**\r
-  Finds a variable form EFI_HII_VARIABLE_PACK_LIST given name and GUID.\r
-\r
-  @param List              List of variables\r
-  @param Name              Name of the variable/map to be found\r
-  @param Guid              GUID of the variable/map to be found\r
-  @param Id                Id of the variable/map to be found\r
-  @param Var               Pointer to the variable/map found\r
-  @param Size              Size of the variable/map in bytes found\r
-\r
-  @retval EFI_SUCCESS      variable is found, OUT parameters are valid\r
-  @retval EFI_NOT_FOUND    variable is not found, OUT parameters are not valid\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiLibHiiVariablePackListGetMap (\r
-  IN    EFI_HII_VARIABLE_PACK_LIST   *List,\r
-  IN    CHAR16                       *Name,\r
-  IN    EFI_GUID                     *Guid,\r
-  OUT   UINT16                       *Id,\r
-  OUT   VOID                         **Var, \r
-  OUT   UINTN                        *Size\r
-  );\r
-\r
-/**\r
-  Finds out if a variable of specific Name/Guid/Size exists in NV. \r
-  If it does, it will retrieve it into the Var. \r
-\r
-  @param Name              Parameters of the variable to retrieve. Must match exactly.\r
-  @param Guid              Parameters of the variable to retrieve. Must match exactly.\r
-  @param Size              Parameters of the variable to retrieve. Must match exactly.\r
-  @param Var               Variable will be retrieved into buffer pointed by this pointer.\r
-                           If pointing to NULL, the buffer will be allocated. Caller is responsible for releasing the buffer.\r
-\r
-  @retval EFI_SUCCESS      The variable of exact Name/Guid/Size parameters was retrieved and written to Var.\r
-  @retval EFI_NOT_FOUND    The variable of this Name/Guid was not found in the NV.\r
-  @retval EFI_LOAD_ERROR   The variable in the NV was of different size, or NV API returned error.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiLibHiiVariableRetrieveFromNv (\r
-  IN  CHAR16                     *Name,\r
-  IN  EFI_GUID                   *Guid,\r
-  IN  UINTN                      Size,\r
-  OUT VOID                       **Var\r
-  );\r
-\r
-/**\r
-  Overrrides the variable with NV data if found.\r
-  But it only does it if the Name ends with specified Suffix.\r
-  For example, if Suffix="MyOverride" and the Name="XyzSetupMyOverride",\r
-  the Suffix matches the end of Name, so the variable will be loaded from NV\r
-  provided the variable exists and the GUID and Size matches.\r
-\r
-  @param Suffix            Suffix the Name should end with.\r
-  @param Name              Name of the variable to retrieve.\r
-  @param Guid              Guid of the variable to retrieve.\r
-  @param Size              Parameters of the variable to retrieve.\r
-  @param Var               Variable will be retrieved into this buffer.\r
-                           Caller is responsible for providing storage of exactly Size size in bytes.\r
-\r
-  @retval EFI_SUCCESS           The variable was overriden with NV variable of same Name/Guid/Size.\r
-  @retval EFI_INVALID_PARAMETER The name of the variable does not end with <Suffix>.\r
-  @retval EFI_NOT_FOUND         The variable of this Name/Guid was not found in the NV.\r
-  @retval EFI_LOAD_ERROR        The variable in the NV was of different size, or NV API returned error.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiLibHiiVariableOverrideIfSuffix (\r
-  IN  CHAR16                 *Suffix,\r
-  IN  CHAR16                 *Name,\r
-  IN  EFI_GUID               *Guid,\r
-  IN  UINTN                   Size,\r
-  OUT VOID                   *Var\r
-  );\r
-\r
-/**\r
-  Overrrides the variable with NV data if found.\r
-  But it only does it if the NV contains the same variable with Name is appended with Suffix.  \r
-  For example, if Suffix="MyOverride" and the Name="XyzSetup",\r
-  the Suffix will be appended to the end of Name, and the variable with Name="XyzSetupMyOverride"\r
-  will be loaded from NV provided the variable exists and the GUID and Size matches.\r
-\r
-  @param Suffix            Suffix the variable will be appended with.\r
-  @param Name              Parameters of the Name variable to retrieve.\r
-  @param Guid              Parameters of the Guid variable to retrieve.\r
-  @param Size              Parameters of the Size variable to retrieve.\r
-  @param Var               Variable will be retrieved into this buffer.\r
-                           Caller is responsible for providing storage of exactly Size size in bytes.\r
-\r
-  @retval EFI_SUCCESS      The variable was overriden with NV variable of same Name/Guid/Size.\r
-  @retval EFI_NOT_FOUND    The variable of this Name/Guid was not found in the NV.\r
-  @retval EFI_LOAD_ERROR   The variable in the NV was of different size, or NV API returned error.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiLibHiiVariableOverrideBySuffix (\r
-  IN  CHAR16                 *Suffix,\r
-  IN  CHAR16                 *Name,\r
-  IN  EFI_GUID               *Guid,\r
-  IN  UINTN                   Size,\r
-  OUT VOID                   *Var\r
-  );\r
-\r
-#endif\r