|
AquilaOS documentation
How it works, and its code
|
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | elf32_hdr |
| An ELF32 file's header. More... | |
| struct | elf32_shdr |
| An ELF32 section header. More... | |
| struct | elf32_sym |
| An ELF32 symbol. More... | |
| struct | elf64_shdr |
| An ELF64 section header. More... | |
| struct | elf64_sym |
| An ELF64 symbol. More... | |
| struct | elf32_phdr |
| An ELF32 program header: a segment to load. More... | |
| struct | elf32_dyn |
| An ELF32 dynamic section's entry. More... | |
| struct | elf64_hdr |
| An ELF64 file's header. More... | |
| struct | elf64_phdr |
| An ELF64 program header: a segment to load. More... | |
Macros | |
| #define | ET_NONE 0x0000 |
| #define | ET_REL 0x0001 |
| #define | ET_EXEC 0x0002 |
| #define | ET_DYN 0x0003 |
| #define | ET_CORE 0x0004 |
| #define | ET_LOPROC 0xff00 |
| #define | ET_HIPROC 0xffff |
| #define | EM_NONE 0x0000 |
| #define | EM_M32 0x0001 |
| #define | EM_SPARC 0x0002 |
| #define | EM_386 0x0003 |
| #define | EM_68K 0x0004 |
| #define | EM_88K 0x0005 |
| #define | EM_860 0x0007 |
| #define | EM_MIPS 0x0008 |
| #define | EM_X86_64 0x003E |
| #define | EM_AARCH64 0x00B7 |
| #define | EV_NONE 0x0000 |
| #define | EV_CURRENT 0x0001 |
| #define | EI_MAG0 0 |
| #define | EI_MAG1 1 |
| #define | EI_MAG2 2 |
| #define | EI_MAG3 3 |
| #define | EI_CLASS 4 |
| #define | EI_DATA 5 |
| #define | EI_VERSION 6 |
| #define | EI_PAD 7 |
| #define | EI_NIDENT 16 |
| #define | ELFMAG0 0x7f |
| #define | ELFMAG1 'E' |
| #define | ELFMAG2 'L' |
| #define | ELFMAG3 'F' |
| #define | ELFCLASSNONE 0 |
| #define | ELFCLASS32 1 |
| #define | ELFCLASS64 2 |
| #define | SHN_UNDEF 0x0000 |
| #define | SHN_LORESERVE 0xff00 |
| #define | SHN_LOPROC 0xff00 |
| #define | SHN_HIPROC 0xff1f |
| #define | SHN_ABS 0xfff1 |
| #define | SHN_COMMON 0xfff2 |
| #define | SHN_HIRESERVE 0xffff |
| #define | SHT_NULL 0 |
| #define | SHT_PROGBITS 1 |
| #define | SHT_SYMTAB 2 |
| #define | SHT_STRTAB 3 |
| #define | SHT_RELA 4 |
| #define | SHT_HASH 5 |
| #define | SHT_DYNAMIC 6 |
| #define | SHT_NOTE 7 |
| #define | SHT_NOBITS 8 |
| #define | SHT_REL 9 |
| #define | SHT_SHLIB 10 |
| #define | SHT_DYNSYM 11 |
| #define | SHT_LOPROC 0x70000000 |
| #define | SHT_HIPROC 0x7fffffff |
| #define | SHT_LOUSER 0x80000000 |
| #define | SHT_HIUSER 0xffffffff |
| #define | DT_NULL 0 |
| #define | DT_NEEDED 1 |
| #define | DT_PLTRELSZ 2 |
| #define | DT_PLTGOT 3 |
| #define | DT_HASH 4 |
| #define | DT_STRTAB 5 |
| #define | DT_SYMTAB 6 |
| #define | DT_RELA 7 |
| #define | DT_RELASZ 8 |
| #define | DT_RELAENT 9 |
| #define | DT_STRSZ 10 |
| #define | DT_SYMENT 11 |
| #define | DT_INIT 12 |
| #define | DT_FINI 13 |
| #define | DT_SONAME 14 |
| #define | DT_RPATH 15 |
| #define | DT_SYMBOLIC 16 |
| #define | DT_REL 17 |
| #define | DT_RELSZ 18 |
| #define | DT_RELENT 19 |
| #define | DT_PLTREL 20 |
| #define | DT_DEBUG 21 |
| #define | DT_TEXTREL 22 |
| #define | DT_JMPREL 23 |
| #define | DT_LOPROC 0x70000000 |
| #define | DT_HIPROC 0x7fffffff |
| #define | PT_NULL 0 |
| #define | PT_LOAD 1 |
| #define | PT_DYNAMIC 2 |
| #define | PT_INTERP 3 |
| #define | PT_NOTE 4 |
| #define | PT_SHLIB 5 |
| #define | PT_PHDR 6 |
| #define | PT_LOPROC 0x70000000 |
| #define | PT_HIPROC 0x7fffffff |
| #define | PF_X 0x1 |
| #define | PF_W 0x2 |
| #define | PF_R 0x4 |
| #define | PF_MASKPROC 0xf0000000 |
| #define | ELF32_ST_BIND(i) |
| #define | ELF32_ST_TYPE(i) |
| #define | ELF32_ST_INFO(b, t) |
| #define | STB_LOCAL 0 |
| #define | STB_GLOBAL 1 |
| #define | STB_WEAK 2 |
| #define | STB_LOPROC 13 |
| #define | STB_HIPROC 15 |
| #define | STT_NOTYPE 0 |
| #define | STT_OBJECT 1 |
| #define | STT_FUNC 2 |
| #define | STT_SECTION 3 |
| #define | STT_FILE 4 |
| #define | STT_LOPROC 13 |
| #define | STT_HIPROC 15 |
Typedefs | |
| typedef int32_t | elf32_sword |
| typedef uint32_t | elf32_word |
| typedef uint32_t | elf32_addr |
| typedef uint32_t | elf32_off |
| typedef uint16_t | elf32_half |
| typedef uint64_t | elf64_addr |
| typedef uint64_t | elf64_off |
| typedef uint64_t | elf64_xword |
| typedef uint32_t | elf64_word |
| typedef uint16_t | elf64_half |
| typedef struct elf32_shdr | elf_shdr_t |
| typedef struct elf32_sym | elf_sym_t |
| #define EI_CLASS 4 |
Definition at line 50 of file elf.h.
Referenced by binfmt_elf_check(), and binfmt_elf_load_segments().
| #define EI_MAG0 0 |
Definition at line 46 of file elf.h.
Referenced by binfmt_elf_check().
| #define EI_MAG1 1 |
Definition at line 47 of file elf.h.
Referenced by binfmt_elf_check().
| #define EI_MAG2 2 |
Definition at line 48 of file elf.h.
Referenced by binfmt_elf_check().
| #define EI_MAG3 3 |
Definition at line 49 of file elf.h.
Referenced by binfmt_elf_check().
| #define ELF32_ST_INFO | ( | b, | |
| t ) |
| #define ELF32_ST_TYPE | ( | i | ) |
| #define ELFMAG0 0x7f |
Definition at line 56 of file elf.h.
Referenced by binfmt_elf_check().
| #define ELFMAG1 'E' |
Definition at line 57 of file elf.h.
Referenced by binfmt_elf_check().
| #define ELFMAG2 'L' |
Definition at line 58 of file elf.h.
Referenced by binfmt_elf_check().
| #define ELFMAG3 'F' |
Definition at line 59 of file elf.h.
Referenced by binfmt_elf_check().
| #define PF_R 0x4 |
Definition at line 129 of file elf.h.
Referenced by binfmt_elf_load_segments().
| #define PF_W 0x2 |
Definition at line 128 of file elf.h.
Referenced by binfmt_elf_load_segments().
| #define PF_X 0x1 |
Definition at line 127 of file elf.h.
Referenced by binfmt_elf_load_segments().
| #define PT_LOAD 1 |
Definition at line 118 of file elf.h.
Referenced by binfmt_elf_load_segments().
| #define SHT_SYMTAB 2 |
Definition at line 75 of file elf.h.
Referenced by process_multiboot_info().
| #define STT_FUNC 2 |
Definition at line 144 of file elf.h.
Referenced by symbol_of().
| typedef uint32_t elf32_addr |
| typedef uint16_t elf32_half |
| typedef int32_t elf32_sword |
| typedef uint32_t elf32_word |
| typedef uint64_t elf64_addr |
| typedef uint16_t elf64_half |
| typedef uint32_t elf64_word |
| typedef uint64_t elf64_xword |
| typedef struct elf32_shdr elf_shdr_t |