mirror of https://github.com/acidanthera/audk.git
268 lines
4.7 KiB
C
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_
|