30template<ElfFormat format = ElfFormat::Native>
33template<ElfFormat format>
34requires(!elf_format_64bit(
format))
37 constexpr static auto endian = elf_format_endian(
format);
40 using Byte = Types::Byte;
41 using Half = Types::Half;
42 using Word = Types::Word;
43 using Addr = Types::Addr;
44 using Off = Types::Off;
57template<ElfFormat format>
58requires(elf_format_64bit(
format))
61 constexpr static auto endian = elf_format_endian(
format);
#define DI_DEFINE_ENUM_BITWISE_OPERATIONS(Type)
Definition bitwise_enum.h:5
meta::Conditional< endian==Endian::Little, LittleEndian< T >, BigEndian< T > > StaticEndian
Definition static_endian.h:9
ElfProgramHeaderType
Definition program_header.h:7
@ GnuProperty
Definition program_header.h:19
@ Note
Definition program_header.h:12
@ GnuEhFrame
Definition program_header.h:16
@ Shlib
Definition program_header.h:13
@ GnuRelRo
Definition program_header.h:18
@ Dynamic
Definition program_header.h:10
@ GnuStack
Definition program_header.h:17
@ Null
Definition program_header.h:8
@ Interpreter
Definition program_header.h:11
@ Tls
Definition program_header.h:15
@ ProgramHeader
Definition program_header.h:14
@ Load
Definition program_header.h:9
ElfProgramHeaderFlags
Definition program_header.h:22
@ Executable
Definition program_header.h:23
@ Readable
Definition program_header.h:25
@ Writable
Definition program_header.h:24
std::byte Byte
Definition byte.h:63
__INT32_TYPE__ i32
Definition integers.h:16
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< u64, endian > Xword
Definition types.h:17
StaticEndian< meta::Conditional< is_64bit, i64, i32 >, endian > Off
Definition types.h:13