LIEF: Library to Instrument Executable Formats Version 0.15.1
Loading...
Searching...
No Matches
enums.h File Reference
Include dependency graph for ELF/enums.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ELF_RELOC(name, value)   name = value,
 

Enumerations

enum  LIEF_IDENTITY {
  LIEF_EI_MAG0 = 0 , LIEF_EI_MAG1 = 1 , LIEF_EI_MAG2 = 2 , LIEF_EI_MAG3 = 3 ,
  LIEF_EI_CLASS = 4 , LIEF_EI_DATA = 5 , LIEF_EI_VERSION = 6 , LIEF_EI_OSABI = 7 ,
  LIEF_EI_ABIVERSION = 8 , LIEF_EI_PAD = 9 , LIEF_EI_NIDENT = 16
}
 
enum  LIEF_E_TYPE {
  LIEF_ET_NONE = 0 , LIEF_ET_REL = 1 , LIEF_ET_EXEC = 2 , LIEF_ET_DYN = 3 ,
  LIEF_ET_CORE = 4 , LIEF_ET_LOPROC = 0xff00 , LIEF_ET_HIPROC = 0xffff
}
 
enum  LIEF_VERSION { LIEF_EV_NONE = 0 , LIEF_EV_CURRENT = 1 }
 
enum  LIEF_ARCH {
  LIEF_EM_NONE = 0 , LIEF_EM_M32 = 1 , LIEF_EM_SPARC = 2 , LIEF_EM_386 = 3 ,
  LIEF_EM_68K = 4 , LIEF_EM_88K = 5 , LIEF_EM_IAMCU = 6 , LIEF_EM_860 = 7 ,
  LIEF_EM_MIPS = 8 , LIEF_EM_S370 = 9 , LIEF_EM_MIPS_RS3_LE = 10 , LIEF_EM_PARISC = 15 ,
  LIEF_EM_VPP500 = 17 , LIEF_EM_SPARC32PLUS = 18 , LIEF_EM_960 = 19 , LIEF_EM_PPC = 20 ,
  LIEF_EM_PPC64 = 21 , LIEF_EM_S390 = 22 , LIEF_EM_SPU = 23 , LIEF_EM_V800 = 36 ,
  LIEF_EM_FR20 = 37 , LIEF_EM_RH32 = 38 , LIEF_EM_RCE = 39 , LIEF_EM_ARM = 40 ,
  LIEF_EM_ALPHA = 41 , LIEF_EM_SH = 42 , LIEF_EM_SPARCV9 = 43 , LIEF_EM_TRICORE = 44 ,
  LIEF_EM_ARC = 45 , LIEF_EM_H8_300 = 46 , LIEF_EM_H8_300H = 47 , LIEF_EM_H8S = 48 ,
  LIEF_EM_H8_500 = 49 , LIEF_EM_IA_64 = 50 , LIEF_EM_MIPS_X = 51 , LIEF_EM_COLDFIRE = 52 ,
  LIEF_EM_68HC12 = 53 , LIEF_EM_MMA = 54 , LIEF_EM_PCP = 55 , LIEF_EM_NCPU = 56 ,
  LIEF_EM_NDR1 = 57 , LIEF_EM_STARCORE = 58 , LIEF_EM_ME16 = 59 , LIEF_EM_ST100 = 60 ,
  LIEF_EM_TINYJ = 61 , LIEF_EM_X86_64 = 62 , LIEF_EM_PDSP = 63 , LIEF_EM_PDP10 = 64 ,
  LIEF_EM_PDP11 = 65 , LIEF_EM_FX66 = 66 , LIEF_EM_ST9PLUS = 67 , LIEF_EM_ST7 = 68 ,
  LIEF_EM_68HC16 = 69 , LIEF_EM_68HC11 = 70 , LIEF_EM_68HC08 = 71 , LIEF_EM_68HC05 = 72 ,
  LIEF_EM_SVX = 73 , LIEF_EM_ST19 = 74 , LIEF_EM_VAX = 75 , LIEF_EM_CRIS = 76 ,
  LIEF_EM_JAVELIN = 77 , LIEF_EM_FIREPATH = 78 , LIEF_EM_ZSP = 79 , LIEF_EM_MMIX = 80 ,
  LIEF_EM_HUANY = 81 , LIEF_EM_PRISM = 82 , LIEF_EM_AVR = 83 , LIEF_EM_FR30 = 84 ,
  LIEF_EM_D10V = 85 , LIEF_EM_D30V = 86 , LIEF_EM_V850 = 87 , LIEF_EM_M32R = 88 ,
  LIEF_EM_MN10300 = 89 , LIEF_EM_MN10200 = 90 , LIEF_EM_PJ = 91 , LIEF_EM_OPENRISC = 92 ,
  LIEF_EM_ARC_COMPACT = 93 , LIEF_EM_XTENSA = 94 , LIEF_EM_VIDEOCORE = 95 , LIEF_EM_TMM_GPP = 96 ,
  LIEF_EM_NS32K = 97 , LIEF_EM_TPC = 98 , LIEF_EM_SNP1K = 99 , LIEF_EM_ST200 = 100 ,
  LIEF_EM_IP2K = 101 , LIEF_EM_MAX = 102 , LIEF_EM_CR = 103 , LIEF_EM_F2MC16 = 104 ,
  LIEF_EM_MSP430 = 105 , LIEF_EM_BLACKFIN = 106 , LIEF_EM_SE_C33 = 107 , LIEF_EM_SEP = 108 ,
  LIEF_EM_ARCA = 109 , LIEF_EM_UNICORE = 110 , LIEF_EM_EXCESS = 111 , LIEF_EM_DXP = 112 ,
  LIEF_EM_ALTERA_NIOS2 = 113 , LIEF_EM_CRX = 114 , LIEF_EM_XGATE = 115 , LIEF_EM_C166 = 116 ,
  LIEF_EM_M16C = 117 , LIEF_EM_DSPIC30F = 118 , LIEF_EM_CE = 119 , LIEF_EM_M32C = 120 ,
  LIEF_EM_TSK3000 = 131 , LIEF_EM_RS08 = 132 , LIEF_EM_SHARC = 133 , LIEF_EM_ECOG2 = 134 ,
  LIEF_EM_SCORE7 = 135 , LIEF_EM_DSP24 = 136 , LIEF_EM_VIDEOCORE3 = 137 , LIEF_EM_LATTICEMICO32 = 138 ,
  LIEF_EM_SE_C17 = 139 , LIEF_EM_TI_C6000 = 140 , LIEF_EM_TI_C2000 = 141 , LIEF_EM_TI_C5500 = 142 ,
  LIEF_EM_MMDSP_PLUS = 160 , LIEF_EM_CYPRESS_M8C = 161 , LIEF_EM_R32C = 162 , LIEF_EM_TRIMEDIA = 163 ,
  LIEF_EM_HEXAGON = 164 , LIEF_EM_8051 = 165 , LIEF_EM_STXP7X = 166 , LIEF_EM_NDS32 = 167 ,
  LIEF_EM_ECOG1 = 168 , LIEF_EM_ECOG1X = 168 , LIEF_EM_MAXQ30 = 169 , LIEF_EM_XIMO16 = 170 ,
  LIEF_EM_MANIK = 171 , LIEF_EM_CRAYNV2 = 172 , LIEF_EM_RX = 173 , LIEF_EM_METAG = 174 ,
  LIEF_EM_MCST_ELBRUS = 175 , LIEF_EM_ECOG16 = 176 , LIEF_EM_CR16 = 177 , LIEF_EM_ETPU = 178 ,
  LIEF_EM_SLE9X = 179 , LIEF_EM_L10M = 180 , LIEF_EM_K10M = 181 , LIEF_EM_AARCH64 = 183 ,
  LIEF_EM_AVR32 = 185 , LIEF_EM_STM8 = 186 , LIEF_EM_TILE64 = 187 , LIEF_EM_TILEPRO = 188 ,
  LIEF_EM_CUDA = 190 , LIEF_EM_TILEGX = 191 , LIEF_EM_CLOUDSHIELD = 192 , LIEF_EM_COREA_1ST = 193 ,
  LIEF_EM_COREA_2ND = 194 , LIEF_EM_ARC_COMPACT2 = 195 , LIEF_EM_OPEN8 = 196 , LIEF_EM_RL78 = 197 ,
  LIEF_EM_VIDEOCORE5 = 198 , LIEF_EM_78KOR = 199 , LIEF_EM_56800EX = 200 , LIEF_EM_BA1 = 201 ,
  LIEF_EM_BA2 = 202 , LIEF_EM_XCORE = 203 , LIEF_EM_MCHP_PIC = 204 , LIEF_EM_INTEL205 = 205 ,
  LIEF_EM_INTEL206 = 206 , LIEF_EM_INTEL207 = 207 , LIEF_EM_INTEL208 = 208 , LIEF_EM_INTEL209 = 209 ,
  LIEF_EM_KM32 = 210 , LIEF_EM_KMX32 = 211 , LIEF_EM_KMX16 = 212 , LIEF_EM_KMX8 = 213 ,
  LIEF_EM_KVARC = 214 , LIEF_EM_CDP = 215 , LIEF_EM_COGE = 216 , LIEF_EM_COOL = 217 ,
  LIEF_EM_NORC = 218 , LIEF_EM_CSR_KALIMBA = 219 , LIEF_EM_AMDGPU = 224 , LIEF_EM_RISCV = 243 ,
  LIEF_EM_BPF = 247 , LIEF_EM_LOONGARCH = 258
}
 Machine architectures See current registered ELF machine architectures at: http://www.sco.com/developers/gabi/latest/ch4.eheader.html. More...
 
enum  LIEF_ELF_CLASS { LIEF_ELFCLASSNONE = 0 , LIEF_ELFCLASS32 = 1 , LIEF_ELFCLASS64 = 2 }
 
enum  LIEF_ELF_DATA { LIEF_ELFDATANONE = 0 , LIEF_ELFDATA2LSB = 1 , LIEF_ELFDATA2MSB = 2 }
 
enum  LIEF_OS_ABI {
  LIEF_OSABI_SYSTEMV = 0 , LIEF_OSABI_HPUX = 1 , LIEF_OSABI_NETBSD = 2 , LIEF_OSABI_GNU = 3 ,
  LIEF_OSABI_LINUX = 3 , LIEF_OSABI_HURD = 4 , LIEF_OSABI_SOLARIS = 6 , LIEF_OSABI_AIX = 7 ,
  LIEF_OSABI_IRIX = 8 , LIEF_OSABI_FREEBSD = 9 , LIEF_OSABI_TRU64 = 10 , LIEF_OSABI_MODESTO = 11 ,
  LIEF_OSABI_OPENBSD = 12 , LIEF_OSABI_OPENVMS = 13 , LIEF_OSABI_NSK = 14 , LIEF_OSABI_AROS = 15 ,
  LIEF_OSABI_FENIXOS = 16 , LIEF_OSABI_CLOUDABI = 17 , LIEF_OSABI_C6000_ELFABI = 64 , LIEF_OSABI_AMDGPU_HSA = 64 ,
  LIEF_OSABI_C6000_LINUX = 65 , LIEF_OSABI_ARM = 97 , LIEF_OSABI_STANDALONE = 255
}
 
