--- /dev/null
+/*++\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