Struct kernel::common::elf::ELFHeader [] [src]

pub struct ELFHeader {
    pub magic: [u8; 4],
    pub class: u8,
    pub endian: u8,
    pub ver: u8,
    pub abi: [u8; 2],
    pub pad: [u8; 7],
    pub _type: u16,
    pub machine: u16,
    pub ver_2: u32,
    pub entry: u32,
    pub ph_off: u32,
    pub sh_off: u32,
    pub flags: u32,
    pub h_len: u16,
    pub ph_ent_len: u16,
    pub ph_len: u16,
    pub sh_ent_len: u16,
    pub sh_len: u16,
    pub sh_str_index: u16,
}

An ELF header

Fields

magic

The "magic number" (4 bytes)

class

64 or 32 bit?

endian

Little (1) or big endianness (2)?

ver

The ELF version (set to 1 for default)

abi

Operating system ABI (0x03 for Linux)

pad

Unused

_type

Specify whether the object is relocatable, executable, shared, or core (in order).

machine

Instruction set archcitecture

ver_2

Second version

entry

The ELF entry

ph_off

The program header table offset

sh_off

The section header table offset

flags

The flags set

h_len

The header table length

ph_ent_len

The program header table entry length

ph_len

The program head table length

sh_ent_len

The section header table entry length

sh_len

The section header table length

sh_str_index

The section header table string index