diff -r 3141a18cb091 -r 863e2b34c16d e32tools/e32lib/e32image/inc/e32image.h --- a/e32tools/e32lib/e32image/inc/e32image.h Thu Nov 04 09:25:46 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -// Copyright (c) 1996-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: -// - -#ifndef __E32IMAGE_H__ -#define __E32IMAGE_H__ - -#if defined(__MSVCDOTNET__) || defined(__TOOLS2__) -#include -using namespace std; -#else //!__MSVCDOTNET__ -#include -#endif //__MSVCDOTNET__ - -#include -#include -#include - -enum TFileSource - { - EE32Image=0, - EPeFile=1, - EElfFile=2, - }; - -class E32ImageFile - { -public: - static E32ImageFile* New(); - E32ImageFile(); - virtual ~E32ImageFile(); - virtual TBool Translate(const char* aFileName, TUint aDataBase, TBool aAllowDllData, TBool aSymLkupEnabled = FALSE); - TInt ReadHeader(ifstream& is); - TInt Open(const char* aFileName); -#ifndef __LINUX__ - TInt Open(const wchar_t* aFileName); -#endif - void Adjust(TInt aSize, TBool aAllowShrink=ETrue); - TUint VaOfOrdinal(TUint aOrdinal); - void RelocateSection(char* aPtr, char *aRelocs, TUint aCodeDelta, TUint aDataDelta, char* aImagePtr, TLinAddr** aIATRefs, TBool keepIAT=EFalse); - // - TUint TextOffset(); - TUint DataOffset(); - TUint BssOffset(); - TUint32 Capability(); - TUint32 Format(); - TInt NumberOfImports(); - - TInt IsValid(); - TInt IsDll(); - enum TDumpFlags - { - EDumpHeader = 1<<0, - EDumpSecurityInfo = 1<<1, - EDumpCode = 1<<2, - EDumpData = 1<<3, - EDumpExports = 1<<4, - EDumpImports = 1<<5, - EDumpDefaults = EDumpHeader|EDumpCode|EDumpData|EDumpExports|EDumpImports - }; - void Dump(TText *aFileName,TInt aDumpFlags); - void DumpHeader(TInt aDumpFlags); - void DumpData(TInt aDumpFlags); - void SetStackSize(TInt aSize); - void SetHeapSizeMin(TInt aSize); - void SetHeapSizeMax(TInt aSize); - void SetUids(TUid aUid1, TUid aUid2, TUid aUid3); - void SetSecureId(TUint32 aId); - void SetVendorId(TUint32 aId); - void SetCallEntryPoints(TInt aBool); - void SetFixedAddress(TInt aBool); - void SetPriority(TProcessPriority aPri); - void SetCapability(SCapabilitySet& aCapabilities); - void SetFPU(unsigned int aFPU); - static TInt IsE32ImageFile(char *aFileName); - TInt DetermineEntryPointType(); - void UpdateHeaderCrc(); - void SetDefaultHeader(); - void CreateExportBitMap(); - void AddExportDescription(); - TInt CheckExportDescription(); - TInt Validate(); -public: - inline TUint OrigCodeOffset() const {return OffsetUnadjust(iOrigHdr->iCodeOffset);} - inline TUint OrigDataOffset() const {return OffsetUnadjust(iOrigHdr->iDataOffset);} - inline TUint OrigCodeRelocOffset() const {return OffsetUnadjust(iOrigHdr->iCodeRelocOffset);} - inline TUint OrigDataRelocOffset() const {return OffsetUnadjust(iOrigHdr->iDataRelocOffset);} - inline TUint OrigImportOffset() const {return OffsetUnadjust(iOrigHdr->iImportOffset);} - inline TUint OrigExportDirOffset() const {return OffsetUnadjust(iOrigHdr->iExportDirOffset);} - inline TUint OffsetUnadjust(TUint a) const {return a ? a-iOrigHdrOffsetAdj : 0;} - inline void OffsetAdjust(TUint& a) { if (a) a+=iOrigHdrOffsetAdj; } -public: - char* iData; - TInt iSize; - E32ImageHeader* iOrigHdr; - E32ImageHeaderV* iHdr; - char* iFileName; -#ifndef __LINUX__ - wchar_t* iWideFileName; -#endif - TInt iError; - TFileSource iSource; - TUint iOrigHdrOffsetAdj; - TInt iFileSize; - TUint8* iExportBitMap; - TInt iMissingExports; - }; - -#ifdef __VC32__ -ostream &operator<<(ostream &os, const E32ImageFile &aImage); -#else -ostream &operator<<(ostream &os, const E32ImageFile &aImage); -#endif -ifstream &operator>>(ifstream &is, E32ImageFile &aImage); - -#endif