E32ImageHeader Class Reference

class E32ImageHeader

Structure for an executable image's header. This is extended by E32ImageHeaderComp and E32ImageHeaderV. All executables since Symbian OS version 8.1b have an header given by class E32ImageHeaderV.

Summary of an executable image structure...

  • Header, 0..iCodeOffset-1

  • Code part, iCodeOffset..iCodeOffset+iCodeSize-1
    • .text section, 0 + iTextSize

    • Import Address Table (IAT), iText + ?

    • Export Directory, iExportDirOffset + iExportDirCount*4 (in .text Section)

  • Rest of data, iCodeOffset+iCodeSize..EOF
    • .data section, iDataOffset + iDataSize

    • Import section, iImportOffset + sizeof(E32ImportSection)+?

    • Code relocation section, iCodeRelocOffset + sizeof(E32RelocSection)+?

    • Data relocation section, iDataRelocOffset + sizeof(E32RelocSection)+?

Member Functions Documentation

ABI()

TUint ABI()const [inline]

Extract ABI type from iFlags.

ABIFromFlags(TUint)

TUint ABIFromFlags(TUintaFlags)[static, inline]

Extract ABI type from aFlags.

Parameters

TUint aFlags

CompressionType()

TUint32 CompressionType()const [inline]

CpuIdentifier()

TCpu CpuIdentifier()const [inline]

Return iCpuIdentifier.

EntryPointFormat()

TUint EntryPointFormat()const [inline]

Extract entrypoint format from iFlags.

EptFromFlags(TUint)

TUint EptFromFlags(TUintaFlags)[static, inline]

Extract entrypoint format from aFlags.

Parameters

TUint aFlags

ExceptionDescriptor()

TUint32 ExceptionDescriptor()const [inline]

Return fffset in bytes from start of code section for the Exception Descriptor. Or zero if not present.

GetSecurityInfo(SSecurityInfo &)

voidGetSecurityInfo(SSecurityInfo &aInfo)const [inline]

Return copy of security info, E32ImageHeaderV::iS.

Parameters

SSecurityInfo & aInfo

HdrFmtFromFlags(TUint)

TUint HdrFmtFromFlags(TUintaFlags)[static, inline]

Extract header format from aFlags.

Parameters

TUint aFlags

HeaderFormat()

TUint HeaderFormat()const [inline]

Extract header format from iFlags.

ImpFmtFromFlags(TUint)

TUint ImpFmtFromFlags(TUintaFlags)[static, inline]

Extract import format from aFlags.

Parameters

TUint aFlags

ImportFormat()

TUint ImportFormat()const [inline]

Extract import format from iFlags.

ModuleVersion()

TUint32 ModuleVersion()const [inline]

Return iModuleVersion.

New(E32ImageHeader *&, RFile &)

TInt New(E32ImageHeader *&aHdr,
RFile &aFile
)[static]

Parameters

E32ImageHeader *& aHdr
RFile & aFile

New(E32ImageHeader *&, TUint8 *, TUint32)

TInt New(E32ImageHeader *&aHdr,
TUint8 *aFileData,
TUint32aFileSize
)[static]

Parameters

E32ImageHeader *& aHdr
TUint8 * aFileData
TUint32 aFileSize

ProcessPriority()

TProcessPriority ProcessPriority()const [inline]

TotalSize()

TInt TotalSize()const [inline]

Return size of this header.

UncompressedFileSize()

TInt UncompressedFileSize()const [inline]

Return total size of file after decompression, or -1 if file not compressed.

ValidateHeader(TInt, TUint32 &)

TInt ValidateHeader(TIntaFileSize,
TUint32 &aUncompressedSize
)const

Parameters

TInt aFileSize
TUint32 & aUncompressedSize

Member Data Documentation

TInt iBssSize

TInt iBssSize

TUint iCodeBase

TUint iCodeBase

TUint iCodeOffset

TUint iCodeOffset

TUint iCodeRelocOffset

TUint iCodeRelocOffset

TInt iCodeSize

TInt iCodeSize

TUint32 iCompressionType

TUint32 iCompressionType

TUint16 iCpuIdentifier

TUint16 iCpuIdentifier

TUint iDataBase

TUint iDataBase

TUint iDataOffset

TUint iDataOffset

TUint iDataRelocOffset

TUint iDataRelocOffset

TInt iDataSize

TInt iDataSize

TInt iDllRefTableCount

TInt iDllRefTableCount

TUint iEntryPoint

TUint iEntryPoint

TInt iExportDirCount

TInt iExportDirCount

TUint iExportDirOffset

TUint iExportDirOffset

TUint iFlags

TUint iFlags

TUint32 iHeaderCrc

TUint32 iHeaderCrc

TInt iHeapSizeMax

TInt iHeapSizeMax

TInt iHeapSizeMin

TInt iHeapSizeMin

TUint iImportOffset

TUint iImportOffset

TUint32 iModuleVersion

TUint32 iModuleVersion

TUint16 iProcessPriority

TUint16 iProcessPriority

TUint iSignature

TUint iSignature

TInt iStackSize

TInt iStackSize

TInt iTextSize

TInt iTextSize

TUint32 iTimeHi

TUint32 iTimeHi

TUint32 iTimeLo

TUint32 iTimeLo

TVersion iToolsVersion

TVersion iToolsVersion

TUint32 iUid1

TUint32 iUid1

TUint32 iUid2

TUint32 iUid2

TUint32 iUid3

TUint32 iUid3

TUint32 iUidChecksum

TUint32 iUidChecksum