enum  LIEF_RELOC_x86_64
 
enum  RELOC_i386
 
enum  LIEF_RELOC_POWERPC32
 
enum  LIEF_RELOC_POWERPC64
 
enum  LIEF_RELOC_AARCH64
 
enum  LIEF_RELOC_ARM
 
enum  LIEF_RELOC_MIPS
 
enum  LIEF_RELOC_HEXAGON
 
enum  LIEF_RELOC_SYSTEMZ
 
enum  LIEF_RELOC_SPARC
 
enum  LIEF_RELOC_LOONGARCH
 
enum  LIEF_PPC64_EFLAGS { LIEF_EF_PPC64_ABI = 3 }
 
enum  LIEF_ARM_EFLAGS {
  LIEF_EF_ARM_SOFT_FLOAT = 0x00000200U , LIEF_EF_ARM_VFP_FLOAT = 0x00000400U , LIEF_EF_ARM_EABI_UNKNOWN = 0x00000000U , LIEF_EF_ARM_EABI_VER1 = 0x01000000U ,
  LIEF_EF_ARM_EABI_VER2 = 0x02000000U , LIEF_EF_ARM_EABI_VER3 = 0x03000000U , LIEF_EF_ARM_EABI_VER4 = 0x04000000U , LIEF_EF_ARM_EABI_VER5 = 0x05000000U ,
  LIEF_EF_ARM_EABIMASK = 0xFF000000U
}
 
enum  LIEF_MIPS_EFLAGS {
  LIEF_EF_MIPS_NOREORDER = 0x00000001 , LIEF_EF_MIPS_PIC = 0x00000002 , LIEF_EF_MIPS_CPIC = 0x00000004 , LIEF_EF_MIPS_ABI2 = 0x00000020 ,
  LIEF_EF_MIPS_32BITMODE = 0x00000100 , LIEF_EF_MIPS_FP64 = 0x00000200 , LIEF_EF_MIPS_NAN2008 = 0x00000400 , LIEF_EF_MIPS_ABI_O32 = 0x00001000 ,
  LIEF_EF_MIPS_ABI_O64 = 0x00002000 , LIEF_EF_MIPS_ABI_EABI32 = 0x00003000 , LIEF_EF_MIPS_ABI_EABI64 = 0x00004000 , LIEF_EF_MIPS_ABI = 0x0000f000 ,
  LIEF_EF_MIPS_MACH_3900 = 0x00810000 , LIEF_EF_MIPS_MACH_4010 = 0x00820000 , LIEF_EF_MIPS_MACH_4100 = 0x00830000 , LIEF_EF_MIPS_MACH_4650 = 0x00850000 ,
  LIEF_EF_MIPS_MACH_4120 = 0x00870000 , LIEF_EF_MIPS_MACH_4111 = 0x00880000 , LIEF_EF_MIPS_MACH_SB1 = 0x008a0000 , LIEF_EF_MIPS_MACH_OCTEON = 0x008b0000 ,
  LIEF_EF_MIPS_MACH_XLR = 0x008c0000 , LIEF_EF_MIPS_MACH_OCTEON2 = 0x008d0000 , LIEF_EF_MIPS_MACH_OCTEON3 = 0x008e0000 , LIEF_EF_MIPS_MACH_5400 = 0x00910000 ,
  LIEF_EF_MIPS_MACH_5900 = 0x00920000 , LIEF_EF_MIPS_MACH_5500 = 0x00980000 , LIEF_EF_MIPS_MACH_9000 = 0x00990000 , LIEF_EF_MIPS_MACH_LS2E = 0x00a00000 ,
  LIEF_EF_MIPS_MACH_LS2F = 0x00a10000 , LIEF_EF_MIPS_MACH_LS3A = 0x00a20000 , LIEF_EF_MIPS_MACH = 0x00ff0000 , LIEF_EF_MIPS_MICROMIPS = 0x02000000 ,
  LIEF_EF_MIPS_ARCH_ASE_M16 = 0x04000000 , LIEF_EF_MIPS_ARCH_ASE_MDMX = 0x08000000 , LIEF_EF_MIPS_ARCH_ASE = 0x0f000000 , LIEF_EF_MIPS_ARCH_1 = 0x00000000 ,
  LIEF_EF_MIPS_ARCH_2 = 0x10000000 , LIEF_EF_MIPS_ARCH_3 = 0x20000000 , LIEF_EF_MIPS_ARCH_4 = 0x30000000 , LIEF_EF_MIPS_ARCH_5 = 0x40000000 ,
  LIEF_EF_MIPS_ARCH_32 = 0x50000000 , LIEF_EF_MIPS_ARCH_64 = 0x60000000 , LIEF_EF_MIPS_ARCH_32R2 = 0x70000000 , LIEF_EF_MIPS_ARCH_64R2 = 0x80000000 ,
  LIEF_EF_MIPS_ARCH_32R6 = 0x90000000 , LIEF_EF_MIPS_ARCH_64R6 = 0xa0000000 , LIEF_EF_MIPS_ARCH = 0xf0000000
}
 
enum  LIEF_HEXAGON_EFLAGS {
  LIEF_EF_HEXAGON_MACH_V2 = 0x00000001 , LIEF_EF_HEXAGON_MACH_V3 = 0x00000002 , LIEF_EF_HEXAGON_MACH_V4 = 0x00000003 , LIEF_EF_HEXAGON_MACH_V5 = 0x00000004 ,
  LIEF_EF_HEXAGON_ISA_MACH = 0x00000000 , LIEF_EF_HEXAGON_ISA_V2 = 0x00000010 , LIEF_EF_HEXAGON_ISA_V3 = 0x00000020 , LIEF_EF_HEXAGON_ISA_V4 = 0x00000030 ,
  LIEF_EF_HEXAGON_ISA_V5 = 0x00000040
}
 
enum  LIEF_LOONGARCH_EFLAGS { LIEF_EF_LOONGARCH_ABI_SOFT_FLOAT = 0x1 , LIEF_EF_LOONGARCH_ABI_SINGLE_FLOAT = 0x2 , LIEF_EF_LOONGARCH_ABI_DOUBLE_FLOAT = 0x3 }
 
enum  LIEF_SYMBOL_SECTION_INDEX {
  LIEF_SHN_UNDEF = 0 , LIEF_SHN_LORESERVE = 0xff00 , LIEF_SHN_LOPROC = 0xff00 , LIEF_SHN_HIPROC = 0xff1f ,
  LIEF_SHN_LOOS = 0xff20 , LIEF_SHN_HIOS = 0xff3f , LIEF_SHN_ABS = 0xfff1 , LIEF_SHN_COMMON = 0xfff2 ,
  LIEF_SHN_XINDEX = 0xffff , LIEF_SHN_HIRESERVE = 0xffff
}
 
enum  LIEF_ELF_SECTION_TYPES {
  LIEF_SHT_NULL = 0 , LIEF_SHT_PROGBITS = 1 , LIEF_SHT_SYMTAB = 2 , LIEF_SHT_STRTAB = 3 ,
  LIEF_SHT_RELA = 4 , LIEF_SHT_HASH = 5 , LIEF_SHT_DYNAMIC = 6 , LIEF_SHT_NOTE = 7 ,
  LIEF_SHT_NOBITS = 8 , LIEF_SHT_REL = 9 , LIEF_SHT_SHLIB = 10 , LIEF_SHT_DYNSYM = 11 ,
  LIEF_SHT_INIT_ARRAY = 14 , LIEF_SHT_FINI_ARRAY = 15 , LIEF_SHT_PREINIT_ARRAY = 16 , LIEF_SHT_GROUP = 17 ,
  LIEF_SHT_SYMTAB_SHNDX = 18 , LIEF_SHT_LOOS = 0x60000000 , LIEF_SHT_ANDROID_REL = 0x60000001 , LIEF_SHT_ANDROID_RELA = 0x60000002 ,
  LIEF_SHT_LLVM_ADDRSIG = 0x6fff4c03 , LIEF_SHT_RELR = 0x6fffff00 , LIEF_SHT_GNU_ATTRIBUTES = 0x6ffffff5 , LIEF_SHT_GNU_HASH = 0x6ffffff6 ,
  LIEF_SHT_GNU_verdef = 0x6ffffffd , LIEF_SHT_GNU_verneed = 0x6ffffffe , LIEF_SHT_GNU_versym = 0x6fffffff , LIEF_SHT_HIOS = 0x6fffffff ,
  LIEF_SHT_LOPROC = 0x70000000 , LIEF_SHT_ARM_EXIDX = 0x70000001U , LIEF_SHT_ARM_PREEMPTMAP = 0x70000002U , LIEF_SHT_ARM_ATTRIBUTES = 0x70000003U ,
  LIEF_SHT_ARM_DEBUGOVERLAY = 0x70000004U , LIEF_SHT_ARM_OVERLAYSECTION = 0x70000005U , LIEF_SHT_HEX_ORDERED = 0x70000000 , LIEF_SHT_X86_64_UNWIND = 0x70000001 ,
  LIEF_SHT_MIPS_REGINFO = 0x70000006 , LIEF_SHT_MIPS_OPTIONS = 0x7000000d , LIEF_SHT_MIPS_ABIFLAGS = 0x7000002a , LIEF_SHT_HIPROC = 0x7fffffff ,
  LIEF_SHT_LOUSER = 0x80000000 , LIEF_SHT_HIUSER = 0xffffffff
}
 
enum  LIEF_ELF_SECTION_FLAGS {
  LIEF_SHF_NONE = 0x0 , LIEF_SHF_WRITE = 0x1 , LIEF_SHF_ALLOC = 0x2 , LIEF_SHF_EXECINSTR = 0x4 ,
  LIEF_SHF_MERGE = 0x10 , LIEF_SHF_STRINGS = 0x20 , LIEF_SHF_INFO_LINK = 0x40U , LIEF_SHF_LINK_ORDER = 0x80U ,
  LIEF_SHF_OS_NONCONFORMING = 0x100U , LIEF_SHF_GROUP = 0x200U , LIEF_SHF_TLS = 0x400U , LIEF_SHF_EXCLUDE = 0x80000000U ,
  LIEF_XCORE_SHF_CP_SECTION = 0x800U , LIEF_XCORE_SHF_DP_SECTION = 0x1000U , LIEF_SHF_MASKOS = 0x0ff00000 , LIEF_SHF_MASKPROC = 0xf0000000 ,
  LIEF_SHF_X86_64_LARGE = 0x10000000 , LIEF_SHF_HEX_GPREL = 0x10000000 , LIEF_SHF_MIPS_NODUPES = 0x01000000 , LIEF_SHF_MIPS_NAMES = 0x02000000 ,
  LIEF_SHF_MIPS_LOCAL = 0x04000000 , LIEF_SHF_MIPS_NOSTRIP = 0x08000000 , LIEF_SHF_MIPS_GPREL = 0x10000000 , LIEF_SHF_MIPS_MERGE = 0x20000000 ,
  LIEF_SHF_MIPS_ADDR = 0x40000000 , LIEF_SHF_MIPS_STRING = 0x80000000
}
 
