mirror of https://github.com/acidanthera/audk.git
124 lines
2.9 KiB
C
124 lines
2.9 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2004 - 2007, 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:
|
||
|
|
||
|
Common.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Common include file for the ProcessDsc utility.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _COMMON_H_
|
||
|
#define _COMMON_H_
|
||
|
|
||
|
typedef char INT8;
|
||
|
typedef unsigned int UINT32;
|
||
|
|
||
|
#include "EfiUtilityMsgs.h"
|
||
|
|
||
|
#define MAX_LINE_LEN 1024
|
||
|
|
||
|
#ifdef MAX_PATH
|
||
|
#undef MAX_PATH
|
||
|
#define MAX_PATH 1024
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// Defines for how to expand symbols
|
||
|
//
|
||
|
#define EXPANDMODE_NO_UNDEFS 0x01
|
||
|
#define EXPANDMODE_NO_DESTDIR 0x02
|
||
|
#define EXPANDMODE_NO_SOURCEDIR 0x04
|
||
|
#define EXPANDMODE_RECURSIVE 0x08
|
||
|
|
||
|
//
|
||
|
// Defines for adding symbols
|
||
|
//
|
||
|
#define SYM_OVERWRITE 0x01 // overwrite existing assignments
|
||
|
#define SYM_GLOBAL 0x02 // global symbol (persistent)
|
||
|
#define SYM_LOCAL 0x04 // symbols at component level
|
||
|
#define SYM_FILE 0x08 // symbols at file level
|
||
|
#define SYM_FILEPATH 0x10 // symbol is a file path
|
||
|
#define SYM_FILENAME 0x20 // symbol is a file name
|
||
|
#define FV_DIR "FV_DIR" // symbol for base dir where FV files are
|
||
|
#define DSC_FILENAME "DSC_FILENAME"
|
||
|
|
||
|
//
|
||
|
// Smart file for better incremental build support.
|
||
|
// Only re-create .pkg .inf or .apr files when it's content is changed.
|
||
|
//
|
||
|
//
|
||
|
typedef struct _SMART_FILE {
|
||
|
char *FileName;
|
||
|
char *FileContent; // Previous file content
|
||
|
int FileLength; // Previous file string length
|
||
|
int FilePosition; // The offset from FileContent for next comparison
|
||
|
FILE *FilePtr; // New file pointer if the file need to be re-created
|
||
|
} SMART_FILE;
|
||
|
|
||
|
SMART_FILE *
|
||
|
SmartOpen (
|
||
|
char *FileName
|
||
|
);
|
||
|
|
||
|
int
|
||
|
SmartWrite (
|
||
|
SMART_FILE *SmartFile,
|
||
|
char *String
|
||
|
);
|
||
|
|
||
|
void
|
||
|
SmartClose (
|
||
|
SMART_FILE *SmartFile
|
||
|
);
|
||
|
|
||
|
INT8 *
|
||
|
GetSymbolValue (
|
||
|
INT8 *SymbolName
|
||
|
);
|
||
|
|
||
|
int
|
||
|
AddSymbol (
|
||
|
INT8 *Name,
|
||
|
INT8 *Value,
|
||
|
int Mode
|
||
|
);
|
||
|
|
||
|
int
|
||
|
ExpandSymbols (
|
||
|
INT8 *SourceLine,
|
||
|
INT8 *DestLine,
|
||
|
int LineLen,
|
||
|
int ExpandMode
|
||
|
);
|
||
|
|
||
|
void
|
||
|
Message (
|
||
|
UINT32 PrintMask,
|
||
|
INT8 *Fmt,
|
||
|
...
|
||
|
);
|
||
|
|
||
|
int
|
||
|
MakeFilePath (
|
||
|
INT8 *FileName
|
||
|
);
|
||
|
|
||
|
int
|
||
|
IsAbsolutePath (
|
||
|
INT8 *FileName
|
||
|
);
|
||
|
|
||
|
#endif // ifndef _COMMON_H_
|