toolsandutils/e32tools/elf2e32/source/pl_common.h
changeset 0 83f4b4db085c
child 1 d4b442d23379
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolsandutils/e32tools/elf2e32/source/pl_common.h	Tue Feb 02 01:39:43 2010 +0200
@@ -0,0 +1,97 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation of the Class SymbolAttrib for the elf2e32 tool
+// @internalComponent
+// @released
+// 
+//
+
+#if !defined _PL_COMMON_H_
+#define _PL_COMMON_H_
+
+#ifdef _MSC_VER 
+	#pragma warning(disable: 4786) // identifier was truncated to '255' characters in the debug information
+	#pragma warning(disable: 4514) // unreferenced inline function has been removed
+	#pragma warning(disable: 4702) // unreachable code
+	#pragma warning(disable: 4710) // function not inlined
+#endif
+
+#include <tools/elfdefs.h>
+
+typedef unsigned long	PLULONG;
+typedef unsigned int	PLUINT32;
+typedef unsigned short	PLUINT16;
+typedef unsigned char	PLUCHAR;
+typedef	int				PLINT32;
+typedef short			PLINT16;
+typedef unsigned char	PLUINT8;
+typedef char			PLCHAR;
+typedef unsigned int	PLMemAddr32;
+typedef unsigned int	PLOffset32;
+typedef unsigned short	PLOffset16;
+
+#define DELETE_PTR(aPtr) delete aPtr; aPtr = NULL;
+#define DELETE_PTR_ARRAY(aPtr) delete[] aPtr; aPtr = NULL;
+
+#define ELF_ENTRY_PTR(ptype, base, offset) \
+	((ptype*)((char*)base + offset))
+
+//enum for version category
+enum VER_CATEGORY{
+	VER_CAT_NONE = 0,
+	VER_CAT_DEFINED,
+	VER_CAT_NEEDED
+
+};
+
+/**
+Class for general utility
+@internalComponent
+@released
+*/class Util {
+public:
+	static unsigned long elf_hash(const unsigned char *name);
+};
+
+/**
+class for Version info
+@internalComponent
+@released
+*/
+class VersionInfo {
+public:
+	VersionInfo();
+	~VersionInfo();
+
+	char*	iSOName;
+	char*	iLinkAs;
+	char	iVerCategory;
+};
+
+//enum for e32 dump flag and dumping asm file flag
+enum TDumpFlags
+{
+	EDumpHeader = 1<<0,
+	EDumpSecurityInfo = 1<<1,
+	EDumpCode = 1<<2,
+	EDumpData = 1<<3,
+	EDumpExports = 1<<4,
+	EDumpImports = 1<<5,
+	EDumpAsm = 1<<6, //Added (Only)option for generating assembly code for deffile input.//DumpAsm
+	EDumpSymbols = 1<<7,//Not added as a default option.
+	EDumpDefaults = EDumpHeader|EDumpCode|EDumpData|EDumpExports|EDumpImports
+};
+
+#endif //_PL_COMMON_H_
+