enum  LIEF_SYMBOL_BINDINGS {
  LIEF_STB_LOCAL = 0 , LIEF_STB_GLOBAL = 1 , LIEF_STB_WEAK = 2 , LIEF_STB_GNU_UNIQUE = 10 ,
  LIEF_STB_LOOS = 10 , LIEF_STB_HIOS = 12 , LIEF_STB_LOPROC = 13 , LIEF_STB_HIPROC = 15
}
 
enum  LIEF_ELF_SYMBOL_TYPES {
  LIEF_STT_NOTYPE = 0 , LIEF_STT_OBJECT = 1 , LIEF_STT_FUNC = 2 , LIEF_STT_SECTION = 3 ,
  LIEF_STT_FILE = 4 , LIEF_STT_COMMON = 5 , LIEF_STT_TLS = 6 , LIEF_STT_GNU_IFUNC = 10 ,
  LIEF_STT_LOOS = 10 , LIEF_STT_HIOS = 12 , LIEF_STT_LOPROC = 13 , LIEF_STT_HIPROC = 15
}
 
enum  LIEF_ELF_SYMBOL_VISIBILITY { LIEF_STV_DEFAULT = 0 , LIEF_STV_INTERNAL = 1 , LIEF_STV_HIDDEN = 2 , LIEF_STV_PROTECTED = 3 }
 
enum  LIEF_SEGMENT_TYPES {
  LIEF_PT_NULL = 0 , LIEF_PT_LOAD = 1 , LIEF_PT_DYNAMIC = 2 , LIEF_PT_INTERP = 3 ,
  LIEF_PT_NOTE = 4 , LIEF_PT_SHLIB = 5 , LIEF_PT_PHDR = 6 , LIEF_PT_TLS = 7 ,
  LIEF_PT_LOOS = 0x60000000 , LIEF_PT_HIOS = 0x6fffffff , LIEF_PT_LOPROC = 0x70000000 , LIEF_PT_HIPROC = 0x7fffffff ,
  LIEF_PT_GNU_EH_FRAME = 0x6474e550 , LIEF_PT_SUNW_EH_FRAME = 0x6474e550 , LIEF_PT_SUNW_UNWIND = 0x6464e550 , LIEF_PT_GNU_STACK = 0x6474e551 ,
  LIEF_PT_GNU_PROPERTY = 0x6474e553 , LIEF_PT_GNU_RELRO = 0x6474e552 , LIEF_PT_ARM_ARCHEXT = 0x70000000 , LIEF_PT_ARM_EXIDX = 0x70000001 ,
  LIEF_PT_ARM_UNWIND = 0x70000001 , LIEF_PT_MIPS_REGINFO = 0x70000000 , LIEF_PT_MIPS_RTPROC = 0x70000001 , LIEF_PT_MIPS_OPTIONS = 0x70000002 ,
  LIEF_PT_MIPS_ABIFLAGS = 0x70000003
}
 Segment types. More...
 
enum  LIEF_ELF_SEGMENT_FLAGS {
  LIEF_PF_NONE = 0 , LIEF_PF_X = 1 , LIEF_PF_W = 2 , LIEF_PF_R = 4 ,
  LIEF_PF_MASKOS = 0x0ff00000 , LIEF_PF_MASKPROC = 0xf0000000
}
 
enum  LIEF_DYNAMIC_TAGS {
  LIEF_DT_NULL = 0 , LIEF_DT_NEEDED = 1 , LIEF_DT_PLTRELSZ = 2 , LIEF_DT_PLTGOT = 3 ,
  LIEF_DT_HASH = 4 , LIEF_DT_STRTAB = 5 , LIEF_DT_SYMTAB = 6 , LIEF_DT_RELA = 7 ,
  LIEF_DT_RELASZ = 8 , LIEF_DT_RELAENT = 9 , LIEF_DT_STRSZ = 10 , LIEF_DT_SYMENT = 11 ,
  LIEF_DT_INIT = 12 , LIEF_DT_FINI = 13 , LIEF_DT_SONAME = 14 , LIEF_DT_RPATH = 15 ,
  LIEF_DT_SYMBOLIC = 16 , LIEF_DT_REL = 17 , LIEF_DT_RELSZ = 18 , LIEF_DT_RELENT = 19 ,
  LIEF_DT_PLTREL = 20 , LIEF_DT_DEBUG = 21 , LIEF_DT_TEXTREL = 22 , LIEF_DT_JMPREL = 23 ,
  LIEF_DT_BIND_NOW = 24 , LIEF_DT_INIT_ARRAY = 25 , LIEF_DT_FINI_ARRAY = 26 , LIEF_DT_INIT_ARRAYSZ = 27 ,
  LIEF_DT_FINI_ARRAYSZ = 28 , LIEF_DT_RUNPATH = 29 , LIEF_DT_FLAGS = 30 , LIEF_DT_ENCODING = 32 ,
  LIEF_DT_PREINIT_ARRAY = 32 , LIEF_DT_PREINIT_ARRAYSZ = 33 , LIEF_DT_LOOS = 0x60000000 , LIEF_DT_HIOS = 0x6FFFFFFF ,
  LIEF_DT_LOPROC = 0x70000000 , LIEF_DT_HIPROC = 0x7FFFFFFF , LIEF_DT_GNU_HASH = 0x6FFFFEF5 , LIEF_DT_RELACOUNT = 0x6FFFFFF9 ,
  LIEF_DT_RELCOUNT = 0x6FFFFFFA , LIEF_DT_FLAGS_1 = 0x6FFFFFFB , LIEF_DT_VERSYM = 0x6FFFFFF0 , LIEF_DT_VERDEF = 0x6FFFFFFC ,
  LIEF_DT_VERDEFNUM = 0x6FFFFFFD , LIEF_DT_VERNEED = 0x6FFFFFFE , LIEF_DT_VERNEEDNUM = 0x6FFFFFFF , LIEF_DT_MIPS_RLD_VERSION = 0x70000001 ,
  LIEF_DT_MIPS_TIME_STAMP = 0x70000002 , LIEF_DT_MIPS_ICHECKSUM = 0x70000003 , LIEF_DT_MIPS_IVERSION = 0x70000004 , LIEF_DT_MIPS_FLAGS = 0x70000005 ,
  LIEF_DT_MIPS_BASE_ADDRESS = 0x70000006 , LIEF_DT_MIPS_MSYM = 0x70000007 , LIEF_DT_MIPS_CONFLICT = 0x70000008 , LIEF_DT_MIPS_LIBLIST = 0x70000009 ,
  LIEF_DT_MIPS_LOCAL_GOTNO = 0x7000000a , LIEF_DT_MIPS_CONFLICTNO = 0x7000000b , LIEF_DT_MIPS_LIBLISTNO = 0x70000010 , LIEF_DT_MIPS_SYMTABNO = 0x70000011 ,
  LIEF_DT_MIPS_UNREFEXTNO = 0x70000012 , LIEF_DT_MIPS_GOTSYM = 0x70000013 , LIEF_DT_MIPS_HIPAGENO = 0x70000014 , LIEF_DT_MIPS_RLD_MAP = 0x70000016 ,
  LIEF_DT_MIPS_DELTA_CLASS = 0x70000017 , LIEF_DT_MIPS_DELTA_CLASS_NO = 0x70000018 , LIEF_DT_MIPS_DELTA_INSTANCE = 0x70000019 , LIEF_DT_MIPS_DELTA_INSTANCE_NO = 0x7000001A ,
  LIEF_DT_MIPS_DELTA_RELOC = 0x7000001B , LIEF_DT_MIPS_DELTA_RELOC_NO = 0x7000001C , LIEF_DT_MIPS_DELTA_SYM = 0x7000001D , LIEF_DT_MIPS_DELTA_SYM_NO = 0x7000001E ,
  LIEF_DT_MIPS_DELTA_CLASSSYM = 0x70000020 , LIEF_DT_MIPS_DELTA_CLASSSYM_NO = 0x70000021 , LIEF_DT_MIPS_CXX_FLAGS = 0x70000022 , LIEF_DT_MIPS_PIXIE_INIT = 0x70000023 ,
  LIEF_DT_MIPS_SYMBOL_LIB = 0x70000024 , LIEF_DT_MIPS_LOCALPAGE_GOTIDX = 0x70000025 , LIEF_DT_MIPS_LOCAL_GOTIDX = 0x70000026 , LIEF_DT_MIPS_HIDDEN_GOTIDX = 0x70000027 ,
  LIEF_DT_MIPS_PROTECTED_GOTIDX = 0x70000028 , LIEF_DT_MIPS_OPTIONS = 0x70000029 , LIEF_DT_MIPS_INTERFACE = 0x7000002A , LIEF_DT_MIPS_DYNSTR_ALIGN = 0x7000002B ,
  LIEF_DT_MIPS_INTERFACE_SIZE = 0x7000002C , LIEF_DT_MIPS_RLD_TEXT_RESOLVE_ADDR = 0x7000002D , LIEF_DT_MIPS_PERF_SUFFIX = 0x7000002E , LIEF_DT_MIPS_COMPACT_SIZE = 0x7000002F ,
  LIEF_DT_MIPS_GP_VALUE = 0x70000030 , LIEF_DT_MIPS_AUX_DYNAMIC = 0x70000031 , LIEF_DT_MIPS_PLTGOT = 0x70000032 , LIEF_DT_MIPS_RWPLT = 0x70000034 ,
  LIEF_DT_ANDROID_REL_OFFSET = 0x6000000D , LIEF_DT_ANDROID_REL_SIZE = 0x6000000E , LIEF_DT_ANDROID_REL = 0x6000000F , LIEF_DT_ANDROID_RELSZ = 0x60000010 ,
  LIEF_DT_ANDROID_RELA = 0x60000011 , LIEF_DT_ANDROID_RELASZ = 0x60000012 , LIEF_DT_RELR = 0x6FFFE000 , LIEF_DT_RELRSZ = 0x6FFFE001 ,
  LIEF_DT_RELRENT = 0x6FFFE003 , LIEF_DT_RELRCOUNT = 0x6FFFE005
}
 
enum  LIEF_DYNAMIC_FLAGS {
  LIEF_DF_ORIGIN = 0x00000001 , LIEF_DF_SYMBOLIC = 0x00000002 , LIEF_DF_TEXTREL = 0x00000004 , LIEF_DF_BIND_NOW = 0x00000008 ,
  LIEF_DF_STATIC_TLS = 0x00000010
}
 
