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.
TUint32 | iDataBssLinearBase |
The virtual base address of the data and .bss, where the process expects its data chunk to be when it runs.
TUint32 | iEntryPoint |
The entrypoint of this executable, i.e. the offset within this file.
TLinAddr | iExceptionDescriptor |
The address of the Exception Descriptor if present. 0 if no Exception descriptor
TUint32 | iExportDir |
The address of the export directory, which is a simple list of functions that can be indexed by ordinal.
TUint32 | iHardwareVariant |
A number denoting the hardware Variant.
It is used to determine whether this executable can run on a given system.
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.
TInt | iTextSize |
The size of the executable code.
This is the value of (iCodeSize - the size of the constant data).
TVersion | iToolsVersion |
The version number of the tools used to generate this file image.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.