]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Sample/Tools/Source/HiiPack/IfrParse.h
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Tools / Source / HiiPack / IfrParse.h
diff --git a/EdkCompatibilityPkg/Sample/Tools/Source/HiiPack/IfrParse.h b/EdkCompatibilityPkg/Sample/Tools/Source/HiiPack/IfrParse.h
new file mode 100644 (file)
index 0000000..6a2a597
--- /dev/null
@@ -0,0 +1,267 @@
+/*++\r
+\r
+Copyright (c) 2004 - 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
+  IfrParse.h\r
+\r
+Abstract:\r
+\r
+  Prototypes and defines for the IFR parsing services.\r
+\r
+--*/\r
+\r
+#ifndef _IFR_PARSE_H_\r
+#define _IFR_PARSE_H_\r
+\r
+#define DEFAULT_HII_PACK_FILENAME_EXTENSION ".hpk"\r
+//\r
+// When we parse IFR, we'll keep the IFR in a linked list of\r
+// these.\r
+//\r
+typedef struct _IFR_PARSE_ENTRY {\r
+  struct _IFR_PARSE_ENTRY *Next;\r
+  int                     Tag;  // for debugging\r
+  EFI_IFR_OP_HEADER       *RawIfrHeader;\r
+  //\r
+  // GUIDs for variable storage\r
+  //\r
+  EFI_GUID                *VarStoreGuid1;\r
+  char                    *VarStoreName1;\r
+  EFI_GUID                *VarStoreGuid2;\r
+  char                    *VarStoreName2;\r
+} IFR_PARSE_ENTRY;\r
+\r
+typedef struct _IFR_PARSE_CONTEXT {\r
+  struct _IFR_PARSE_CONTEXT *Next;\r
+  EFI_HII_IFR_PACK          *PackHeader;\r
+  char                      *IfrBufferStart;\r
+  char                      *CurrentPos;\r
+  long                      IfrBufferLen;\r
+  int                       Handle;\r
+  IFR_PARSE_ENTRY           *Ifr;\r
+  IFR_PARSE_ENTRY           *LastIfr;\r
+  IFR_PARSE_ENTRY           *CurrentIfr;\r
+  FILE                      *OutFptr;\r
+  CHAR16                    *Language;\r
+  EFI_GUID                  *FormsetGuid;\r
+  EFI_GUID                  NullGuid;     // for use until we set the Guid field correctly\r
+  EFI_GUID                  PackageGuid;  // from the PackageGuid in the HII data table\r
+} IFR_PARSE_CONTEXT;\r
+\r
+STATUS\r
+IfrGetVarPack (\r
+  int                   VarIndex,\r
+  EFI_HII_VARIABLE_PACK **VarPack\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  VarIndex  - GC_TODO: add argument description\r
+  VarPack   - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrParsePack (\r
+  int              Handle,\r
+  EFI_HII_IFR_PACK *PackHeader,\r
+  EFI_GUID         *PackageGuid\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Handle      - GC_TODO: add argument description\r
+  PackHeader  - GC_TODO: add argument description\r
+  PackageGuid - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrParseCheck (\r
+  char *Buffer,\r
+  long BufferSize\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Buffer      - GC_TODO: add argument description\r
+  BufferSize  - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrParseInit (\r
+  VOID\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  None\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrParseEnd (\r
+  VOID\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  None\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrParseDump (\r
+  int    Handle,\r
+  CHAR16 *Language,\r
+  FILE   *OutFptr\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Handle    - GC_TODO: add argument description\r
+  Language  - GC_TODO: add argument description\r
+  OutFptr   - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrSetDefaults (\r
+  int MfgDefaults\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  MfgDefaults - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrGetIfrPack (\r
+  int              Handle,\r
+  EFI_HII_IFR_PACK **PackHeader,\r
+  EFI_GUID         *FormsetGuid\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Handle      - GC_TODO: add argument description\r
+  PackHeader  - GC_TODO: add argument description\r
+  FormsetGuid - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATUS\r
+IfrReferencesVarPack (\r
+  int                   IfrHandle,\r
+  EFI_HII_VARIABLE_PACK *VarPack\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  GC_TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  IfrHandle - GC_TODO: add argument description\r
+  VarPack   - GC_TODO: add argument description\r
+\r
+Returns:\r
+\r
+  GC_TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+#endif // #ifndef _IFR_PARSE_H_\r