Files
Cpp2IL/LibCpp2IL/Elf/ElfProgramHeaderEntry64.cs

37 lines
1.4 KiB
C#

using LibCpp2IL.PE;
namespace LibCpp2IL.Elf;
public class ElfProgramHeaderEntry64 : ReadableClass, IElfProgramHeaderEntry
{
public ElfProgramEntryType _internalType;
public ElfProgramHeaderFlags _internalFlags; //This is here in 64-bit elf files.
public ulong _internalOffsetRaw;
public ulong _internalVirtualAddr;
public ulong _internalPhysicalAddr;
public ulong _internalSizeRaw;
public ulong _internalSizeVirtual;
public long _internalAlign;
public ElfProgramHeaderFlags Flags => _internalFlags;
public ElfProgramEntryType Type => _internalType;
public ulong RawAddress => _internalOffsetRaw;
public ulong VirtualAddress => _internalVirtualAddr;
public ulong PhysicalAddr => _internalPhysicalAddr;
public ulong RawSize => _internalSizeRaw;
public ulong VirtualSize => _internalSizeVirtual;
public long Align => _internalAlign;
public override void Read(ClassReadingBinaryReader reader)
{
_internalType = (ElfProgramEntryType)reader.ReadUInt32();
_internalFlags = (ElfProgramHeaderFlags)reader.ReadUInt32();
_internalOffsetRaw = reader.ReadUInt64();
_internalVirtualAddr = reader.ReadUInt64();
_internalPhysicalAddr = reader.ReadUInt64();
_internalSizeRaw = reader.ReadUInt64();
_internalSizeVirtual = reader.ReadUInt64();
_internalAlign = reader.ReadInt64();
}
}