summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h
diff options
context:
space:
mode:
Diffstat (limited to 'EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h')
-rw-r--r--EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h123
1 files changed, 123 insertions, 0 deletions
diff --git a/EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h b/EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h
new file mode 100644
index 0000000000..b642d092cb
--- /dev/null
+++ b/EdkCompatibilityPkg/Sample/Tools/Source/ProcessDsc/Common.h
@@ -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_