Add in the 1st version of ECP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2832 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
123
EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h
Normal file
123
EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h
Normal file
@@ -0,0 +1,123 @@
|
||||
/*++
|
||||
|
||||
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_
|
Reference in New Issue
Block a user