Iros
Loading...
Searching...
No Matches
format.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/bit/endian/prelude.h
"
4
5
namespace
di::exec
{
6
enum class
ElfFormat
{
7
LittleEndian32
= 0,
8
BigEndian32
= 1,
9
LittleEndian64
= 2,
10
BigEndian64
= 3,
11
Native
=
sizeof
(long) == 8
12
? (Endian::Native == Endian::Little ?
ElfFormat::LittleEndian64
:
ElfFormat::BigEndian64
)
13
: (Endian::Native == Endian::Little ?
ElfFormat::LittleEndian32
:
ElfFormat::BigEndian32
),
14
};
15
16
constexpr
static
auto
elf_format_endian(
ElfFormat
format
) {
17
return
(
format
==
ElfFormat::LittleEndian32
||
format
==
ElfFormat::LittleEndian64
) ? Endian::Little : Endian::Big;
18
}
19
20
constexpr
static
auto
elf_format_64bit(
ElfFormat
format) {
21
return
format ==
ElfFormat::LittleEndian64
|| format ==
ElfFormat::BigEndian64
;
22
}
23
}
prelude.h
di::exec
Definition
format.h:5
di::exec::ElfFormat
ElfFormat
Definition
format.h:6
di::exec::ElfFormat::LittleEndian32
@ LittleEndian32
Definition
format.h:7
di::exec::ElfFormat::LittleEndian64
@ LittleEndian64
Definition
format.h:9
di::exec::ElfFormat::BigEndian32
@ BigEndian32
Definition
format.h:8
di::exec::ElfFormat::Native
@ Native
Definition
format.h:11
di::exec::ElfFormat::BigEndian64
@ BigEndian64
Definition
format.h:10
di::format
Definition
bounded_format_context.h:7
libs
di
include
di
exec
elf
format.h
Generated by
1.13.0