18#ifndef __LIBEXEC_ELFHEADER_H
19#define __LIBEXEC_ELFHEADER_H
37#define ELF_INDEX_MAGIC0 0
40#define ELF_INDEX_MAGIC1 1
43#define ELF_INDEX_MAGIC2 2
46#define ELF_INDEX_MAGIC3 3
49#define ELF_INDEX_CLASS 4
52#define ELF_INDEX_DATA 5
55#define ELF_INDEX_VERSION 6
58#define ELF_INDEX_PAD 7
61#define ELF_INDEX_NIDENT 16
73#define ELF_MAGIC0 0x7f
94#define ELF_CLASS_NONE 0
100#define ELF_CLASS_64 2
112#define ELF_DATA_NONE 0
115#define ELF_DATA_2LSB 1
118#define ELF_DATA_2MSB 2
130#define ELF_TYPE_NONE 0
133#define ELF_TYPE_REL 1
136#define ELF_TYPE_EXEC 2
139#define ELF_TYPE_DYN 3
142#define ELF_TYPE_CORE 4
145#define ELF_TYPE_NUM 5
148#define ELF_TYPE_LOPROC 0xff00
151#define ELF_TYPE_HIPROC 0xffff
163#define ELF_MACHINE_NONE 0
166#define ELF_MACHINE_M32 1
169#define ELF_MACHINE_SPARC 2
172#define ELF_MACHINE_386 3
175#define ELF_MACHINE_68K 4
178#define ELF_MACHINE_88K 5
181#define ELF_MACHINE_860 7
184#define ELF_MACHINE_MIPS_RS3 8
187#define ELF_MACHINE_MIPS_RS4 10
199#define ELF_VERSION_NONE 0
202#define ELF_VERSION_CURRENT 1
323#define ELF_SEGMENT_NULL 0
326#define ELF_SEGMENT_LOAD 1
329#define ELF_SEGMENT_DYNAMIC 2
332#define ELF_SEGMENT_INTERP 3
335#define ELF_SEGMENT_NOTE 4
338#define ELF_SEGMENT_SHLIB 5
341#define ELF_SEGMENT_SELF 6
344#define ELF_SEGMENT_LOPROC 0x70000000
347#define ELF_SEGMENT_HIPROC 0x7fffffff
#define ELF_INDEX_NIDENT
Number of bytes in the ELF identity field.
unsigned int u32
Unsigned 32-bit number.
unsigned short u16
Unsigned 16-bit number.
unsigned long long u64
Unsigned 64-bit number.
unsigned char u8
Unsigned 8-bit number.
u64 alignment
Memory alignment when loaded into memory.
u64 memorySize
Segment memory image size.
u64 offset
Offset in the file of this segment.
u64 fileSize
Segment file image size.
u64 virtualAddress
Virtual address start.
u64 physicalAddress
Physical address start.
u32 flags
Optional segment flags.
ELF program segment in the executable file.
u32 memorySize
Segment memory image size.
u32 fileSize
Segment file image size.
u32 virtualAddress
Virtual address start.
u32 physicalAddress
Physical address start.
u32 alignment
Memory alignment when loaded into memory.
u32 flags
Optional segment flags.
u32 offset
Offset in the file of this segment.