mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 23:39:26 +02:00
+ added class, representing a NewExe relocation entry
git-svn-id: trunk@42677 -
This commit is contained in:
parent
fd70fcace6
commit
5d8078f666
@ -635,6 +635,59 @@ interface
|
||||
'Data');
|
||||
|
||||
type
|
||||
TNewExeRelocationAddressType = (
|
||||
neratLoByte = 0, { low 8 bits of 16-bit offset }
|
||||
neratSelector = 2, { 16-bit selector }
|
||||
neratFarPointer = 3, { 16-bit selector:16-bit offset }
|
||||
neratOffset = 5, { 16-bit offset }
|
||||
neratFarPointer48 = 11, { 16-bit selector:32-bit offset }
|
||||
neratOffset32 = 13); { 32-bit offset }
|
||||
TNewExeRelocationType = (
|
||||
nertInternalRef,
|
||||
nertImportName,
|
||||
nertImportOrdinal,
|
||||
nertOsFixup);
|
||||
TNewExeOsFixupType = (
|
||||
neoftFIARQQ_FJARQQ = 1,
|
||||
neoftFISRQQ_FJSRQQ = 2,
|
||||
neoftFICRQQ_FJCRQQ = 3,
|
||||
neoftFIERQQ = 4,
|
||||
neoftFIDRQQ = 5,
|
||||
neoftFIWRQQ = 6);
|
||||
TNewExeInternalRefSegmentType = (
|
||||
neirstFixed,
|
||||
neirstMovable);
|
||||
|
||||
{ TNewExeRelocation }
|
||||
|
||||
TNewExeRelocation=class
|
||||
private
|
||||
FAddressType: TNewExeRelocationAddressType;
|
||||
FRelocationType: TNewExeRelocationType;
|
||||
FIsAdditive: Boolean;
|
||||
FInternalRefSegmentType: TNewExeInternalRefSegmentType;
|
||||
FOsFixupType: TNewExeOsFixupType;
|
||||
FOffset: Word;
|
||||
FImportModuleIndex: Word;
|
||||
FImportNameIndex: Word;
|
||||
FImportOrdinal: Word;
|
||||
FInternalRefFixedSegmentNumber: Byte;
|
||||
FInternalRefFixedSegmentOffset: Word;
|
||||
FInternalRefMovableSegmentEntryTableIndex: Word;
|
||||
public
|
||||
property AddressType: TNewExeRelocationAddressType read FAddressType write FAddressType;
|
||||
property RelocationType: TNewExeRelocationType read FRelocationType write FRelocationType;
|
||||
property IsAdditive: Boolean read FIsAdditive write FIsAdditive;
|
||||
property InternalRefSegmentType: TNewExeInternalRefSegmentType read FInternalRefSegmentType write FInternalRefSegmentType;
|
||||
property OsFixupType: TNewExeOsFixupType read FOsFixupType write FOsFixupType;
|
||||
property Offset: Word read FOffset write FOffset;
|
||||
property ImportModuleIndex: Word read FImportModuleIndex write FImportModuleIndex;
|
||||
property ImportNameIndex: Word read FImportNameIndex write FImportNameIndex;
|
||||
property ImportOrdinal: Word read FImportOrdinal write FImportOrdinal;
|
||||
property InternalRefFixedSegmentNumber: Byte read FInternalRefFixedSegmentNumber write FInternalRefFixedSegmentNumber;
|
||||
property InternalRefFixedSegmentOffset: Word read FInternalRefFixedSegmentOffset write FInternalRefFixedSegmentOffset;
|
||||
property InternalRefMovableSegmentEntryTableIndex: Word read FInternalRefMovableSegmentEntryTableIndex write FInternalRefMovableSegmentEntryTableIndex;
|
||||
end;
|
||||
|
||||
{ TNewExeSection }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user