enum  LIEF_DYNAMIC_FLAGS_1 {
  LIEF_DF_1_NOW = 0x00000001 , LIEF_DF_1_GLOBAL = 0x00000002 , LIEF_DF_1_GROUP = 0x00000004 , LIEF_DF_1_NODELETE = 0x00000008 ,
  LIEF_DF_1_LOADFLTR = 0x00000010 , LIEF_DF_1_INITFIRST = 0x00000020 , LIEF_DF_1_NOOPEN = 0x00000040 , LIEF_DF_1_ORIGIN = 0x00000080 ,
  LIEF_DF_1_DIRECT = 0x00000100 , LIEF_DF_1_TRANS = 0x00000200 , LIEF_DF_1_INTERPOSE = 0x00000400 , LIEF_DF_1_NODEFLIB = 0x00000800 ,
  LIEF_DF_1_NODUMP = 0x00001000 , LIEF_DF_1_CONFALT = 0x00002000 , LIEF_DF_1_ENDFILTEE = 0x00004000 , LIEF_DF_1_DISPRELDNE = 0x00008000 ,
  LIEF_DF_1_DISPRELPND = 0x00010000 , LIEF_DF_1_NODIRECT = 0x00020000 , LIEF_DF_1_IGNMULDEF = 0x00040000 , LIEF_DF_1_NOKSYMS = 0x00080000 ,
  LIEF_DF_1_NOHDR = 0x00100000 , LIEF_DF_1_EDITED = 0x00200000 , LIEF_DF_1_NORELOC = 0x00400000 , LIEF_DF_1_SYMINTPOSE = 0x00800000 ,
  LIEF_DF_1_GLOBAUDIT = 0x01000000 , LIEF_DF_1_SINGLETON = 0x02000000 , LIEF_DF_1_PIE = 0x08000000
}
 
enum  {
  LIEF_RHF_NONE = 0x00000000 , LIEF_RHF_QUICKSTART = 0x00000001 , LIEF_RHF_NOTPOT = 0x00000002 , LIEF_RHS_NO_LIBRARY_REPLACEMENT = 0x00000004 ,
  LIEF_RHF_NO_MOVE = 0x00000008 , LIEF_RHF_SGI_ONLY = 0x00000010 , LIEF_RHF_GUARANTEE_INIT = 0x00000020 , LIEF_RHF_DELTA_C_PLUS_PLUS = 0x00000040 ,
  LIEF_RHF_GUARANTEE_START_INIT = 0x00000080 , LIEF_RHF_PIXIE = 0x00000100 , LIEF_RHF_DEFAULT_DELAY_LOAD = 0x00000200 , LIEF_RHF_REQUICKSTART = 0x00000400 ,
  LIEF_RHF_REQUICKSTARTED = 0x00000800 , LIEF_RHF_CORD = 0x00001000 , LIEF_RHF_NO_UNRES_UNDEF = 0x00002000 , LIEF_RHF_RLD_ORDER_SAFE = 0x00004000
}
 
enum  { LIEF_VER_DEF_NONE = 0 , LIEF_VER_DEF_CURRENT = 1 }
 
enum  { LIEF_VER_FLG_BASE = 0x1 , LIEF_VER_FLG_WEAK = 0x2 , LIEF_VER_FLG_INFO = 0x4 }
 
enum  { LIEF_VER_NDX_LOCAL = 0 , LIEF_VER_NDX_GLOBAL = 1 , LIEF_VERSYM_VERSION = 0x7fff , LIEF_VERSYM_HIDDEN = 0x8000 }
 
enum  { LIEF_VER_NEED_NONE = 0 , LIEF_VER_NEED_CURRENT = 1 }
 
enum  LIEF_AUX_TYPE {
  LIEF_AT_NULL = 0 , LIEF_AT_IGNORE = 1 , LIEF_AT_EXECFD = 2 , LIEF_AT_PHDR = 3 ,
  LIEF_AT_PHENT = 4 , LIEF_AT_PHNUM = 5 , LIEF_AT_PAGESZ = 6 , LIEF_AT_BASE = 7 ,
  LIEF_AT_FLAGS = 8 , LIEF_AT_ENTRY = 9 , LIEF_AT_NOTELF = 10 , LIEF_AT_UID = 11 ,
  LIEF_AT_EUID = 12 , LIEF_AT_GID = 13 , LIEF_AT_EGID = 14 , LIEF_AT_CLKTCK = 17 ,
  LIEF_AT_PLATFORM = 15 , LIEF_AT_HWCAP = 16 , LIEF_AT_FPUCW = 18 , LIEF_AT_DCACHEBSIZE = 19 ,
  LIEF_AT_ICACHEBSIZE = 20 , LIEF_AT_UCACHEBSIZE = 21 , LIEF_AT_IGNOREPPC = 22 , LIEF_AT_SECURE = 23 ,
  LIEF_AT_BASE_PLATFORM = 24 , LIEF_AT_RANDOM = 25 , LIEF_AT_HWCAP2 = 26 , LIEF_AT_EXECFN = 31 ,
  LIEF_AT_SYSINFO = 32 , LIEF_AT_SYSINFO_EHDR = 33 , LIEF_AT_L1I_CACHESHAPE = 34 , LIEF_AT_L1D_CACHESHAPE = 35 ,
  LIEF_AT_L2_CACHESHAPE = 36 , LIEF_AT_L3_CACHESHAPE = 37
}
 
enum  LIEF_DYNSYM_COUNT_METHODS { LIEF_COUNT_AUTO = 0 , LIEF_COUNT_SECTION = 1 , LIEF_COUNT_HASH = 2 , LIEF_COUNT_RELOCATIONS = 3 }
 
enum  LIEF_NOTE_TYPES {
  LIEF_NT_UNKNOWN = 0 , LIEF_NT_GNU_ABI_TAG = 1 , LIEF_NT_GNU_HWCAP = 2 , LIEF_NT_GNU_BUILD_ID = 3 ,
  LIEF_NT_GNU_GOLD_VERSION = 4 , LIEF_NT_GNU_PROPERTY_TYPE_0 = 5 , LIEF_NT_GNU_BUILD_ATTRIBUTE_OPEN = 0x100 , LIEF_NT_GNU_BUILD_ATTRIBUTE_FUNC = 0x101 ,
  LIEF_NT_CRASHPAD = 0x4f464e49
}
 
enum  LIEF_NOTE_TYPES_CORE {
  LIEF_NT_CORE_UNKNOWN = 0 , LIEF_NT_PRSTATUS = 1 , LIEF_NT_PRFPREG = 2 , LIEF_NT_PRPSINFO = 3 ,
  LIEF_NT_TASKSTRUCT = 4 , LIEF_NT_AUXV = 6 , LIEF_NT_SIGINFO = 0x53494749 , LIEF_NT_FILE = 0x46494c45 ,
  LIEF_NT_PRXFPREG = 0x46e62b7f , LIEF_NT_ARM_VFP = 0x400 , LIEF_NT_ARM_TLS = 0x401 , LIEF_NT_ARM_HW_BREAK = 0x402 ,
  LIEF_NT_ARM_HW_WATCH = 0x403 , LIEF_NT_ARM_SYSTEM_CALL = 0x404 , LIEF_NT_ARM_SVE = 0x405 , LIEF_NT_386_TLS = 0x200 ,
  LIEF_NT_386_IOPERM = 0x201 , LIEF_NT_386_XSTATE = 0x202
}
 
enum  LIEF_NOTE_ABIS {
  LIEF_ELF_NOTE_UNKNOWN = ~(unsigned int)(0) , LIEF_ELF_NOTE_OS_LINUX = 0 , LIEF_ELF_NOTE_OS_GNU = 1 , LIEF_ELF_NOTE_OS_SOLARIS2 = 2 ,
  LIEF_ELF_NOTE_OS_FREEBSD = 3 , LIEF_ELF_NOTE_OS_NETBSD = 4 , LIEF_ELF_NOTE_OS_SYLLABLE = 5
}
 
enum  LIEF_RELOCATION_PURPOSES { LIEF_RELOC_PURPOSE_NONE = 0 , LIEF_RELOC_PURPOSE_PLTGOT = 1 , LIEF_RELOC_PURPOSE_DYNAMIC = 2 , LIEF_RELOC_PURPOSE_OBJECT = 3 }
 

Macro Definition Documentation

◆ ELF_RELOC

#define ELF_RELOC ( name,
value )   name = value,

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
LIEF_RHF_NONE 
LIEF_RHF_QUICKSTART 
LIEF_RHF_NOTPOT 
LIEF_RHS_NO_LIBRARY_REPLACEMENT 
LIEF_RHF_NO_MOVE 
LIEF_RHF_SGI_ONLY 
LIEF_RHF_GUARANTEE_INIT 
LIEF_RHF_DELTA_C_PLUS_PLUS 
LIEF_RHF_GUARANTEE_START_INIT 
LIEF_RHF_PIXIE 
LIEF_RHF_DEFAULT_DELAY_LOAD 
LIEF_RHF_REQUICKSTART 
LIEF_RHF_REQUICKSTARTED 
LIEF_RHF_CORD 
LIEF_RHF_NO_UNRES_UNDEF 
LIEF_RHF_RLD_ORDER_SAFE 

◆ anonymous enum

anonymous enum

ElfXX_VerDef structure version (GNU versioning)

Enumerator
LIEF_VER_DEF_NONE 
LIEF_VER_DEF_CURRENT 

◆ anonymous enum

anonymous enum

VerDef Flags (ElfXX_VerDef::vd_flags)

Enumerator
LIEF_VER_FLG_BASE 
LIEF_VER_FLG_WEAK 
LIEF_VER_FLG_INFO 

◆ anonymous enum

anonymous enum

Special constants for the version table. (SHT_GNU_versym/.gnu.version)

Enumerator
LIEF_VER_NDX_LOCAL 

Unversioned local symbol

LIEF_VER_NDX_GLOBAL 

Unversioned global symbol

LIEF_VERSYM_VERSION 

Version Index mask

LIEF_VERSYM_HIDDEN 

