]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrLibrary.h
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / Dxe / UefiEfiIfrSupportLib / UefiIfrLibrary.h
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrLibrary.h b/EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrLibrary.h
deleted file mode 100644 (file)
index 3de0efb..0000000
+++ /dev/null
@@ -1,1342 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-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
-Module Name:\r
-\r
-  UefiIfrLibrary.h\r
-\r
-Abstract:\r
-\r
-  The file contain all library function for Ifr Operations.\r
-\r
---*/\r
-\r
-#ifndef _IFRLIBRARY_H\r
-#define _IFRLIBRARY_H\r
-\r
-#include "Tiano.h"\r
-#include "EfiDriverLib.h"\r
-#include "TianoHii.h"\r
-\r
-#include EFI_PROTOCOL_DEFINITION (HiiFont)\r
-#include EFI_PROTOCOL_DEFINITION (HiiImage)\r
-#include EFI_PROTOCOL_DEFINITION (HiiString)\r
-#include EFI_PROTOCOL_DEFINITION (HiiDatabase)\r
-#include EFI_PROTOCOL_DEFINITION (HiiConfigRouting)\r
-#include EFI_PROTOCOL_DEFINITION (HiiConfigAccess)\r
-#include EFI_PROTOCOL_DEFINITION (FormBrowser2)\r
-#include EFI_PROTOCOL_DEFINITION (SimpleTextOut)\r
-\r
-#include EFI_GUID_DEFINITION (GlobalVariable)\r
-\r
-#define IFR_LIB_DEFAULT_STRING_SIZE     0x200\r
-\r
-//\r
-// The architectural variable "Lang" and "LangCodes" are deprecated in UEFI\r
-// specification. While, UEFI specification also states that these deprecated\r
-// variables may be provided for backwards compatibility.\r
-// If "LANG_SUPPORT" is defined, "Lang" and "LangCodes" will be produced;\r
-// If "LANG_SUPPORT" is undefined, "Lang" and "LangCodes" will not be produced.\r
-//\r
-#define LANG_SUPPORT\r
-\r
-#define EFI_LANGUAGE_VARIABLE           L"Lang"\r
-#define EFI_LANGUAGE_CODES_VARIABLE     L"LangCodes"\r
-\r
-#define UEFI_LANGUAGE_VARIABLE          L"PlatformLang"\r
-#define UEFI_LANGUAGE_CODES_VARIABLE    L"PlatformLangCodes"\r
-\r
-//\r
-// Limited buffer size recommended by RFC4646 (4.3.  Length Considerations)\r
-// (42 characters plus a NULL terminator)\r
-//\r
-#define RFC_3066_ENTRY_SIZE             (42 + 1)\r
-#define ISO_639_2_ENTRY_SIZE            3\r
-\r
-#define INVALID_VARSTORE_ID             0\r
-\r
-#define QUESTION_FLAGS              (EFI_IFR_FLAG_READ_ONLY | EFI_IFR_FLAG_CALLBACK | EFI_IFR_FLAG_RESET_REQUIRED | EFI_IFR_FLAG_OPTIONS_ONLY)\r
-#define QUESTION_FLAGS_MASK         (~QUESTION_FLAGS)\r
-\r
-extern EFI_GUID                  mIfrVendorGuid;\r
-extern EFI_HII_DATABASE_PROTOCOL *gIfrLibHiiDatabase;\r
-extern EFI_HII_STRING_PROTOCOL   *gIfrLibHiiString;\r
-\r
-#pragma pack(1)\r
-typedef struct {\r
-  EFI_STRING_ID       StringToken;\r
-  EFI_IFR_TYPE_VALUE  Value;\r
-  UINT8               Flags;\r
-} IFR_OPTION;\r
-#pragma pack()\r
-\r
-#pragma pack(1)\r
-typedef struct {\r
-  VENDOR_DEVICE_PATH             VendorDevicePath;\r
-  UINT32                         Reserved;\r
-  UINT64                         UniqueId;\r
-} HII_VENDOR_DEVICE_PATH_NODE;\r
-#pragma pack()\r
-\r
-typedef struct {\r
-  HII_VENDOR_DEVICE_PATH_NODE    Node;\r
-  EFI_DEVICE_PATH_PROTOCOL       End;\r
-} HII_VENDOR_DEVICE_PATH;\r
-\r
-typedef struct {\r
-  //\r
-  // Buffer size allocated for Data.\r
-  //\r
-  UINT32                BufferSize;\r
-\r
-  //\r
-  // Offset in Data to append the newly created opcode binary.\r
-  // It will be adjusted automatically in Create***OpCode(), and should be\r
-  // initialized to 0 before invocation of a serial of Create***OpCode()\r
-  //\r
-  UINT32                Offset;\r
-\r
-  //\r
-  // The destination buffer for created op-codes\r
-  //\r
-  UINT8                 *Data;\r
-} EFI_HII_UPDATE_DATA;\r
-\r
-VOID\r
-LocateHiiProtocols (\r
-  VOID\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This function locate Hii relative protocols for later usage.\r
-\r
-Arguments:\r
-  None.\r
-\r
-Returns:\r
-  None.\r
-\r
---*/\r
-;\r
-\r
-//\r
-// Exported Library functions\r
-//\r
-EFI_STATUS\r
-CreateEndOpCode (\r
-  IN OUT EFI_HII_UPDATE_DATA *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_END_OP opcode.\r
-\r
-Arguments:\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateDefaultOpCode (\r
-  IN     EFI_IFR_TYPE_VALUE  *Value,\r
-  IN     UINT8               Type,\r
-  IN OUT EFI_HII_UPDATE_DATA *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_DEFAULT_OP opcode.\r
-\r
-Arguments:\r
-  Value           - Value for the default\r
-  Type            - Type for the default\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateActionOpCode (\r
-  IN     EFI_QUESTION_ID      QuestionId,\r
-  IN     EFI_STRING_ID        Prompt,\r
-  IN     EFI_STRING_ID        Help,\r
-  IN     UINT8                QuestionFlags,\r
-  IN     EFI_STRING_ID        QuestionConfig,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_ACTION_OP opcode.\r
-\r
-Arguments:\r
-  QuestionId      - Question ID\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  QuestionConfig  - String ID for configuration\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateSubTitleOpCode (\r
-  IN      EFI_STRING_ID       Prompt,\r
-  IN      EFI_STRING_ID       Help,\r
-  IN      UINT8               Flags,\r
-  IN      UINT8               Scope,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_SUBTITLE_OP opcode.\r
-\r
-Arguments:\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  Flags           - Subtitle opcode flags\r
-  Scope           - Subtitle Scope bit\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateTextOpCode (\r
-  IN      EFI_STRING_ID       Prompt,\r
-  IN      EFI_STRING_ID       Help,\r
-  IN      EFI_STRING_ID       TextTwo,\r
-  IN OUT  EFI_HII_UPDATE_DATA *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_TEXT_OP opcode.\r
-\r
-Arguments:\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  TextTwo         - String ID for text two\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateGotoOpCode (\r
-  IN      EFI_FORM_ID         FormId,\r
-  IN      EFI_STRING_ID       Prompt,\r
-  IN      EFI_STRING_ID       Help,\r
-  IN      UINT8               QuestionFlags,\r
-  IN      EFI_QUESTION_ID     QuestionId,\r
-  IN OUT  EFI_HII_UPDATE_DATA *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_REF_OP opcode.\r
-\r
-Arguments:\r
-  FormId          - Destination Form ID\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  QuestionId      - Question ID\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateOneOfOptionOpCode (\r
-  IN     UINTN                OptionCount,\r
-  IN     IFR_OPTION           *OptionsList,\r
-  IN     UINT8                Type,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-CreateOneOfOpCode (\r
-  IN     EFI_QUESTION_ID      QuestionId,\r
-  IN     EFI_VARSTORE_ID      VarStoreId,\r
-  IN     UINT16               VarOffset,\r
-  IN     EFI_STRING_ID        Prompt,\r
-  IN     EFI_STRING_ID        Help,\r
-  IN     UINT8                QuestionFlags,\r
-  IN     UINT8                OneOfFlags,\r
-  IN     IFR_OPTION           *OptionsList,\r
-  IN     UINTN                OptionCount,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_ONE_OF_OP opcode.\r
-\r
-Arguments:\r
-  QuestionId      - Question ID\r
-  VarStoreId      - Storage ID\r
-  VarOffset       - Offset in Storage\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  OneOfFlags      - Flags for oneof opcode\r
-  OptionsList     - List of options\r
-  OptionCount     - Number of options in option list\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateOrderedListOpCode (\r
-  IN      EFI_QUESTION_ID     QuestionId,\r
-  IN      EFI_VARSTORE_ID     VarStoreId,\r
-  IN      UINT16              VarOffset,\r
-  IN      EFI_STRING_ID       Prompt,\r
-  IN      EFI_STRING_ID       Help,\r
-  IN      UINT8               QuestionFlags,\r
-  IN      UINT8               Flags,\r
-  IN      UINT8               DataType,\r
-  IN      UINT8               MaxContainers,\r
-  IN      IFR_OPTION          *OptionsList,\r
-  IN     UINTN                OptionCount,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_ORDERED_LIST_OP opcode.\r
-\r
-Arguments:\r
-  QuestionId      - Question ID\r
-  VarStoreId      - Storage ID\r
-  VarOffset       - Offset in Storage\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  Flags           - Flags for ordered list opcode\r
-  DataType        - Type for option value\r
-  MaxContainers   - Maximum count for options in this ordered list\r
-  OptionsList     - List of options\r
-  OptionCount     - Number of options in option list\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateCheckBoxOpCode (\r
-  IN      EFI_QUESTION_ID     QuestionId,\r
-  IN      EFI_VARSTORE_ID     VarStoreId,\r
-  IN      UINT16              VarOffset,\r
-  IN      EFI_STRING_ID       Prompt,\r
-  IN      EFI_STRING_ID       Help,\r
-  IN      UINT8               QuestionFlags,\r
-  IN      UINT8               CheckBoxFlags,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_CHECKBOX_OP opcode.\r
-\r
-Arguments:\r
-  QuestionId      - Question ID\r
-  VarStoreId      - Storage ID\r
-  VarOffset       - Offset in Storage\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  CheckBoxFlags   - Flags for checkbox opcode\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateNumericOpCode (\r
-  IN     EFI_QUESTION_ID     QuestionId,\r
-  IN     EFI_VARSTORE_ID     VarStoreId,\r
-  IN     UINT16              VarOffset,\r
-  IN     EFI_STRING_ID       Prompt,\r
-  IN     EFI_STRING_ID       Help,\r
-  IN     UINT8               QuestionFlags,\r
-  IN     UINT8               NumericFlags,\r
-  IN     UINT64              Minimum,\r
-  IN     UINT64              Maximum,\r
-  IN     UINT64              Step,\r
-  IN     UINT64              Default,\r
-  IN OUT EFI_HII_UPDATE_DATA *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_NUMERIC_OP opcode.\r
-\r
-Arguments:\r
-  QuestionId      - Question ID\r
-  VarStoreId      - Storage ID\r
-  VarOffset       - Offset in Storage\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  NumericFlags    - Flags for numeric opcode\r
-  Minimum         - Numeric minimum value\r
-  Maximum         - Numeric maximum value\r
-  Step            - Numeric step for edit\r
-  Default         - Numeric default value\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateStringOpCode (\r
-  IN      EFI_QUESTION_ID     QuestionId,\r
-  IN      EFI_VARSTORE_ID     VarStoreId,\r
-  IN      UINT16              VarOffset,\r
-  IN      EFI_STRING_ID       Prompt,\r
-  IN      EFI_STRING_ID       Help,\r
-  IN      UINT8               QuestionFlags,\r
-  IN      UINT8               StringFlags,\r
-  IN      UINT8               MinSize,\r
-  IN      UINT8               MaxSize,\r
-  IN OUT EFI_HII_UPDATE_DATA  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create EFI_IFR_STRING_OP opcode.\r
-\r
-Arguments:\r
-  QuestionId      - Question ID\r
-  VarStoreId      - Storage ID\r
-  VarOffset       - Offset in Storage\r
-  Prompt          - String ID for Prompt\r
-  Help            - String ID for Help\r
-  QuestionFlags   - Flags in Question Header\r
-  StringFlags     - Flags for string opcode\r
-  MinSize         - String minimum length\r
-  MaxSize         - String maximum length\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateBannerOpCode (\r
-  IN      EFI_STRING_ID       Title,\r
-  IN      UINT16              LineNumber,\r
-  IN      UINT8               Alignment,\r
-  IN OUT  EFI_HII_UPDATE_DATA *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Create GUIDed opcode for banner.\r
-\r
-Arguments:\r
-  Title           - String ID for title\r
-  LineNumber      - Line number for this banner\r
-  Alignment       - Alignment for this banner, left, center or right\r
-  Data            - Destination for the created opcode binary\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Opcode create success\r
-\r
---*/\r
-;\r
-\r
-EFI_HII_PACKAGE_LIST_HEADER *\r
-PreparePackageList (\r
-  IN UINTN                    NumberOfPackages,\r
-  IN EFI_GUID                 *GuidId,\r
-  ...\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Assemble EFI_HII_PACKAGE_LIST according to the passed in packages.\r
-\r
-Arguments:\r
-  NumberOfPackages  -  Number of packages.\r
-  GuidId            -  Package GUID.\r
-\r
-Returns:\r
-  Pointer of EFI_HII_PACKAGE_LIST_HEADER.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-CreateHiiDriverHandle (\r
-  OUT EFI_HANDLE               *DriverHandle\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  The HII driver handle passed in for HiiDatabase.NewPackageList() requires\r
-  that there should be DevicePath Protocol installed on it.\r
-  This routine create a virtual Driver Handle by installing a vendor device\r
-  path on it, so as to use it to invoke HiiDatabase.NewPackageList().\r
-\r
-Arguments:\r
-  DriverHandle - Handle to be returned\r
-\r
-Returns:\r
-  EFI_SUCCESS          - Handle destroy success.\r
-  EFI_OUT_OF_RESOURCES - Not enough memory.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-DestroyHiiDriverHandle (\r
-  IN EFI_HANDLE                 DriverHandle\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Destroy the Driver Handle created by CreateHiiDriverHandle().\r
-\r
-Arguments:\r
-  DriverHandle - Handle returned by CreateHiiDriverHandle()\r
-\r
-Returns:\r
-  EFI_SUCCESS - Handle destroy success.\r
-  other       - Handle destroy fail.\r
-\r
---*/\r
-;\r
-\r
-EFI_HII_HANDLE\r
-DevicePathToHiiHandle (\r
-  IN EFI_HII_DATABASE_PROTOCOL  *HiiDatabase,\r
-  IN EFI_DEVICE_PATH_PROTOCOL   *DevicePath\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Find HII Handle associated with given Device Path.\r
-\r
-Arguments:\r
-  HiiDatabase - Point to EFI_HII_DATABASE_PROTOCOL instance.\r
-  DevicePath  - Device Path associated with the HII package list handle.\r
-\r
-Returns:\r
-  Handle - HII package list Handle associated with the Device Path.\r
-  NULL   - Hii Package list handle is not found.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ExtractDefault(\r
-  IN VOID                         *Buffer,\r
-  IN UINTN                        *BufferSize,\r
-  UINTN                           Number,\r
-  ...\r
-  )\r
-/*++\r
-\r
-  Routine Description:\r
-    Configure the buffer accrording to ConfigBody strings.\r
-\r
-  Arguments:\r
-    DefaultId             - the ID of default.\r
-    Buffer                - the start address of buffer.\r
-    BufferSize            - the size of buffer.\r
-    Number                - the number of the strings.\r
-\r
-  Returns:\r
-    EFI_BUFFER_TOO_SMALL  - the BufferSize is too small to operate.\r
-    EFI_INVALID_PARAMETER - Buffer is NULL or BufferSize is 0.\r
-    EFI_SUCCESS           - Operation successful.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ConstructConfigAltResp (\r
-  IN  EFI_STRING                  ConfigRequest,  OPTIONAL\r
-  OUT EFI_STRING                  *Progress,\r
-  OUT EFI_STRING                  *ConfigAltResp,\r
-  IN  EFI_GUID                    *Guid,\r
-  IN  CHAR16                      *Name,\r
-  IN  EFI_HANDLE                  *DriverHandle,\r
-  IN  VOID                        *BufferStorage,\r
-  IN  UINTN                       BufferStorageSize,\r
-  IN  VOID                        *BlockNameArray, OPTIONAL\r
-  IN  UINTN                       NumberAltCfg,\r
-  ...\r
-//IN  UINT16                      AltCfgId,\r
-//IN  VOID                        *DefaultValueArray,\r
-  )\r
-/*++\r
-\r
-  Routine Description:\r
-\r
-  Construct <ConfigAltResp> for a buffer storage.\r
-\r
-  Arguments:\r
-    ConfigRequest         - The Config request string. If set to NULL, all the\r
-                            configurable elements will be extracted from BlockNameArray.\r
-    ConfigAltResp         - The returned <ConfigAltResp>.\r
-    Progress              - On return, points to a character in the Request.\r
-    Guid                  - GUID of the buffer storage.\r
-    Name                  - Name of the buffer storage.\r
-    DriverHandle          - The DriverHandle which is used to invoke HiiDatabase\r
-                            protocol interface NewPackageList().\r
-    BufferStorage         - Content of the buffer storage.\r
-    BufferStorageSize     - Length in bytes of the buffer storage.\r
-    BlockNameArray        - Array generated by VFR compiler.\r
-    NumberAltCfg          - Number of Default value array generated by VFR compiler.\r
-                            The sequential input parameters will be number of\r
-                            AltCfgId and DefaultValueArray pairs. When set to 0,\r
-                            there will be no <AltResp>.\r
-\r
-  Returns:\r
-    EFI_OUT_OF_RESOURCES  - Run out of memory resource.\r
-    EFI_INVALID_PARAMETER - ConfigAltResp is NULL.\r
-    EFI_SUCCESS           - Operation successful.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ExtractGuidFromHiiHandle (\r
-  IN      EFI_HII_HANDLE      Handle,\r
-  OUT     EFI_GUID            *Guid\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Extract Hii package list GUID for given HII handle.\r
-\r
-Arguments:\r
-  HiiHandle     - Hii handle\r
-  Guid          - Package list GUID\r
-\r
-Returns:\r
-  EFI_SUCCESS   - Successfully extract GUID from Hii database.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ExtractClassFromHiiHandle (\r
-  IN      EFI_HII_HANDLE      Handle,\r
-  OUT     UINT16              *Class,\r
-  OUT     EFI_STRING_ID       *FormSetTitle,\r
-  OUT     EFI_STRING_ID       *FormSetHelp\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Extract formset class for given HII handle.\r
-\r
-Arguments:\r
-  HiiHandle       - Hii handle\r
-  Class           - Class of the formset\r
-  FormSetTitle    - Formset title string\r
-  FormSetHelp     - Formset help string\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Successfully extract Class for specified Hii handle.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ExtractClassGuidFromHiiHandle (\r
-  IN      EFI_HII_HANDLE      Handle,\r
-  OUT     UINT8               *NumberOfClassGuid,\r
-  OUT     EFI_GUID            **ClassGuid,\r
-  OUT     EFI_STRING_ID       *FormSetTitle,\r
-  OUT     EFI_STRING_ID       *FormSetHelp\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Extract formset ClassGuid for given HII handle.\r
-\r
-Arguments:\r
-  HiiHandle         - Hii handle\r
-  NumberOfClassGuid - Number of ClassGuid\r
-  ClassGuid         - Pointer to callee allocated buffer, an array of ClassGuid\r
-  FormSetTitle      - Formset title string\r
-  FormSetHelp       - Formset help string\r
-\r
-Returns:\r
-  EFI_SUCCESS     - Successfully extract Class for specified Hii handle.\r
-\r
---*/\r
-;\r
-\r
-VOID\r
-ToLower (\r
-  IN OUT CHAR16    *Str\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Converts the unicode character from uppercase to lowercase.\r
-\r
-Arguments:\r
-  Str        -  String to be converted\r
-\r
-Returns:\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-BufferToHexString (\r
-  IN OUT CHAR16    *Str,\r
-  IN UINT8         *Buffer,\r
-  IN UINTN         BufferSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Converts binary buffer to Unicode string in reversed byte order to BufToHexString().\r
-\r
-Arguments:\r
-  Str        -  String for output\r
-  Buffer     -  Binary buffer.\r
-  BufferSize -  Size of the buffer in bytes.\r
-\r
-Returns:\r
-  EFI_SUCCESS    -  The function completed successfully.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-HexStringToBuffer (\r
-  IN OUT UINT8         *Buffer,\r
-  IN OUT UINTN         *BufferSize,\r
-  IN CHAR16            *Str\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Converts Hex String to binary buffer in reversed byte order to HexStringToBuf().\r
-\r
-Arguments:\r
-    Buffer     - Pointer to buffer that receives the data.\r
-    BufferSize - Length in bytes of the buffer to hold converted data.\r
-                 If routine return with EFI_SUCCESS, containing length of converted data.\r
-                 If routine return with EFI_BUFFER_TOO_SMALL, containg length of buffer desired.\r
-    Str        - String to be converted from.\r
-\r
-Returns:\r
-  EFI_SUCCESS    -  The function completed successfully.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ConfigStringToUnicode (\r
-  IN OUT CHAR16                *UnicodeString,\r
-  IN OUT UINTN                 *StrBufferLen,\r
-  IN CHAR16                    *ConfigString\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Convert binary representation Config string (e.g. "0041004200430044") to the\r
-  original string (e.g. "ABCD"). Config string appears in <ConfigHdr> (i.e.\r
-  "&NAME=<string>"), or Name/Value pair in <ConfigBody> (i.e. "label=<string>").\r
-\r
-Arguments:\r
-  UnicodeString - Original Unicode string.\r
-  StrBufferLen  - On input: Length in bytes of buffer to hold the Unicode string.\r
-                  Includes tailing '\0' character.\r
-                  On output:\r
-                    If return EFI_SUCCESS, containing length of Unicode string buffer.\r
-                    If return EFI_BUFFER_TOO_SMALL, containg length of string buffer desired.\r
-  ConfigString  - Binary representation of Unicode String, <string> := (<HexCh>4)+\r
-\r
-Returns:\r
-  EFI_SUCCESS          - Routine success.\r
-  EFI_BUFFER_TOO_SMALL - The string buffer is too small.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-UnicodeToConfigString (\r
-  IN OUT CHAR16                *ConfigString,\r
-  IN OUT UINTN                 *StrBufferLen,\r
-  IN CHAR16                    *UnicodeString\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Convert Unicode string to binary representation Config string, e.g.\r
-  "ABCD" => "0041004200430044". Config string appears in <ConfigHdr> (i.e.\r
-  "&NAME=<string>"), or Name/Value pair in <ConfigBody> (i.e. "label=<string>").\r
-\r
-Arguments:\r
-  ConfigString  - Binary representation of Unicode String, <string> := (<HexCh>4)+\r
-  StrBufferLen  - On input: Length in bytes of buffer to hold the Unicode string.\r
-                  Includes tailing '\0' character.\r
-                  On output:\r
-                    If return EFI_SUCCESS, containing length of Unicode string buffer.\r
-                    If return EFI_BUFFER_TOO_SMALL, containg length of string buffer desired.\r
-  UnicodeString - Original Unicode string.\r
-\r
-Returns:\r
-  EFI_SUCCESS          - Routine success.\r
-  EFI_BUFFER_TOO_SMALL - The string buffer is too small.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ConstructConfigHdr (\r
-  IN OUT CHAR16                *ConfigHdr,\r
-  IN OUT UINTN                 *StrBufferLen,\r
-  IN EFI_GUID                  *Guid,\r
-  IN CHAR16                    *Name, OPTIONAL\r
-  IN EFI_HANDLE                *DriverHandle\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Construct <ConfigHdr> using routing information GUID/NAME/PATH.\r
-\r
-Arguments:\r
-  ConfigHdr    - Pointer to the ConfigHdr string.\r
-  StrBufferLen - On input: Length in bytes of buffer to hold the ConfigHdr string. Includes tailing '\0' character.\r
-                 On output:\r
-                    If return EFI_SUCCESS, containing length of ConfigHdr string buffer.\r
-                    If return EFI_BUFFER_TOO_SMALL, containg length of string buffer desired.\r
-  Guid         - Routing information: GUID.\r
-  Name         - Routing information: NAME.\r
-  DriverHandle  - Driver handle which contains the routing information: PATH.\r
-\r
-Returns:\r
-  EFI_SUCCESS          - Routine success.\r
-  EFI_BUFFER_TOO_SMALL - The ConfigHdr string buffer is too small.\r
-\r
---*/\r
-;\r
-\r
-BOOLEAN\r
-IsConfigHdrMatch (\r
-  IN EFI_STRING                ConfigString,\r
-  IN EFI_GUID                  *StorageGuid, OPTIONAL\r
-  IN CHAR16                    *StorageName  OPTIONAL\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Determines if the Routing data (Guid and Name) is correct in <ConfigHdr>.\r
-\r
-Arguments:\r
-  ConfigString - Either <ConfigRequest> or <ConfigResp>.\r
-  StorageGuid  - GUID of the storage.\r
-  StorageName  - Name of the stoarge.\r
-\r
-Returns:\r
-  TRUE         - Routing information is correct in ConfigString.\r
-  FALSE        - Routing information is incorrect in ConfigString.\r
-\r
---*/\r
-;\r
-\r
-BOOLEAN\r
-FindBlockName (\r
-  IN OUT CHAR16                *String,\r
-  UINTN                        Offset,\r
-  UINTN                        Width\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Search BlockName "&OFFSET=Offset&WIDTH=Width" in a string.\r
-\r
-Arguments:\r
-  String       - The string to be searched in.\r
-  Offset       - Offset in BlockName.\r
-  Width        - Width in BlockName.\r
-\r
-Returns:\r
-  TRUE         - Block name found.\r
-  FALSE        - Block name not found.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-GetBrowserData (\r
-  EFI_GUID                   *VariableGuid, OPTIONAL\r
-  CHAR16                     *VariableName, OPTIONAL\r
-  UINTN                      *BufferSize,\r
-  UINT8                      *Buffer\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This routine is invoked by ConfigAccess.Callback() to retrived uncommitted data from Form Browser.\r
-\r
-Arguments:\r
-  VariableGuid  - An optional field to indicate the target variable GUID name to use.\r
-  VariableName  - An optional field to indicate the target human-readable variable name.\r
-  BufferSize    - On input: Length in bytes of buffer to hold retrived data.\r
-                  On output:\r
-                    If return EFI_BUFFER_TOO_SMALL, containg length of buffer desired.\r
-  Buffer        - Buffer to hold retrived data.\r
-\r
-Returns:\r
-  EFI_SUCCESS          - Routine success.\r
-  EFI_BUFFER_TOO_SMALL - The intput buffer is too small.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-GetHiiHandles (\r
-  IN OUT UINTN                     *HandleBufferLength,\r
-  OUT    EFI_HII_HANDLE            **HiiHandleBuffer\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Determines the handles that are currently active in the database.\r
-  It's the caller's responsibility to free handle buffer.\r
-\r
-Arguments:\r
-  HiiDatabase           - A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
-  HandleBufferLength    - On input, a pointer to the length of the handle buffer. On output,\r
-                          the length of the handle buffer that is required for the handles found.\r
-  HiiHandleBuffer       - Pointer to an array of Hii Handles returned.\r
-\r
-Returns:\r
-  EFI_SUCCESS           - Get an array of Hii Handles successfully.\r
-  EFI_INVALID_PARAMETER - Hii is NULL.\r
-  EFI_NOT_FOUND         - Database not found.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-SetBrowserData (\r
-  EFI_GUID                   *VariableGuid, OPTIONAL\r
-  CHAR16                     *VariableName, OPTIONAL\r
-  UINTN                      BufferSize,\r
-  UINT8                      *Buffer,\r
-  CHAR16                     *RequestElement  OPTIONAL\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This routine is invoked by ConfigAccess.Callback() to update uncommitted data of Form Browser.\r
-\r
-Arguments:\r
-  VariableGuid   - An optional field to indicate the target variable GUID name to use.\r
-  VariableName   - An optional field to indicate the target human-readable variable name.\r
-  BufferSize     - Length in bytes of buffer to hold retrived data.\r
-  Buffer         - Buffer to hold retrived data.\r
-  RequestElement - An optional field to specify which part of the buffer data\r
-                   will be send back to Browser. If NULL, the whole buffer of\r
-                   data will be committed to Browser.\r
-                   <RequestElement> ::= &OFFSET=<Number>&WIDTH=<Number>*\r
-\r
-Returns:\r
-  EFI_SUCCESS  - Routine success.\r
-  Other        - Updating Browser uncommitted data failed.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-ConvertRfc3066LanguageToIso639Language (\r
-  CHAR8   *LanguageRfc3066,\r
-  CHAR8   *LanguageIso639\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Convert language code from RFC3066 to ISO639-2.\r
-\r
-Arguments:\r
-  LanguageRfc3066 - RFC3066 language code.\r
-  LanguageIso639  - ISO639-2 language code.\r
-\r
-Returns:\r
-  EFI_SUCCESS   - Language code converted.\r
-  EFI_NOT_FOUND - Language code not found.\r
-\r
---*/\r
-;\r
-\r
-CHAR8 *\r
-Rfc3066ToIso639 (\r
-  CHAR8  *SupportedLanguages\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Convert language code list from RFC3066 to ISO639-2, e.g. "en-US;fr-FR" will\r
-  be converted to "engfra".\r
-\r
-Arguments:\r
-  SupportedLanguages - The RFC3066 language list.\r
-\r
-Returns:\r
-  The ISO639-2 language list.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-GetCurrentLanguage (\r
-  OUT     CHAR8               *Lang\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Determine what is the current language setting\r
-\r
-Arguments:\r
-  Lang      - Pointer of system language\r
-\r
-Returns:\r
-  Status code\r
-\r
---*/\r
-;\r
-\r
-VOID\r
-GetNextLanguage (\r
-  IN OUT CHAR8      **LangCode,\r
-  OUT CHAR8         *Lang\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Get next language from language code list.\r
-\r
-Arguments:\r
-  LangCode - The language code.\r
-  Lang     - Returned language.\r
-\r
-Returns:\r
-  None.\r
-\r
---*/\r
-;\r
-\r
-CHAR8 *\r
-GetSupportedLanguages (\r
-  IN EFI_HII_HANDLE           HiiHandle\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This function returns the list of supported languages, in the format specified\r
-  in UEFI specification Appendix M.\r
-\r
-Arguments:\r
-  HiiHandle  - The HII package list handle.\r
-\r
-Returns:\r
-  The supported languages.\r
-\r
---*/\r
-;\r
-\r
-UINT16\r
-GetSupportedLanguageNumber (\r
-  IN EFI_HII_HANDLE           HiiHandle\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This function returns the number of supported languages\r
-\r
-Arguments:\r
-  HiiHandle  - The HII package list handle.\r
-\r
-Returns:\r
-  The  number of supported languages.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-GetStringFromHandle (\r
-  IN  EFI_HII_HANDLE                  HiiHandle,\r
-  IN  EFI_STRING_ID                   StringId,\r
-  OUT EFI_STRING                      *String\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Get string specified by StringId form the HiiHandle.\r
-\r
-Arguments:\r
-  HiiHandle     - The HII handle of package list.\r
-  StringId      - The String ID.\r
-  String        - The output string.\r
-\r
-Returns:\r
-  EFI_NOT_FOUND         - String is not found.\r
-  EFI_SUCCESS           - Operation is successful.\r
-  EFI_OUT_OF_RESOURCES  - There is not enought memory in the system.\r
-  EFI_INVALID_PARAMETER - The String is NULL.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-GetStringFromToken (\r
-  IN  EFI_GUID                        *ProducerGuid,\r
-  IN  EFI_STRING_ID                   StringId,\r
-  OUT EFI_STRING                      *String\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Get the string given the StringId and String package Producer's Guid.\r
-\r
-Arguments:\r
-  ProducerGuid  - The Guid of String package list.\r
-  StringId      - The String ID.\r
-  String        - The output string.\r
-\r
-Returns:\r
-  EFI_NOT_FOUND         - String is not found.\r
-  EFI_SUCCESS           - Operation is successful.\r
-  EFI_OUT_OF_RESOURCES  - There is not enought memory in the system.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibNewString (\r
-  IN  EFI_HII_HANDLE                  PackageList,\r
-  OUT EFI_STRING_ID                   *StringId,\r
-  IN  CONST EFI_STRING                String\r
-  )\r
-/*++\r
-\r
-  Routine Description:\r
-    This function adds the string into String Package of each language.\r
-\r
-  Arguments:\r
-    PackageList       - Handle of the package list where this string will be added.\r
-    StringId          - On return, contains the new strings id, which is unique within PackageList.\r
-    String            - Points to the new null-terminated string.\r
-\r
-  Returns:\r
-    EFI_SUCCESS            - The new string was added successfully.\r
-    EFI_NOT_FOUND          - The specified PackageList could not be found in database.\r
-    EFI_OUT_OF_RESOURCES   - Could not add the string due to lack of resources.\r
-    EFI_INVALID_PARAMETER  - String is NULL or StringId is NULL is NULL.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibGetString (\r
-  IN  EFI_HII_HANDLE                  PackageList,\r
-  IN  EFI_STRING_ID                   StringId,\r
-  OUT EFI_STRING                      String,\r
-  IN  OUT UINTN                       *StringSize\r
-  )\r
-/*++\r
-\r
-  Routine Description:\r
-    This function try to retrieve string from String package of current language.\r
-    If fail, it try to retrieve string from String package of first language it support.\r
-\r
-  Arguments:\r
-    PackageList       - The package list in the HII database to search for the specified string.\r
-    StringId          - The string's id, which is unique within PackageList.\r
-    String            - Points to the new null-terminated string.\r
-    StringSize        - On entry, points to the size of the buffer pointed to by String, in bytes. On return,\r
-                        points to the length of the string, in bytes.\r
-\r
-  Returns:\r
-    EFI_SUCCESS            - The string was returned successfully.\r
-    EFI_NOT_FOUND          - The string specified by StringId is not available.\r
-    EFI_BUFFER_TOO_SMALL   - The buffer specified by StringLength is too small to hold the string.\r
-    EFI_INVALID_PARAMETER  - The String or StringSize was NULL.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibSetString (\r
-  IN EFI_HII_HANDLE                   PackageList,\r
-  IN EFI_STRING_ID                    StringId,\r
-  IN CONST EFI_STRING                 String\r
-  )\r
-/*++\r
-\r
-  Routine Description:\r
-    This function updates the string in String package of current language.\r
-\r
-  Arguments:\r
-    PackageList       - The package list containing the strings.\r
-    StringId          - The string's id, which is unique within PackageList.\r
-    String            - Points to the new null-terminated string.\r
-\r
-  Returns:\r
-    EFI_SUCCESS            - The string was updated successfully.\r
-    EFI_NOT_FOUND          - The string specified by StringId is not in the database.\r
-    EFI_INVALID_PARAMETER  - The String was NULL.\r
-    EFI_OUT_OF_RESOURCES   - The system is out of resources to accomplish the task.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibCreatePopUp (\r
-  IN  UINTN                       NumberOfLines,\r
-  OUT EFI_INPUT_KEY               *KeyValue,\r
-  IN  CHAR16                      *String,\r
-  ...\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Draw a dialog and return the selected key.\r
-\r
-Arguments:\r
-  NumberOfLines     - The number of lines for the dialog box\r
-  KeyValue          - The EFI_KEY value returned if HotKey is TRUE..\r
-  String            - Pointer to the first string in the list\r
-  ...               - A series of (quantity == NumberOfLines) text strings which\r
-                      will be used to construct the dialog box\r
-\r
-Returns:\r
-  EFI_SUCCESS           - Displayed dialog and received user interaction\r
-  EFI_INVALID_PARAMETER - One of the parameters was invalid.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibInitUpdateData (\r
-  IN OUT EFI_HII_UPDATE_DATA   *UpdateData,\r
-  IN UINT32                    BufferSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This function initialize the data structure for dynamic opcode.\r
-\r
-Arguments:\r
-  UpdateData     - The adding data;\r
-  BufferSize     - Length of the buffer to fill dynamic opcodes.\r
-\r
-Returns:\r
-  EFI_SUCCESS           - Update data is initialized.\r
-  EFI_INVALID_PARAMETER - UpdateData is NULL.\r
-  EFI_OUT_OF_RESOURCES  - No enough memory to allocate.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibFreeUpdateData (\r
-  IN EFI_HII_UPDATE_DATA       *UpdateData\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This function free the resource of update data.\r
-\r
-Arguments:\r
-  UpdateData     - The adding data;\r
-\r
-Returns:\r
-  EFI_SUCCESS           - Resource in UpdateData is released.\r
-  EFI_INVALID_PARAMETER - UpdateData is NULL.\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-IfrLibUpdateForm (\r
-  IN EFI_HII_HANDLE            Handle,\r
-  IN EFI_GUID                  *FormSetGuid, OPTIONAL\r
-  IN EFI_FORM_ID               FormId,\r
-  IN UINT16                    Label,\r
-  IN BOOLEAN                   Insert,\r
-  IN EFI_HII_UPDATE_DATA       *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This function allows the caller to update a form that has\r
-  previously been registered with the EFI HII database.\r
-\r
-Arguments:\r
-  Handle       - Hii Handle\r
-  FormSetGuid  - The formset should be updated.\r
-  FormId       - The form should be updated.\r
-  Label        - Update information starting immediately after this label in the IFR\r
-  Insert       - If TRUE and Data is not NULL, insert data after Label.\r
-                 If FALSE, replace opcodes between two labels with Data.\r
-  Data         - The adding data; If NULL, remove opcodes between two Label.\r
-\r
-Returns:\r
-  EFI_SUCCESS  - Update success.\r
-  Other        - Update fail.\r
-\r
---*/\r
-;\r
-#endif\r