TRomImageHeader Class Reference

class TRomImageHeader

The format of the header for a ROM file image.

The structure of a file image is based on the native image file format, but this can be compressed in the ROM image, as the relocation information and the .idata section are discarded once the file is fixed up.

The Import Address Table (IAT) is also removed and each reference to an IAT entry is converted into a reference to the associated Export Directory entry in the corresponding DLL.

ROM file images have the following sections:

The header (as described by this structure)
.text  - code
.rdata - constant (read-only) data
.edata - the export directory
.data  - initialised data that is copied to RAM when the executable runs.
The DLL reference table (a TDllRefTable structure), which is a list of DLLs
used by the executable.

TRomImageHeader::iDllRefTable TDllRefTable

Member Data Documentation

TInt iBssSize

TInt iBssSize

The size of the .bss (the zero-filled data)

TUint32 iCodeAddress

TUint32 iCodeAddress

This executables code address.

TInt iCodeSize

TInt iCodeSize

The size of the code.

This includes the size of the constant data.

TUint32 iDataAddress

TUint32 iDataAddress

This executables data address.

TUint32 iDataBssLinearBase

TUint32 iDataBssLinearBase

The virtual base address of the data and .bss, where the process expects its data chunk to be when it runs.

TInt iDataSize

TInt iDataSize

The data size.

TDllRefTable * iDllRefTable

TDllRefTable *iDllRefTable

The address of the DLL reference table.

TDllRefTable

TUint32 iEntryPoint

TUint32 iEntryPoint

The entrypoint of this executable, i.e. the offset within this file.

TLinAddr iExceptionDescriptor

TLinAddr iExceptionDescriptor

The address of the Exception Descriptor if present. 0 if no Exception descriptor

TUint32 iExportDir

TUint32 iExportDir

The address of the export directory, which is a simple list of functions that can be indexed by ordinal.

TInt iExportDirCount

TInt iExportDirCount

The number of functions exported by this executable.

TUint32 iFlags

TUint32 iFlags

Flags field.

TUint32 iHardwareVariant

TUint32 iHardwareVariant

A number denoting the hardware Variant.

It is used to determine whether this executable can run on a given system.

TInt iHeapSizeMax

TInt iHeapSizeMax

The maximum size of the heap.

TInt iHeapSizeMin

TInt iHeapSizeMin

The minimum size of the heap.

TUint32 iModuleVersion

TUint32 iModuleVersion

The module version.

TLinAddr iNextExtension

TLinAddr iNextExtension

The address of the TRomEntry for the next extension file.

This field is only used if there is more than one extension. The first extension is found using the TRomHeader.

TRomEntry TRomHeader

TProcessPriority iPriority

TProcessPriority iPriority

The priority of the process.

SSecurityInfo iS

SSecurityInfo iS

Security information, details of which are internal to Symbian.

TInt iStackSize

TInt iStackSize

The size of the stack.

TInt iTextSize

TInt iTextSize

The size of the executable code.

This is the value of (iCodeSize - the size of the constant data).

TVersion iToolsVersion

TVersion iToolsVersion

The version number of the tools used to generate this file image.

TInt iTotalDataSize

TInt iTotalDataSize

The total data size, including space reserved for DLLs

TUint32 iUid1

TUint32 iUid1

The UID1 for the file.

TUidType

TUint32 iUid2

TUint32 iUid2

The UID2 for the file.

TUidType

TUint32 iUid3

TUint32 iUid3

The UID3 for the file.

TUidType

TUint32 iUidChecksum

TUint32 iUidChecksum

The checksum of the UIDs