The ELF header at the start of every ELF file. More...
#include <elf.h>
Data Fields | |
struct { | |
uint8_t EI_MAG0 | |
ELF magic (0x7F) | |
uint8_t EI_MAG1 | |
ELF magic ('E') | |
uint8_t EI_MAG2 | |
ELF magic ('L') | |
uint8_t EI_MAG3 | |
ELF magic ('F') | |
uint8_t EI_CLASS | |
32 or 64 bit | |
uint8_t EI_DATA | |
little or big endian | |
uint8_t EI_VERSION | |
ELF version. | |
uint8_t EI_OSABI | |
which ABI to use | |
uint32_t __pad0__: 32 | |
unused | |
} | e_ident |
ELF identification data. | |
uint16_t | e_type |
object type (relocatable or executable) | |
uint16_t | e_machine |
targeted ISA (=Instruction Set Architecture) | |
uint32_t | e_version |
ELF version. | |
void * | e_entry |
entry point | |
uint32_t | e_phoff |
program header table (important for executables) | |
uint32_t | e_shoff |
section header table (important for relocatables) | |
uint32_t | e_flags |
architecture specific flags | |
uint16_t | e_ehsize |
header size (52 for 32-bit) | |
uint16_t | e_phentsize |
size of a single program header entry | |
uint16_t | e_phnum |
number of program header entries | |
uint16_t | e_shentsize |
size of a single section header entry | |
uint16_t | e_shnum |
number of section header entries | |
uint16_t | e_shstrndx |
index of the section that contains section strings | |
The ELF header at the start of every ELF file.
Here: 32 bit and little endian.