audk/EdkCompatibilityPkg/Sample/Tools/Source/HiiPack/IfrParse.h

268 lines
4.7 KiB
C

/*++
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Module Name:
IfrParse.h
Abstract:
Prototypes and defines for the IFR parsing services.
--*/
#ifndef _IFR_PARSE_H_
#define _IFR_PARSE_H_
#define DEFAULT_HII_PACK_FILENAME_EXTENSION ".hpk"
//
// When we parse IFR, we'll keep the IFR in a linked list of
// these.
//
typedef struct _IFR_PARSE_ENTRY {
struct _IFR_PARSE_ENTRY *Next;
int Tag; // for debugging
EFI_IFR_OP_HEADER *RawIfrHeader;
//
// GUIDs for variable storage
//
EFI_GUID *VarStoreGuid1;
char *VarStoreName1;
EFI_GUID *VarStoreGuid2;
char *VarStoreName2;
} IFR_PARSE_ENTRY;
typedef struct _IFR_PARSE_CONTEXT {
struct _IFR_PARSE_CONTEXT *Next;
EFI_HII_IFR_PACK *PackHeader;
char *IfrBufferStart;
char *CurrentPos;
long IfrBufferLen;
int Handle;
IFR_PARSE_ENTRY *Ifr;
IFR_PARSE_ENTRY *LastIfr;
IFR_PARSE_ENTRY *CurrentIfr;
FILE *OutFptr;
CHAR16 *Language;
EFI_GUID *FormsetGuid;
EFI_GUID NullGuid; // for use until we set the Guid field correctly
EFI_GUID PackageGuid; // from the PackageGuid in the HII data table
} IFR_PARSE_CONTEXT;
STATUS
IfrGetVarPack (
int VarIndex,
EFI_HII_VARIABLE_PACK **VarPack
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
VarIndex - GC_TODO: add argument description
VarPack - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrParsePack (
int Handle,
EFI_HII_IFR_PACK *PackHeader,
EFI_GUID *PackageGuid
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
Handle - GC_TODO: add argument description
PackHeader - GC_TODO: add argument description
PackageGuid - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrParseCheck (
char *Buffer,
long BufferSize
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
Buffer - GC_TODO: add argument description
BufferSize - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrParseInit (
VOID
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
None
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrParseEnd (
VOID
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
None
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrParseDump (
int Handle,
CHAR16 *Language,
FILE *OutFptr
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
Handle - GC_TODO: add argument description
Language - GC_TODO: add argument description
OutFptr - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrSetDefaults (
int MfgDefaults
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
MfgDefaults - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrGetIfrPack (
int Handle,
EFI_HII_IFR_PACK **PackHeader,
EFI_GUID *FormsetGuid
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
Handle - GC_TODO: add argument description
PackHeader - GC_TODO: add argument description
FormsetGuid - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
STATUS
IfrReferencesVarPack (
int IfrHandle,
EFI_HII_VARIABLE_PACK *VarPack
)
/*++
Routine Description:
GC_TODO: Add function description
Arguments:
IfrHandle - GC_TODO: add argument description
VarPack - GC_TODO: add argument description
Returns:
GC_TODO: add return values
--*/
;
#endif // #ifndef _IFR_PARSE_H_