Iros
 
Loading...
Searching...
No Matches
header.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/exec/elf/types.h"
4
5namespace di::exec {
6template<ElfFormat format = ElfFormat::Native>
7class ElfHeader {
8private:
9 using Types = ElfTypes<format>;
10 using Byte = Types::Byte;
11 using Half = Types::Half;
12 using Word = Types::Word;
13 using Addr = Types::Addr;
14 using Off = Types::Off;
15
16public:
17 Byte ident[16];
18 Half type;
19 Half machine;
20 Word version;
21 Addr entry;
24 Word flags;
31};
32}
Definition header.h:7
Word flags
Definition header.h:24
Addr entry
Definition header.h:21
Half elf_header_size
Definition header.h:25
Half program_entry_count
Definition header.h:27
Byte ident[16]
Definition header.h:17
Half program_entry_size
Definition header.h:26
Half string_table_section_index
Definition header.h:30
Half machine
Definition header.h:19
Off program_table_off
Definition header.h:22
Word version
Definition header.h:20
Half type
Definition header.h:18
Half section_entry_size
Definition header.h:28
Half section_entry_count
Definition header.h:29
Off section_table_off
Definition header.h:23
Definition format.h:5
Definition types.h:8
di::Byte Byte
Definition types.h:19
StaticEndian< u32, endian > Word
Definition types.h:15
StaticEndian< meta::Conditional< is_64bit, u64, u32 >, endian > Addr
Definition types.h:12
StaticEndian< u16, endian > Half
Definition types.h:14
StaticEndian< meta::Conditional< is_64bit, i64, i32 >, endian > Off
Definition types.h:13