/*++ 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_