Elf64Ehdr

@SerialName(value = "Elf64Ehdr")
data class Elf64Ehdr(val eType: ElfType, val eMachine: ElfMachine, val eVersion: Elf64Word, val eEntry: Elf64Addr, val ePhoff: Elf64Off, val eShoff: Elf64Off, val eFlags: Elf64Word, val eEhsize: Elf64Half, val ePhentsize: Elf64Half, val ePhnum: Elf64Half, val eShentsize: Elf64Half, val eShnum: Elf64Half, val eShstrndx: Elf64Half) : ReadableStructure, ElfEhdr(source)

Represents the ELF 64-bit file header structure.

The ELF header defines the file's organization. It contains information about how to interpret the file, such as whether it's a 32-bit or 64-bit ELF file, which machine architecture it targets, where to find the program header table and section header table, and other essential metadata.

This class specifically handles the 64-bit version of the ELF header format. The main difference from the 32-bit version is the size of certain fields, which are expanded to accommodate 64-bit addresses and offsets.

Constructors

Link copied to clipboard
constructor(eType: ElfType, eMachine: ElfMachine, eVersion: Elf64Word, eEntry: Elf64Addr, ePhoff: Elf64Off, eShoff: Elf64Off, eFlags: Elf64Word, eEhsize: Elf64Half, ePhentsize: Elf64Half, ePhnum: Elf64Half, eShentsize: Elf64Half, eShnum: Elf64Half, eShstrndx: Elf64Half)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val eEhsize: Elf64Half

This member holds the ELF header's size in bytes.

Link copied to clipboard
open override val eEntry: Elf64Addr

This member gives the virtual address to which the system first transfers control.

Link copied to clipboard
open override val eFlags: Elf64Word

This member holds processor-specific flags associated with the file.

Link copied to clipboard
open override val eMachine: ElfMachine

This member's value specifies the required architecture for an individual file.

Link copied to clipboard
open override val ePhentsize: Elf64Half

This member holds the size in bytes of one entry in the file's program header table.

Link copied to clipboard
open override val ePhnum: Elf64Half

This member holds the number of entries in the program header table.

Link copied to clipboard
open override val ePhoff: Elf64Off

This member holds the program header table's file offset in bytes.

Link copied to clipboard
open override val eShentsize: Elf64Half

This member holds a section header's size in bytes. A section header is one entry in the section header table; all entries are the same size.

Link copied to clipboard
open override val eShnum: Elf64Half

This member holds the number of entries in the section header table. Thus the product of e_shentsize and e_shnum gives the section header table's size in bytes. If a file has no section header table, e_shnum holds the value zero.

Link copied to clipboard
open override val eShoff: Elf64Off

This member holds the section header table's file offset in bytes.

Link copied to clipboard
open override val eShstrndx: Elf64Half

This member holds the section header table index of the entry associated with the section name string table. If the file has no section name string table, this member holds the value SHN_UNDEF.

Link copied to clipboard
open override val eType: ElfType

This member identifies the object file type.

Link copied to clipboard
open override val eVersion: Elf64Word

This member identifies the object file version.

Link copied to clipboard
abstract val fields: Map<String, Any>