iPXE
elf.h
Go to the documentation of this file.
1#ifndef ELF_H
2#define ELF_H
3
4/**
5 * @file
6 *
7 * ELF headers
8 *
9 */
10
11FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
12
13#include <stdint.h>
14
20
21/** Length of ELF identifier */
22#define EI_NIDENT 16
23
24/** ELF header */
41
42/* ELF identifier indexes */
43#define EI_MAG0 0
44#define EI_MAG1 1
45#define EI_MAG2 2
46#define EI_MAG3 3
47#define EI_CLASS 4
48#define EI_DATA 5
49#define EI_VERSION 6
50
51/* ELF magic signature bytes */
52#define ELFMAG0 0x7f
53#define ELFMAG1 'E'
54#define ELFMAG2 'L'
55#define ELFMAG3 'F'
56
57/* ELF classes */
58#define ELFCLASS32 1
59
60/* ELF data encodings */
61#define ELFDATA2LSB 1
62
63/* ELF versions */
64#define EV_CURRENT 1
65
66/** ELF program header */
77
78/* ELF segment types */
79#define PT_LOAD 1
80
81#endif /* ELF_H */
unsigned short uint16_t
Definition stdint.h:11
unsigned int uint32_t
Definition stdint.h:12
signed int int32_t
Definition stdint.h:17
uint16_t Elf32_Half
Definition elf.h:16
int32_t Elf32_Sword
Definition elf.h:18
uint32_t Elf32_Addr
Definition elf.h:15
uint32_t Elf32_Off
Definition elf.h:17
#define EI_NIDENT
Length of ELF identifier.
Definition elf.h:22
uint32_t Elf32_Word
Definition elf.h:19
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
ELF header.
Definition elf.h:25
Elf32_Off e_shoff
Definition elf.h:32
Elf32_Half e_ehsize
Definition elf.h:34
Elf32_Half e_shnum
Definition elf.h:38
Elf32_Half e_machine
Definition elf.h:28
Elf32_Off e_phoff
Definition elf.h:31
Elf32_Half e_phnum
Definition elf.h:36
Elf32_Half e_shstrndx
Definition elf.h:39
Elf32_Half e_type
Definition elf.h:27
Elf32_Word e_flags
Definition elf.h:33
Elf32_Word e_version
Definition elf.h:29
Elf32_Half e_shentsize
Definition elf.h:37
Elf32_Addr e_entry
Definition elf.h:30
unsigned char e_ident[EI_NIDENT]
Definition elf.h:26
Elf32_Half e_phentsize
Definition elf.h:35
ELF program header.
Definition elf.h:67
Elf32_Addr p_vaddr
Definition elf.h:70
Elf32_Word p_flags
Definition elf.h:74
Elf32_Word p_type
Definition elf.h:68
Elf32_Off p_offset
Definition elf.h:69
Elf32_Word p_filesz
Definition elf.h:72
Elf32_Word p_memsz
Definition elf.h:73
Elf32_Addr p_paddr
Definition elf.h:71
Elf32_Word p_align
Definition elf.h:75