Hidden bit (non-default version

◆ anonymous enum

anonymous enum

ElfXX_VerNeed structure version (GNU versioning)

Enumerator
LIEF_VER_NEED_NONE 
LIEF_VER_NEED_CURRENT 

◆ LIEF_ARCH

enum LIEF_ARCH

Machine architectures See current registered ELF machine architectures at: http://www.sco.com/developers/gabi/latest/ch4.eheader.html.

Enumerator
LIEF_EM_NONE 

No machine

LIEF_EM_M32 

AT&T WE 32100

LIEF_EM_SPARC 

SPARC

LIEF_EM_386 

Intel 386

LIEF_EM_68K 

Motorola 68000

LIEF_EM_88K 

Motorola 88000

LIEF_EM_IAMCU 

Intel MCU

LIEF_EM_860 

Intel 80860

LIEF_EM_MIPS 

MIPS R3000

LIEF_EM_S370 

IBM System/370

LIEF_EM_MIPS_RS3_LE 

MIPS RS3000 Little-endian

LIEF_EM_PARISC 

Hewlett-Packard PA-RISC

LIEF_EM_VPP500 

Fujitsu VPP500

LIEF_EM_SPARC32PLUS 

Enhanced instruction set SPARC

LIEF_EM_960 

Intel 80960

LIEF_EM_PPC 

PowerPC

LIEF_EM_PPC64 

PowerPC64

LIEF_EM_S390 

IBM System/390

LIEF_EM_SPU 

IBM SPU/SPC

LIEF_EM_V800 

NEC V800

LIEF_EM_FR20 

Fujitsu FR20

LIEF_EM_RH32 

TRW RH-32

LIEF_EM_RCE 

Motorola RCE

LIEF_EM_ARM 

ARM

LIEF_EM_ALPHA 

DEC Alpha

LIEF_EM_SH 

Hitachi SH

LIEF_EM_SPARCV9 

SPARC V9

LIEF_EM_TRICORE 

Siemens TriCore

LIEF_EM_ARC 

Argonaut RISC Core

LIEF_EM_H8_300 

Hitachi H8/300

LIEF_EM_H8_300H 

Hitachi H8/300H

LIEF_EM_H8S 

Hitachi H8S

LIEF_EM_H8_500 

Hitachi H8/500

LIEF_EM_IA_64 

Intel IA-64 processor architecture

LIEF_EM_MIPS_X 

Stanford MIPS-X

LIEF_EM_COLDFIRE 

Motorola ColdFire

LIEF_EM_68HC12 

Motorola M68HC12

LIEF_EM_MMA 

Fujitsu MMA Multimedia Accelerator

LIEF_EM_PCP 

Siemens PCP

LIEF_EM_NCPU 

Sony nCPU embedded RISC processor

LIEF_EM_NDR1 

Denso NDR1 microprocessor

LIEF_EM_STARCORE 

Motorola Star*Core processor

LIEF_EM_ME16 

Toyota ME16 processor

LIEF_EM_ST100 

STMicroelectronics ST100 processor

LIEF_EM_TINYJ 

Advanced Logic Corp. TinyJ embedded processor family

LIEF_EM_X86_64 

AMD x86-64 architecture

LIEF_EM_PDSP 

Sony DSP Processor

LIEF_EM_PDP10 

Digital Equipment Corp. PDP-10

LIEF_EM_PDP11 

Digital Equipment Corp. PDP-11

LIEF_EM_FX66 

Siemens FX66 microcontroller

LIEF_EM_ST9PLUS 

STMicroelectronics ST9+ 8/16 bit microcontroller

LIEF_EM_ST7 

STMicroelectronics ST7 8-bit microcontroller

LIEF_EM_68HC16 

Motorola MC68HC16 Microcontroller

LIEF_EM_68HC11 

Motorola MC68HC11 Microcontroller

LIEF_EM_68HC08 

Motorola MC68HC08 Microcontroller

LIEF_EM_68HC05 

Motorola MC68HC05 Microcontroller

LIEF_EM_SVX 

Silicon Graphics SVx

LIEF_EM_ST19 

STMicroelectronics ST19 8-bit microcontroller

LIEF_EM_VAX 

Digital VAX

LIEF_EM_CRIS 

Axis Communications 32-bit embedded processor

LIEF_EM_JAVELIN 

Infineon Technologies 32-bit embedded processor

LIEF_EM_FIREPATH 

Element 14 64-bit DSP Processor

LIEF_EM_ZSP 

LSI Logic 16-bit DSP Processor

LIEF_EM_MMIX 

Donald Knuth's educational 64-bit processor

LIEF_EM_HUANY 

Harvard University machine-independent object files

LIEF_EM_PRISM 

SiTera Prism

LIEF_EM_AVR 

Atmel AVR 8-bit microcontroller

LIEF_EM_FR30 

Fujitsu FR30

LIEF_EM_D10V 

Mitsubishi D10V

LIEF_EM_D30V 

Mitsubishi D30V

LIEF_EM_V850 

NEC v850

LIEF_EM_M32R 

Mitsubishi M32R

LIEF_EM_MN10300 

Matsushita MN10300

LIEF_EM_MN10200 

Matsushita MN10200

LIEF_EM_PJ 

picoJava

LIEF_EM_OPENRISC 

OpenRISC 32-bit embedded processor

LIEF_EM_ARC_COMPACT 

ARC International ARCompact processor (old spelling/synonym: EM_ARC_A5

LIEF_EM_XTENSA 

Tensilica Xtensa Architecture

LIEF_EM_VIDEOCORE 

Alphamosaic VideoCore processor

LIEF_EM_TMM_GPP 

Thompson Multimedia General Purpose Processor

LIEF_EM_NS32K 

National Semiconductor 32000 series

LIEF_EM_TPC 

Tenor Network TPC processor

LIEF_EM_SNP1K 

Trebia SNP 1000 processor

LIEF_EM_ST200 

STMicroelectronics (www.st.com ST200

LIEF_EM_IP2K 

Ubicom IP2xxx microcontroller family

LIEF_EM_MAX 

MAX Processor

LIEF_EM_CR 

National Semiconductor CompactRISC microprocessor

LIEF_EM_F2MC16 

Fujitsu F2MC16

LIEF_EM_MSP430 

Texas Instruments embedded microcontroller msp430

LIEF_EM_BLACKFIN 

Analog Devices Blackfin (DSP processor

LIEF_EM_SE_C33 

S1C33 Family of Seiko Epson processors

LIEF_EM_SEP 

Sharp embedded microprocessor

LIEF_EM_ARCA 

Arca RISC Microprocessor

LIEF_EM_UNICORE 

Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University

LIEF_EM_EXCESS 

eXcess: 16/32/64-bit configurable embedded CPU

LIEF_EM_DXP 

Icera Semiconductor Inc. Deep Execution Processor

LIEF_EM_ALTERA_NIOS2 

Altera Nios II soft-core processor

LIEF_EM_CRX 

National Semiconductor CompactRISC CRX

LIEF_EM_XGATE 

Motorola XGATE embedded processor

LIEF_EM_C166 

Infineon C16x/XC16x processor

LIEF_EM_M16C 

Renesas M16C series microprocessors

LIEF_EM_DSPIC30F 

Microchip Technology dsPIC30F Digital Signal

LIEF_EM_CE 

Freescale Communication Engine RISC core

LIEF_EM_M32C 

Renesas M32C series microprocessors

LIEF_EM_TSK3000 

Altium TSK3000 core

LIEF_EM_RS08 

Freescale RS08 embedded processor

LIEF_EM_SHARC 

Analog Devices SHARC family of 32-bit DSP

LIEF_EM_ECOG2 

Cyan Technology eCOG2 microprocessor

LIEF_EM_SCORE7 

Sunplus S+core7 RISC processor

LIEF_EM_DSP24 

New Japan Radio (NJR 24-bit DSP Processor

LIEF_EM_VIDEOCORE3 

Broadcom VideoCore III processor

LIEF_EM_LATTICEMICO32 

RISC processor for Lattice FPGA architecture

LIEF_EM_SE_C17 

Seiko Epson C17 family

LIEF_EM_TI_C6000 

The Texas Instruments TMS320C6000 DSP family

LIEF_EM_TI_C2000 

The Texas Instruments TMS320C2000 DSP family

LIEF_EM_TI_C5500 

The Texas Instruments TMS320C55x DSP family

LIEF_EM_MMDSP_PLUS 

STMicroelectronics 64bit VLIW Data Signal Processor

LIEF_EM_CYPRESS_M8C 

Cypress M8C microprocessor

LIEF_EM_R32C 

Renesas R32C series microprocessors

LIEF_EM_TRIMEDIA 

NXP Semiconductors TriMedia architecture family

LIEF_EM_HEXAGON 

Qualcomm Hexagon processor

LIEF_EM_8051 

Intel 8051 and variants

LIEF_EM_STXP7X 

STMicroelectronics STxP7x family of configurable

LIEF_EM_NDS32 
LIEF_EM_ECOG1 

Cyan Technology eCOG1X family

LIEF_EM_ECOG1X 

Cyan Technology eCOG1X family

LIEF_EM_MAXQ30 

Dallas Semiconductor MAXQ30 Core Micro-controllers

LIEF_EM_XIMO16 

New Japan Radio (NJR 16-bit DSP Processor

LIEF_EM_MANIK 

M2000 Reconfigurable RISC Microprocessor

LIEF_EM_CRAYNV2 

Cray Inc. NV2 vector architecture

LIEF_EM_RX 

Renesas RX family

LIEF_EM_METAG 

Imagination Technologies META processor

LIEF_EM_MCST_ELBRUS 

MCST Elbrus general purpose hardware architecture

LIEF_EM_ECOG16 

Cyan Technology eCOG16 family

LIEF_EM_CR16 

National Semiconductor CompactRISC CR16 16-bit

LIEF_EM_ETPU 

Freescale Extended Time Processing Unit

LIEF_EM_SLE9X 

Infineon Technologies SLE9X core

LIEF_EM_L10M 

Intel L10M

LIEF_EM_K10M 

Intel K10M

LIEF_EM_AARCH64 

ARM AArch64

LIEF_EM_AVR32 

Atmel Corporation 32-bit microprocessor family

LIEF_EM_STM8 

STMicroeletronics STM8 8-bit microcontroller

LIEF_EM_TILE64 

Tilera TILE64 multicore architecture family

LIEF_EM_TILEPRO 

Tilera TILEPro multicore architecture family

LIEF_EM_CUDA 

NVIDIA CUDA architecture

LIEF_EM_TILEGX 

Tilera TILE-Gx multicore architecture family

LIEF_EM_CLOUDSHIELD 

CloudShield architecture family

LIEF_EM_COREA_1ST 

KIPO-KAIST Core-A 1st generation processor family

LIEF_EM_COREA_2ND 

KIPO-KAIST Core-A 2nd generation processor family

LIEF_EM_ARC_COMPACT2 

Synopsys ARCompact V2

LIEF_EM_OPEN8 

Open8 8-bit RISC soft processor core

LIEF_EM_RL78 

Renesas RL78 family

LIEF_EM_VIDEOCORE5 

Broadcom VideoCore V processor

LIEF_EM_78KOR 

Renesas 78KOR family

LIEF_EM_56800EX 

Freescale 56800EX Digital Signal Controller (DSC

LIEF_EM_BA1 

Beyond BA1 CPU architecture

LIEF_EM_BA2 

Beyond BA2 CPU architecture

LIEF_EM_XCORE 

XMOS xCORE processor family

LIEF_EM_MCHP_PIC 

Microchip 8-bit PIC(r family

LIEF_EM_INTEL205 

Reserved by Intel

LIEF_EM_INTEL206 

Reserved by Intel

LIEF_EM_INTEL207 

Reserved by Intel

LIEF_EM_INTEL208 

Reserved by Intel

LIEF_EM_INTEL209 

Reserved by Intel

LIEF_EM_KM32 

KM211 KM32 32-bit processor

LIEF_EM_KMX32 

KM211 KMX32 32-bit processor

LIEF_EM_KMX16 

KM211 KMX16 16-bit processor

LIEF_EM_KMX8 

KM211 KMX8 8-bit processor

LIEF_EM_KVARC 

KM211 KVARC processor

LIEF_EM_CDP 

Paneve CDP architecture family

LIEF_EM_COGE 

Cognitive Smart Memory Processor

LIEF_EM_COOL 

iCelero CoolEngine

LIEF_EM_NORC 

Nanoradio Optimized RISC

LIEF_EM_CSR_KALIMBA 

CSR Kalimba architecture family

LIEF_EM_AMDGPU 

AMD GPU architecture

LIEF_EM_RISCV 

RISC-V

LIEF_EM_BPF 

eBPF Filter

LIEF_EM_LOONGARCH 

LoongArch

◆ LIEF_ARM_EFLAGS

Enumerator
LIEF_EF_ARM_SOFT_FLOAT 
LIEF_EF_ARM_VFP_FLOAT 
LIEF_EF_ARM_EABI_UNKNOWN 
LIEF_EF_ARM_EABI_VER1 
LIEF_EF_ARM_EABI_VER2 
LIEF_EF_ARM_EABI_VER3 
LIEF_EF_ARM_EABI_VER4 
LIEF_EF_ARM_EABI_VER5 
LIEF_EF_ARM_EABIMASK 

◆ LIEF_AUX_TYPE

Enumerator
LIEF_AT_NULL 

End of vector

LIEF_AT_IGNORE 

Entry should be ignored

LIEF_AT_EXECFD 

File descriptor of program

LIEF_AT_PHDR 

Program headers for program

LIEF_AT_PHENT 

Size of program header entry

LIEF_AT_PHNUM 

Number of program headers

LIEF_AT_PAGESZ 

System page size

LIEF_AT_BASE 

Base address of interpreter

LIEF_AT_FLAGS 

Flags

LIEF_AT_ENTRY 

Entry point of program

LIEF_AT_NOTELF 

Program is not ELF

LIEF_AT_UID 

Real uid

LIEF_AT_EUID 

Effective uid

LIEF_AT_GID 

Real gid

LIEF_AT_EGID 

Effective gid

LIEF_AT_CLKTCK 

Frequency of times(

LIEF_AT_PLATFORM 

String identifying platform.

LIEF_AT_HWCAP 

Machine dependent hints about processor capabilities.

LIEF_AT_FPUCW 

Used FPU control word.

LIEF_AT_DCACHEBSIZE 

Data cache block size.

LIEF_AT_ICACHEBSIZE 

Instruction cache block size.

LIEF_AT_UCACHEBSIZE 

Unified cache block size.

LIEF_AT_IGNOREPPC 

Entry should be ignored.

LIEF_AT_SECURE 

Boolean, was exec setuid-like?

LIEF_AT_BASE_PLATFORM 

String identifying real platforms.

LIEF_AT_RANDOM 

Address of 16 random bytes.

LIEF_AT_HWCAP2 

Extension of AT_HWCAP.

LIEF_AT_EXECFN 

Filename of executable.

LIEF_AT_SYSINFO 
LIEF_AT_SYSINFO_EHDR 
LIEF_AT_L1I_CACHESHAPE 
LIEF_AT_L1D_CACHESHAPE 
LIEF_AT_L2_CACHESHAPE 
LIEF_AT_L3_CACHESHAPE 

◆ LIEF_DYNAMIC_FLAGS

DT_FLAGS and DT_FLAGS_1 values.

Enumerator
LIEF_DF_ORIGIN 

The object may reference $ORIGIN.

LIEF_DF_SYMBOLIC 

Search the shared lib before searching the exe.

LIEF_DF_TEXTREL 

Relocations may modify a non-writable segment.

LIEF_DF_BIND_NOW 

Process all relocations on load.

LIEF_DF_STATIC_TLS 

Reject attempts to load dynamically.

◆ LIEF_DYNAMIC_FLAGS_1

Enumerator
LIEF_DF_1_NOW 

Set RTLD_NOW for this object.

LIEF_DF_1_GLOBAL 

Set RTLD_GLOBAL for this object.

LIEF_DF_1_GROUP 

Set RTLD_GROUP for this object.

LIEF_DF_1_NODELETE 

Set RTLD_NODELETE for this object.

LIEF_DF_1_LOADFLTR 

Trigger filtee loading at runtime.

LIEF_DF_1_INITFIRST 

Set RTLD_INITFIRST for this object.

LIEF_DF_1_NOOPEN 

Set RTLD_NOOPEN for this object.

LIEF_DF_1_ORIGIN 

$ORIGIN must be handled.

LIEF_DF_1_DIRECT 

Direct binding enabled.

LIEF_DF_1_TRANS 
LIEF_DF_1_INTERPOSE 

Object is used to interpose.

LIEF_DF_1_NODEFLIB 

Ignore default lib search path.

LIEF_DF_1_NODUMP 

Object can't be dldump'ed.

LIEF_DF_1_CONFALT 

Configuration alternative created.

LIEF_DF_1_ENDFILTEE 

Filtee terminates filters search.

LIEF_DF_1_DISPRELDNE 

Disp reloc applied at build time.

LIEF_DF_1_DISPRELPND 

Disp reloc applied at run-time.

LIEF_DF_1_NODIRECT 

Object has no-direct binding.

LIEF_DF_1_IGNMULDEF 
LIEF_DF_1_NOKSYMS 
LIEF_DF_1_NOHDR 
LIEF_DF_1_EDITED 

Object is modified after built.

LIEF_DF_1_NORELOC 
LIEF_DF_1_SYMINTPOSE 

Object has individual interposers.

LIEF_DF_1_GLOBAUDIT 

Global auditing required.

LIEF_DF_1_SINGLETON 

Singleton symbols are used.

LIEF_DF_1_PIE 

Singleton symbols are used.

◆ LIEF_DYNAMIC_TAGS

Dynamic table entry tags.

Enumerator
LIEF_DT_NULL 

Marks end of dynamic array.

LIEF_DT_NEEDED 

String table offset of needed library.

LIEF_DT_PLTRELSZ 

Size of relocation entries in PLT.

LIEF_DT_PLTGOT 

Address associated with linkage table.

LIEF_DT_HASH 

Address of symbolic hash table.

LIEF_DT_STRTAB 

Address of dynamic string table.

LIEF_DT_SYMTAB 

Address of dynamic symbol table.

LIEF_DT_RELA 

Address of relocation table (Rela entries.

LIEF_DT_RELASZ 

Size of Rela relocation table.

LIEF_DT_RELAENT 

Size of a Rela relocation entry.

LIEF_DT_STRSZ 

Total size of the string table.

LIEF_DT_SYMENT 

Size of a symbol table entry.

LIEF_DT_INIT 

Address of initialization function.

LIEF_DT_FINI 

Address of termination function.

LIEF_DT_SONAME 

String table offset of a shared objects name.

LIEF_DT_RPATH 

String table offset of library search path.

LIEF_DT_SYMBOLIC 

Changes symbol resolution algorithm.

LIEF_DT_REL 

Address of relocation table (Rel entries.

LIEF_DT_RELSZ 

Size of Rel relocation table.

LIEF_DT_RELENT 

Size of a Rel relocation entry.

LIEF_DT_PLTREL 

Type of relocation entry used for linking.

LIEF_DT_DEBUG 

Reserved for debugger.

LIEF_DT_TEXTREL 

Relocations exist for non-writable segments.

LIEF_DT_JMPREL 

Address of relocations associated with PLT.

LIEF_DT_BIND_NOW 

Process all relocations before execution.

LIEF_DT_INIT_ARRAY 

Pointer to array of initialization functions.

LIEF_DT_FINI_ARRAY 

Pointer to array of termination functions.

LIEF_DT_INIT_ARRAYSZ 

Size of DT_INIT_ARRAY.

LIEF_DT_FINI_ARRAYSZ 

Size of DT_FINI_ARRAY.

LIEF_DT_RUNPATH 

String table offset of lib search path.

LIEF_DT_FLAGS 

Flags.

LIEF_DT_ENCODING 

Values from here to DT_LOOS follow the rules for the interpretation of the d_un union.

LIEF_DT_PREINIT_ARRAY 

Pointer to array of preinit functions.

LIEF_DT_PREINIT_ARRAYSZ 

Size of the DT_PREINIT_ARRAY array.

LIEF_DT_LOOS 

Start of environment specific tags.

LIEF_DT_HIOS 

End of environment specific tags.

LIEF_DT_LOPROC 

Start of processor specific tags.

LIEF_DT_HIPROC 

End of processor specific tags.

LIEF_DT_GNU_HASH 

Reference to the GNU hash table.

LIEF_DT_RELACOUNT 

ELF32_Rela count.

LIEF_DT_RELCOUNT 

ELF32_Rel count.

LIEF_DT_FLAGS_1 

Flags_1.

LIEF_DT_VERSYM 

The address of .gnu.version section.

LIEF_DT_VERDEF 

The address of the version definition table.

LIEF_DT_VERDEFNUM 

The number of entries in DT_VERDEF.

LIEF_DT_VERNEED 

The address of the version Dependency table.

LIEF_DT_VERNEEDNUM 

The number of entries in DT_VERNEED.

LIEF_DT_MIPS_RLD_VERSION 

32 bit version number for runtime linker interface.

LIEF_DT_MIPS_TIME_STAMP 

Time stamp.

LIEF_DT_MIPS_ICHECKSUM 

Checksum of external strings and common sizes.

LIEF_DT_MIPS_IVERSION 

Index of version string in string table.

LIEF_DT_MIPS_FLAGS 

32 bits of flags.

LIEF_DT_MIPS_BASE_ADDRESS 

Base address of the segment.

LIEF_DT_MIPS_MSYM 

Address of .msym section.

LIEF_DT_MIPS_CONFLICT 

Address of .conflict section.

LIEF_DT_MIPS_LIBLIST 

Address of .liblist section.

LIEF_DT_MIPS_LOCAL_GOTNO 

Number of local global offset table entries.

LIEF_DT_MIPS_CONFLICTNO 

Number of entries in the .conflict section.

LIEF_DT_MIPS_LIBLISTNO 

Number of entries in the .liblist section.

LIEF_DT_MIPS_SYMTABNO 

Number of entries in the .dynsym section.

LIEF_DT_MIPS_UNREFEXTNO 

Index of first external dynamic symbol not referenced locally.

LIEF_DT_MIPS_GOTSYM 

Index of first dynamic symbol in global offset table.

LIEF_DT_MIPS_HIPAGENO 

Number of page table entries in global offset table.

LIEF_DT_MIPS_RLD_MAP 

Address of run time loader map, used for debugging.

LIEF_DT_MIPS_DELTA_CLASS 

Delta C++ class definition.

LIEF_DT_MIPS_DELTA_CLASS_NO 

Number of entries in DT_MIPS_DELTA_CLASS.

LIEF_DT_MIPS_DELTA_INSTANCE 

Delta C++ class instances.

LIEF_DT_MIPS_DELTA_INSTANCE_NO 

Number of entries in DT_MIPS_DELTA_INSTANCE.

LIEF_DT_MIPS_DELTA_RELOC 

Delta relocations.

LIEF_DT_MIPS_DELTA_RELOC_NO 

Number of entries in DT_MIPS_DELTA_RELOC.

LIEF_DT_MIPS_DELTA_SYM 

Delta symbols that Delta relocations refer to.

LIEF_DT_MIPS_DELTA_SYM_NO 

Number of entries in DT_MIPS_DELTA_SYM.

LIEF_DT_MIPS_DELTA_CLASSSYM 

Delta symbols that hold class declarations.

LIEF_DT_MIPS_DELTA_CLASSSYM_NO 

Number of entries in DT_MIPS_DELTA_CLASSSYM.

LIEF_DT_MIPS_CXX_FLAGS 

Flags indicating information about C++ flavor.

LIEF_DT_MIPS_PIXIE_INIT 

Pixie information.

LIEF_DT_MIPS_SYMBOL_LIB 

Address of .MIPS.symlib

LIEF_DT_MIPS_LOCALPAGE_GOTIDX 

The GOT index of the first PTE for a segment

LIEF_DT_MIPS_LOCAL_GOTIDX 

The GOT index of the first PTE for a local symbol

LIEF_DT_MIPS_HIDDEN_GOTIDX 

The GOT index of the first PTE for a hidden symbol

LIEF_DT_MIPS_PROTECTED_GOTIDX 

The GOT index of the first PTE for a protected symbol

LIEF_DT_MIPS_OPTIONS 

Address of ‘.MIPS.options’.

LIEF_DT_MIPS_INTERFACE 

Address of ‘.interface’.

LIEF_DT_MIPS_DYNSTR_ALIGN 

Unknown.

LIEF_DT_MIPS_INTERFACE_SIZE 

Size of the .interface section.

LIEF_DT_MIPS_RLD_TEXT_RESOLVE_ADDR 

Size of rld_text_resolve function stored in the GOT.

LIEF_DT_MIPS_PERF_SUFFIX 

Default suffix of DSO to be added by rld on dlopen( calls.

LIEF_DT_MIPS_COMPACT_SIZE 

Size of compact relocation section (O32.

LIEF_DT_MIPS_GP_VALUE 

GP value for auxiliary GOTs.

LIEF_DT_MIPS_AUX_DYNAMIC 

Address of auxiliary .dynamic.

LIEF_DT_MIPS_PLTGOT 

Address of the base of the PLTGOT.

LIEF_DT_MIPS_RWPLT 

Points to the base of a writable PLT.

LIEF_DT_ANDROID_REL_OFFSET 

The offset of packed relocation data (older version < M) (Android specific.

LIEF_DT_ANDROID_REL_SIZE 

The size of packed relocation data in bytes (older version < M) (Android specific.

LIEF_DT_ANDROID_REL 

The offset of packed relocation data (Android specific.

LIEF_DT_ANDROID_RELSZ 

The size of packed relocation data in bytes (Android specific.

LIEF_DT_ANDROID_RELA 

The offset of packed relocation data (Android specific.

LIEF_DT_ANDROID_RELASZ 

The size of packed relocation data in bytes (Android specific.

LIEF_DT_RELR 

The offset of new relr relocation data (Android specific.

LIEF_DT_RELRSZ 

The size of nre relr relocation data in bytes (Android specific.

LIEF_DT_RELRENT 

The size of a new relr relocation entry (Android specific.

LIEF_DT_RELRCOUNT 

Specifies the relative count of new relr relocation entries (Android specific.

◆ LIEF_DYNSYM_COUNT_METHODS

Methods that can be used by the LIEF::ELF::Parser to count the number of dynamic symbols

Enumerator
LIEF_COUNT_AUTO 

Automatic detection

LIEF_COUNT_SECTION 

Count based on sections (not very reliable

LIEF_COUNT_HASH 

Count based on hash table (reliable

LIEF_COUNT_RELOCATIONS 

Count based on PLT/GOT relocations (very reliable but not accurate

◆ LIEF_E_TYPE

Enum associated with e_type

Enumerator
LIEF_ET_NONE 

No file type

LIEF_ET_REL 

Relocatable file

LIEF_ET_EXEC 

Executable file

LIEF_ET_DYN 

Shared object file

LIEF_ET_CORE 

Core file

LIEF_ET_LOPROC 

Beginning of processor-specific codes

LIEF_ET_HIPROC 

Processor-specific

◆ LIEF_ELF_CLASS

Object file classes.

Enumerator
LIEF_ELFCLASSNONE 

Unknown

LIEF_ELFCLASS32 

32-bit object file

LIEF_ELFCLASS64 

64-bit object file

◆ LIEF_ELF_DATA

Object file byte orderings.

Enumerator
LIEF_ELFDATANONE 

Invalid data encoding.

LIEF_ELFDATA2LSB 

Little-endian object file

LIEF_ELFDATA2MSB 

Big-endian object file

◆ LIEF_ELF_SECTION_FLAGS

Section flags.

Enumerator
LIEF_SHF_NONE 
LIEF_SHF_WRITE 

Section data should be writable during execution.

LIEF_SHF_ALLOC 

Section occupies memory during program execution.

LIEF_SHF_EXECINSTR 

Section contains executable machine instructions.

LIEF_SHF_MERGE 

The data in this section may be merged.

LIEF_SHF_STRINGS 

The data in this section is null-terminated strings.

LIEF_SHF_INFO_LINK 

A field in this section holds a section header table index.

LIEF_SHF_LINK_ORDER 

Adds special ordering requirements for link editors.

LIEF_SHF_OS_NONCONFORMING 

This section requires special OS-specific processing to avoid incorrect behavior

LIEF_SHF_GROUP 

This section is a member of a section group.

LIEF_SHF_TLS 

This section holds Thread-Local Storage.

LIEF_SHF_EXCLUDE 

This section is excluded from the final executable or shared library.

LIEF_XCORE_SHF_CP_SECTION 
LIEF_XCORE_SHF_DP_SECTION 
LIEF_SHF_MASKOS 
LIEF_SHF_MASKPROC 

Bits indicating processor-specific flags.

LIEF_SHF_X86_64_LARGE 
LIEF_SHF_HEX_GPREL 
LIEF_SHF_MIPS_NODUPES 
LIEF_SHF_MIPS_NAMES 

Linker must generate implicit hidden weak names.

LIEF_SHF_MIPS_LOCAL 

Section data local to process.

LIEF_SHF_MIPS_NOSTRIP 

Do not strip this section.

LIEF_SHF_MIPS_GPREL 

Section must be part of global data area.

LIEF_SHF_MIPS_MERGE 

This section should be merged.

LIEF_SHF_MIPS_ADDR 

Address size to be inferred from section entry size.

LIEF_SHF_MIPS_STRING 

Section data is string data by default.

◆ LIEF_ELF_SECTION_TYPES

Section types.

Enumerator
LIEF_SHT_NULL 

No associated section (inactive entry.

LIEF_SHT_PROGBITS 

Program-defined contents.

LIEF_SHT_SYMTAB 

Symbol table.

LIEF_SHT_STRTAB 

String table.

LIEF_SHT_RELA 

Relocation entries; explicit addends.

LIEF_SHT_HASH 

Symbol hash table.

LIEF_SHT_DYNAMIC 

Information for dynamic linking.

LIEF_SHT_NOTE 

Information about the file.

LIEF_SHT_NOBITS 

Data occupies no space in the file.

LIEF_SHT_REL 

Relocation entries; no explicit addends.

LIEF_SHT_SHLIB 

Reserved.

LIEF_SHT_DYNSYM 

Symbol table.

LIEF_SHT_INIT_ARRAY 

Pointers to initialization functions.

LIEF_SHT_FINI_ARRAY 

Pointers to termination functions.

LIEF_SHT_PREINIT_ARRAY 

Pointers to pre-init functions.

LIEF_SHT_GROUP 

Section group.

LIEF_SHT_SYMTAB_SHNDX 

Indices for SHN_XINDEX entries.

LIEF_SHT_LOOS 

Lowest operating system-specific type.

LIEF_SHT_ANDROID_REL 

Packed relocations (Android specific.

LIEF_SHT_ANDROID_RELA 

Packed relocations (Android specific.

LIEF_SHT_LLVM_ADDRSIG 

This section is used to mark symbols as address-significant.

LIEF_SHT_RELR 

New relr relocations (Android specific.

LIEF_SHT_GNU_ATTRIBUTES 

Object attributes.

LIEF_SHT_GNU_HASH 

GNU-style hash table.

LIEF_SHT_GNU_verdef 

GNU version definitions.

LIEF_SHT_GNU_verneed 

GNU version references.

LIEF_SHT_GNU_versym 

GNU symbol versions table.

LIEF_SHT_HIOS 

Highest operating system-specific type.

LIEF_SHT_LOPROC 

Lowest processor arch-specific type.

LIEF_SHT_ARM_EXIDX 

Exception Index table

LIEF_SHT_ARM_PREEMPTMAP 

BPABI DLL dynamic linking pre-emption map

LIEF_SHT_ARM_ATTRIBUTES 

Object file compatibility attributes

LIEF_SHT_ARM_DEBUGOVERLAY 
LIEF_SHT_ARM_OVERLAYSECTION 
LIEF_SHT_HEX_ORDERED 

Link editor is to sort the entries in

LIEF_SHT_X86_64_UNWIND 

Unwind information

LIEF_SHT_MIPS_REGINFO 

Register usage information

LIEF_SHT_MIPS_OPTIONS 

General options

LIEF_SHT_MIPS_ABIFLAGS 

ABI information.

LIEF_SHT_HIPROC 

Highest processor arch-specific type.

LIEF_SHT_LOUSER 

Lowest type reserved for applications.

LIEF_SHT_HIUSER 

Highest type reserved for applications.

◆ LIEF_ELF_SEGMENT_FLAGS

Segment flags.

Enumerator
LIEF_PF_NONE 
LIEF_PF_X 

Execute

LIEF_PF_W 

Write

LIEF_PF_R 

Read

LIEF_PF_MASKOS 

Bits for operating system-specific semantics.

LIEF_PF_MASKPROC 

Bits for processor-specific semantics.

◆ LIEF_ELF_SYMBOL_TYPES

Enumerator
LIEF_STT_NOTYPE 
LIEF_STT_OBJECT 
LIEF_STT_FUNC 
LIEF_STT_SECTION 
LIEF_STT_FILE 
LIEF_STT_COMMON 
LIEF_STT_TLS 
LIEF_STT_GNU_IFUNC 
LIEF_STT_LOOS 
LIEF_STT_HIOS 
LIEF_STT_LOPROC 
LIEF_STT_HIPROC 

◆ LIEF_ELF_SYMBOL_VISIBILITY

Enumerator
LIEF_STV_DEFAULT 
LIEF_STV_INTERNAL 
LIEF_STV_HIDDEN 
LIEF_STV_PROTECTED 

◆ LIEF_HEXAGON_EFLAGS

Enumerator
LIEF_EF_HEXAGON_MACH_V2 
LIEF_EF_HEXAGON_MACH_V3 
LIEF_EF_HEXAGON_MACH_V4 
LIEF_EF_HEXAGON_MACH_V5 
LIEF_EF_HEXAGON_ISA_MACH 
LIEF_EF_HEXAGON_ISA_V2 
LIEF_EF_HEXAGON_ISA_V3 
LIEF_EF_HEXAGON_ISA_V4 
LIEF_EF_HEXAGON_ISA_V5 

◆ LIEF_IDENTITY

e_ident size and indices.

Enumerator
LIEF_EI_MAG0 

File identification index.

LIEF_EI_MAG1 

File identification index.

LIEF_EI_MAG2 

File identification index.

LIEF_EI_MAG3 

File identification index.

LIEF_EI_CLASS 

File class.

LIEF_EI_DATA 

Data encoding.

LIEF_EI_VERSION 

File version.

LIEF_EI_OSABI 

OS/ABI identification.

LIEF_EI_ABIVERSION 

ABI version.

LIEF_EI_PAD 

Start of padding bytes.

LIEF_EI_NIDENT 

Number of bytes in e_ident.

◆ LIEF_LOONGARCH_EFLAGS

Enumerator
LIEF_EF_LOONGARCH_ABI_SOFT_FLOAT 
LIEF_EF_LOONGARCH_ABI_SINGLE_FLOAT 
LIEF_EF_LOONGARCH_ABI_DOUBLE_FLOAT 

◆ LIEF_MIPS_EFLAGS

Enumerator
LIEF_EF_MIPS_NOREORDER 
LIEF_EF_MIPS_PIC 
LIEF_EF_MIPS_CPIC 
LIEF_EF_MIPS_ABI2 
LIEF_EF_MIPS_32BITMODE 
LIEF_EF_MIPS_FP64 
LIEF_EF_MIPS_NAN2008 
LIEF_EF_MIPS_ABI_O32 
LIEF_EF_MIPS_ABI_O64 
LIEF_EF_MIPS_ABI_EABI32 
LIEF_EF_MIPS_ABI_EABI64 
LIEF_EF_MIPS_ABI 
LIEF_EF_MIPS_MACH_3900 
LIEF_EF_MIPS_MACH_4010 
LIEF_EF_MIPS_MACH_4100 
LIEF_EF_MIPS_MACH_4650 
LIEF_EF_MIPS_MACH_4120 
LIEF_EF_MIPS_MACH_4111 
LIEF_EF_MIPS_MACH_SB1 
LIEF_EF_MIPS_MACH_OCTEON 
LIEF_EF_MIPS_MACH_XLR 
LIEF_EF_MIPS_MACH_OCTEON2 
LIEF_EF_MIPS_MACH_OCTEON3 
LIEF_EF_MIPS_MACH_5400 
LIEF_EF_MIPS_MACH_5900 
LIEF_EF_MIPS_MACH_5500 
LIEF_EF_MIPS_MACH_9000 
LIEF_EF_MIPS_MACH_LS2E 
LIEF_EF_MIPS_MACH_LS2F 
LIEF_EF_MIPS_MACH_LS3A 
LIEF_EF_MIPS_MACH 
LIEF_EF_MIPS_MICROMIPS 
LIEF_EF_MIPS_ARCH_ASE_M16 
LIEF_EF_MIPS_ARCH_ASE_MDMX 
LIEF_EF_MIPS_ARCH_ASE 
LIEF_EF_MIPS_ARCH_1 
LIEF_EF_MIPS_ARCH_2 
LIEF_EF_MIPS_ARCH_3 
LIEF_EF_MIPS_ARCH_4 
LIEF_EF_MIPS_ARCH_5 
LIEF_EF_MIPS_ARCH_32 
LIEF_EF_MIPS_ARCH_64 
LIEF_EF_MIPS_ARCH_32R2 
LIEF_EF_MIPS_ARCH_64R2 
LIEF_EF_MIPS_ARCH_32R6 
LIEF_EF_MIPS_ARCH_64R6 
LIEF_EF_MIPS_ARCH 

◆ LIEF_NOTE_ABIS

Enumerator
LIEF_ELF_NOTE_UNKNOWN 
LIEF_ELF_NOTE_OS_LINUX 
LIEF_ELF_NOTE_OS_GNU 
LIEF_ELF_NOTE_OS_SOLARIS2 
LIEF_ELF_NOTE_OS_FREEBSD 
LIEF_ELF_NOTE_OS_NETBSD 
LIEF_ELF_NOTE_OS_SYLLABLE 

◆ LIEF_NOTE_TYPES

Enumerator
LIEF_NT_UNKNOWN 
LIEF_NT_GNU_ABI_TAG 
LIEF_NT_GNU_HWCAP 
LIEF_NT_GNU_BUILD_ID 
LIEF_NT_GNU_GOLD_VERSION 
LIEF_NT_GNU_PROPERTY_TYPE_0 
LIEF_NT_GNU_BUILD_ATTRIBUTE_OPEN 
LIEF_NT_GNU_BUILD_ATTRIBUTE_FUNC 
LIEF_NT_CRASHPAD 

◆ LIEF_NOTE_TYPES_CORE

Enumerator
LIEF_NT_CORE_UNKNOWN 
LIEF_NT_PRSTATUS 
LIEF_NT_PRFPREG 
LIEF_NT_PRPSINFO 
LIEF_NT_TASKSTRUCT 
LIEF_NT_AUXV 
LIEF_NT_SIGINFO 
LIEF_NT_FILE 
LIEF_NT_PRXFPREG 
LIEF_NT_ARM_VFP 
LIEF_NT_ARM_TLS 
LIEF_NT_ARM_HW_BREAK 
LIEF_NT_ARM_HW_WATCH 
LIEF_NT_ARM_SYSTEM_CALL 
LIEF_NT_ARM_SVE 
LIEF_NT_386_TLS 
LIEF_NT_386_IOPERM 
LIEF_NT_386_XSTATE 

◆ LIEF_OS_ABI

OS ABI identification.

Enumerator
LIEF_OSABI_SYSTEMV 

UNIX System V ABI

LIEF_OSABI_HPUX 

HP-UX operating system

LIEF_OSABI_NETBSD 

NetBSD

LIEF_OSABI_GNU 

GNU/Linux

LIEF_OSABI_LINUX 

Historical alias for ELFOSABI_GNU.

LIEF_OSABI_HURD 

GNU/Hurd

LIEF_OSABI_SOLARIS 

Solaris

LIEF_OSABI_AIX 

AIX

LIEF_OSABI_IRIX 

IRIX

LIEF_OSABI_FREEBSD 

FreeBSD

LIEF_OSABI_TRU64 

TRU64 UNIX

LIEF_OSABI_MODESTO 

Novell Modesto

LIEF_OSABI_OPENBSD 

OpenBSD

LIEF_OSABI_OPENVMS 

OpenVMS

LIEF_OSABI_NSK 

Hewlett-Packard Non-Stop Kernel

LIEF_OSABI_AROS 

AROS

LIEF_OSABI_FENIXOS 

FenixOS

LIEF_OSABI_CLOUDABI 

Nuxi CloudABI

LIEF_OSABI_C6000_ELFABI 

Bare-metal TMS320C6000

LIEF_OSABI_AMDGPU_HSA 

AMD HSA runtime

LIEF_OSABI_C6000_LINUX 

Linux TMS320C6000

LIEF_OSABI_ARM 

ARM

LIEF_OSABI_STANDALONE 

Standalone (embedded application

◆ LIEF_PPC64_EFLAGS

Enumerator
LIEF_EF_PPC64_ABI 

◆ LIEF_RELOC_AARCH64

◆ LIEF_RELOC_ARM

◆ LIEF_RELOC_HEXAGON

◆ LIEF_RELOC_LOONGARCH

◆ LIEF_RELOC_MIPS

◆ LIEF_RELOC_POWERPC32

◆ LIEF_RELOC_POWERPC64

◆ LIEF_RELOC_SPARC

◆ LIEF_RELOC_SYSTEMZ

◆ LIEF_RELOC_x86_64

x86_64 relocations.

◆ LIEF_RELOCATION_PURPOSES

Enumerator
LIEF_RELOC_PURPOSE_NONE 
LIEF_RELOC_PURPOSE_PLTGOT 
LIEF_RELOC_PURPOSE_DYNAMIC 
LIEF_RELOC_PURPOSE_OBJECT 

◆ LIEF_SEGMENT_TYPES

Segment types.

Enumerator
LIEF_PT_NULL 

Unused segment.

LIEF_PT_LOAD 

Loadable segment.

LIEF_PT_DYNAMIC 

Dynamic linking information.

LIEF_PT_INTERP 

Interpreter pathname.

LIEF_PT_NOTE 

Auxiliary information.

LIEF_PT_SHLIB 

Reserved.

LIEF_PT_PHDR 

The program header table itself.

LIEF_PT_TLS 

The thread-local storage template.

LIEF_PT_LOOS 

Lowest operating system-specific pt entry type.

LIEF_PT_HIOS 

Highest operating system-specific pt entry type.

LIEF_PT_LOPROC 

Lowest processor-specific program hdr entry type.

LIEF_PT_HIPROC 

Highest processor-specific program hdr entry type.

LIEF_PT_GNU_EH_FRAME 
LIEF_PT_SUNW_EH_FRAME 
LIEF_PT_SUNW_UNWIND 
LIEF_PT_GNU_STACK 

Indicates stack executability.

LIEF_PT_GNU_PROPERTY 

GNU property

LIEF_PT_GNU_RELRO 

Read-only after relocation.

LIEF_PT_ARM_ARCHEXT 

Platform architecture compatibility info

LIEF_PT_ARM_EXIDX 
LIEF_PT_ARM_UNWIND 
LIEF_PT_MIPS_REGINFO 

Register usage information.

LIEF_PT_MIPS_RTPROC 

Runtime procedure table.

LIEF_PT_MIPS_OPTIONS 

Options segment.

LIEF_PT_MIPS_ABIFLAGS 

Abiflags segment.

◆ LIEF_SYMBOL_BINDINGS

Symbol bindings.

Enumerator
LIEF_STB_LOCAL 

Local symbol, not visible outside obj file containing def

LIEF_STB_GLOBAL 

Global symbol, visible to all object files being combined

LIEF_STB_WEAK 

Weak symbol, like global but lower-precedence

LIEF_STB_GNU_UNIQUE 
LIEF_STB_LOOS 

Lowest operating system-specific binding type

LIEF_STB_HIOS 

Highest operating system-specific binding type

LIEF_STB_LOPROC 

Lowest processor-specific binding type

LIEF_STB_HIPROC 

Highest processor-specific binding type

◆ LIEF_SYMBOL_SECTION_INDEX

Special section indices.

Enumerator
LIEF_SHN_UNDEF 

Undefined, missing, irrelevant, or meaningless

LIEF_SHN_LORESERVE 

Lowest reserved index

LIEF_SHN_LOPROC 

Lowest processor-specific index

LIEF_SHN_HIPROC 

Highest processor-specific index

LIEF_SHN_LOOS 

Lowest operating system-specific index

LIEF_SHN_HIOS 

Highest operating system-specific index

LIEF_SHN_ABS 

Symbol has absolute value; does not need relocation

LIEF_SHN_COMMON 

FORTRAN COMMON or C external global variables

LIEF_SHN_XINDEX 

Mark that the index is >= SHN_LORESERVE

LIEF_SHN_HIRESERVE 

Highest reserved index

◆ LIEF_VERSION

Versioning

Enumerator
LIEF_EV_NONE 
LIEF_EV_CURRENT 

Default value

◆ RELOC_i386

enum RELOC_i386

i386 relocations.