mirror of https://github.com/acidanthera/audk.git
110 lines
2.4 KiB
C
110 lines
2.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2004, Intel Corporation
|
||
|
All rights reserved. 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:
|
||
|
|
||
|
DscFile.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Defines and function prototypes for the ProcessDsc utility.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _DSC_FILE_H_
|
||
|
#define _DSC_FILE_H_
|
||
|
|
||
|
typedef struct _SECTION_LINE {
|
||
|
struct _SECTION_LINE *Next;
|
||
|
char *Line;
|
||
|
char *FileName;
|
||
|
UINT32 LineNum;
|
||
|
} SECTION_LINE;
|
||
|
|
||
|
//
|
||
|
// Use this structure to keep track of parsed file names. Then
|
||
|
// if we get a parse error we can figure out the file/line of
|
||
|
// the error and print a useful message.
|
||
|
//
|
||
|
typedef struct _DSC_FILE_NAME {
|
||
|
struct _DSC_FILE_NAME *Next;
|
||
|
char *FileName;
|
||
|
} DSC_FILE_NAME;
|
||
|
|
||
|
//
|
||
|
// We create a list of section names when we pre-parse a description file.
|
||
|
// Use this structure.
|
||
|
//
|
||
|
typedef struct _SECTION {
|
||
|
struct _SECTION *Next;
|
||
|
char *Name;
|
||
|
SECTION_LINE *FirstLine;
|
||
|
} SECTION;
|
||
|
|
||
|
#define MAX_SAVES 4
|
||
|
|
||
|
typedef struct {
|
||
|
SECTION_LINE *SavedPosition[MAX_SAVES];
|
||
|
int SavedPositionIndex;
|
||
|
SECTION *Sections;
|
||
|
SECTION_LINE *Lines;
|
||
|
SECTION *LastSection;
|
||
|
SECTION_LINE *LastLine;
|
||
|
SECTION_LINE *CurrentLine;
|
||
|
DSC_FILE_NAME *FileName;
|
||
|
DSC_FILE_NAME *LastFileName;
|
||
|
} DSC_FILE;
|
||
|
|
||
|
//
|
||
|
// Function prototypes
|
||
|
//
|
||
|
int
|
||
|
DSCFileSetFile (
|
||
|
DSC_FILE *DSC,
|
||
|
char *FileName
|
||
|
)
|
||
|
;
|
||
|
SECTION *
|
||
|
DSCFileFindSection (
|
||
|
DSC_FILE *DSC,
|
||
|
char *Name
|
||
|
)
|
||
|
;
|
||
|
int
|
||
|
DSCFileSavePosition (
|
||
|
DSC_FILE *DSC
|
||
|
)
|
||
|
;
|
||
|
int
|
||
|
DSCFileRestorePosition (
|
||
|
DSC_FILE *DSC
|
||
|
)
|
||
|
;
|
||
|
char *
|
||
|
DSCFileGetLine (
|
||
|
DSC_FILE *DSC,
|
||
|
char *Line,
|
||
|
int LineLen
|
||
|
)
|
||
|
;
|
||
|
int
|
||
|
DSCFileInit (
|
||
|
DSC_FILE *DSC
|
||
|
)
|
||
|
;
|
||
|
int
|
||
|
DSCFileDestroy (
|
||
|
DSC_FILE *DSC
|
||
|
)
|
||
|
;
|
||
|
|
||
|
#endif // ifndef _DSC_FILE_H_
|