LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
endianness_support.hpp File Reference
#include <cstdint>
#include "LIEF/config.h"
Include dependency graph for endianness_support.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  LIEF
 LIEF namespace.
 
namespace  LIEF::ELF
 Namespace related to the LIEF's ELF module.
 
namespace  LIEF::ELF::details
 
namespace  LIEF::MachO
 Namespace related to the LIEF's Mach-O module.
 
namespace  LIEF::MachO::details
 

Macros

#define LIEF_ENDIAN_SUPPORT(X)
 

Functions

template<typename T >
void LIEF::swap_endian (T *)
 
template<typename T >
LIEF::get_swapped_endian (const T &other)
 
template<>
void LIEF::swap_endian< char > (char *hdr)
 
template<>
void LIEF::swap_endian< char16_t > (char16_t *hdr)
 
template<>
void LIEF::swap_endian< uint8_t > (uint8_t *hdr)
 
template<>
void LIEF::swap_endian< uint16_t > (uint16_t *hdr)
 
template<>
void LIEF::swap_endian< uint32_t > (uint32_t *hdr)
 
template<>
void LIEF::swap_endian< uint64_t > (uint64_t *hdr)
 
template<>
void LIEF::swap_endian< int8_t > (int8_t *hdr)
 
template<>
void LIEF::swap_endian< int16_t > (int16_t *hdr)
 
template<>
void LIEF::swap_endian< int32_t > (int32_t *hdr)
 
template<>
void LIEF::swap_endian< int64_t > (int64_t *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Auxv > (ELF::details::Elf32_Auxv *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Dyn > (ELF::details::Elf32_Dyn *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Ehdr > (ELF::details::Elf32_Ehdr *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_FileEntry > (ELF::details::Elf32_FileEntry *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Phdr > (ELF::details::Elf32_Phdr *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Rel > (ELF::details::Elf32_Rel *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Rela > (ELF::details::Elf32_Rela *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Shdr > (ELF::details::Elf32_Shdr *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Sym > (ELF::details::Elf32_Sym *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Verdaux > (ELF::details::Elf32_Verdaux *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Verdef > (ELF::details::Elf32_Verdef *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Vernaux > (ELF::details::Elf32_Vernaux *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf32_Verneed > (ELF::details::Elf32_Verneed *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Auxv > (ELF::details::Elf64_Auxv *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Dyn > (ELF::details::Elf64_Dyn *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Ehdr > (ELF::details::Elf64_Ehdr *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_FileEntry > (ELF::details::Elf64_FileEntry *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Phdr > (ELF::details::Elf64_Phdr *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Rel > (ELF::details::Elf64_Rel *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Rela > (ELF::details::Elf64_Rela *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Shdr > (ELF::details::Elf64_Shdr *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Sym > (ELF::details::Elf64_Sym *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Verdaux > (ELF::details::Elf64_Verdaux *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Verdef > (ELF::details::Elf64_Verdef *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Vernaux > (ELF::details::Elf64_Vernaux *hdr)
 
template<>
void LIEF::swap_endian< ELF::details::Elf64_Verneed > (ELF::details::Elf64_Verneed *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::arm_thread_state64_t > (MachO::details::arm_thread_state64_t *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::arm_thread_state_t > (MachO::details::arm_thread_state_t *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::build_tool_version > (MachO::details::build_tool_version *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::build_version_command > (MachO::details::build_version_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::data_in_code_entry > (MachO::details::data_in_code_entry *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dyld_info_command > (MachO::details::dyld_info_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dylib_command > (MachO::details::dylib_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dylib_module_32 > (MachO::details::dylib_module_32 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dylib_module_64 > (MachO::details::dylib_module_64 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dylib_reference > (MachO::details::dylib_reference *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dylib_table_of_contents > (MachO::details::dylib_table_of_contents *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dylinker_command > (MachO::details::dylinker_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::dysymtab_command > (MachO::details::dysymtab_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::encryption_info_command > (MachO::details::encryption_info_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::entry_point_command > (MachO::details::entry_point_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::fileset_entry_command > (MachO::details::fileset_entry_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::fvmfile_command > (MachO::details::fvmfile_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::ident_command > (MachO::details::ident_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::linkedit_data_command > (MachO::details::linkedit_data_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::linker_option_command > (MachO::details::linker_option_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::load_command > (MachO::details::load_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::mach_header > (MachO::details::mach_header *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::mach_header_64 > (MachO::details::mach_header_64 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::nlist_32 > (MachO::details::nlist_32 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::nlist_64 > (MachO::details::nlist_64 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::prebind_cksum_command > (MachO::details::prebind_cksum_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::prebound_dylib_command > (MachO::details::prebound_dylib_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::relocation_info > (MachO::details::relocation_info *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::routines_command_32 > (MachO::details::routines_command_32 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::routines_command_64 > (MachO::details::routines_command_64 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::rpath_command > (MachO::details::rpath_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::scattered_relocation_info > (MachO::details::scattered_relocation_info *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::section_32 > (MachO::details::section_32 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::section_64 > (MachO::details::section_64 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::segment_command_32 > (MachO::details::segment_command_32 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::segment_command_64 > (MachO::details::segment_command_64 *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::source_version_command > (MachO::details::source_version_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::sub_client_command > (MachO::details::sub_client_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::sub_framework_command > (MachO::details::sub_framework_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::sub_library_command > (MachO::details::sub_library_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::sub_umbrella_command > (MachO::details::sub_umbrella_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::symseg_command > (MachO::details::symseg_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::symtab_command > (MachO::details::symtab_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::thread_command > (MachO::details::thread_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::twolevel_hint > (MachO::details::twolevel_hint *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::twolevel_hints_command > (MachO::details::twolevel_hints_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::uuid_command > (MachO::details::uuid_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::version_min_command > (MachO::details::version_min_command *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::x86_thread_state64_t > (MachO::details::x86_thread_state64_t *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::x86_thread_state_t > (MachO::details::x86_thread_state_t *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::ppc_thread_state64_t > (MachO::details::ppc_thread_state64_t *hdr)
 
template<>
void LIEF::swap_endian< MachO::details::ppc_thread_state_t > (MachO::details::ppc_thread_state_t *hdr)
 

Macro Definition Documentation

◆ LIEF_ENDIAN_SUPPORT

#define LIEF_ENDIAN_SUPPORT ( X)
Value:
template<> \
void swap_endian<X>(X* hdr)