# typed: true

# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `elftools` gem.
# Please instead update this file by running `bin/tapioca gem elftools`.


module ELFTools; end

module ELFTools::Constants
  include ::ELFTools::Constants::DF
  include ::ELFTools::Constants::DT
  include ::ELFTools::Constants::EM
  include ::ELFTools::Constants::ET
  include ::ELFTools::Constants::PF
  include ::ELFTools::Constants::PT
  include ::ELFTools::Constants::SHN
  include ::ELFTools::Constants::SHF
  include ::ELFTools::Constants::SHT
  include ::ELFTools::Constants::STB
  include ::ELFTools::Constants::STT
end

module ELFTools::Constants::DF; end
ELFTools::Constants::DF::DF_1_CONFALT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_DIRECT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_DISPRELDNE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_DISPRELPND = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_EDITED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_ENDFILTEE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_GLOBAL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_GLOBAUDIT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_GROUP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_IGNMULDEF = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_INITFIRST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_INTERPOSE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_KMOD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_LOADFLTR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NOCOMMON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NODEFLIB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NODELETE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NODIRECT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NODUMP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NOHDR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NOKSYMS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NOOPEN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NORELOC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_NOW = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_ORIGIN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_PIE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_SINGLETON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_STUB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_SYMINTPOSE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_TRANS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_1_WEAKFILTER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_BIND_NOW = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_ORIGIN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_STATIC_TLS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_SYMBOLIC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DF::DF_TEXTREL = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::DT; end
ELFTools::Constants::DT::DT_ADDRRNGHI = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_ADDRRNGLO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_AUDIT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_AUXILIARY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_BIND_NOW = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_CONFIG = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_DEBUG = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_DEPAUDIT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_ENCODING = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_FILTER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_FINI = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_FINI_ARRAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_FINI_ARRAYSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_FLAGS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_FLAGS_1 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_GNU_CONFLICT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_GNU_HASH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_GNU_LIBLIST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_HASH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_HIOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_HIPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_INIT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_INIT_ARRAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_INIT_ARRAYSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_JMPREL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_LOOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_LOPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_AUX_DYNAMIC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_BASE_ADDRESS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_COMPACT_SIZE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_CONFLICT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_CONFLICTNO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_CXX_FLAGS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASSSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASSSYM_NO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASS_NO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_INSTANCE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_INSTANCE_NO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_RELOC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_RELOC_NO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_SYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DELTA_SYM_NO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_DYNSTR_ALIGN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_FLAGS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_GOTSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_GP_VALUE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_HIDDEN_GOTIDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_HIPAGENO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_ICHECKSUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_INTERFACE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_INTERFACE_SIZE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_IVERSION = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_LIBLIST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_LIBLISTNO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_LOCALPAGE_GOTIDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_LOCAL_GOTIDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_LOCAL_GOTNO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_MSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_OPTIONS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_PERF_SUFFIX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_PIXIE_INIT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_PLTGOT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_PROTECTED_GOTIDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_RLD_MAP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_RLD_MAP_REL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_RLD_TEXT_RESOLVE_ADDR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_RLD_VERSION = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_RWPLT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_SYMBOL_LIB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_SYMTABNO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_TIME_STAMP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_UNREFEXTNO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MIPS_XHASH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_MOVETAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_NEEDED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_NULL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PLTGOT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PLTPAD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PLTREL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PLTRELSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PPC64_GLINK = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PPC64_OPD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PPC64_OPDSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PPC64_OPT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PPC_GOT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PPC_OPT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PREINIT_ARRAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_PREINIT_ARRAYSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_REL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELACOUNT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELAENT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELASZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELCOUNT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELENT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELRENT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELRSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RELSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RPATH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_RUNPATH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SONAME = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SPARC_REGISTER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_STRSZ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_STRTAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SYMBOLIC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SYMENT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SYMINFO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SYMTAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_SYMTAB_SHNDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_TEXTREL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_TLSDESC_GOT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_TLSDESC_PLT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_USED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VALRNGHI = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VALRNGLO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VERDEF = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VERDEFNUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VERNEED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VERNEEDNUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::DT::DT_VERSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::ELFMAG = T.let(T.unsafe(nil), String)

module ELFTools::Constants::EM
  class << self
    def mapping(val); end
  end
end

ELFTools::Constants::EM::EM_386 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_486 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_56800EF = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_56800EX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_65816 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_68HC05 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_68HC08 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_68HC11 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_68HC12 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_68HC16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_68K = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_78K0R = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_8051 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_860 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_88K = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_960 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_AARCH64 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ALPHA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ALTERA_NIOS2 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_AMDGPU = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARCA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARC_COMPACT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARC_COMPACT2 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARC_COMPACT3 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARC_COMPACT3_64 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ARM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_AVR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_AVR32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_BA1 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_BA2 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_BLACKFIN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_BPF = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_C116 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CDP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CEVA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CEVA_X2 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CLOUDSHIELD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_COGE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_COLDFIRE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_COOL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_COREA_1ST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_COREA_2ND = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CR16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CRAYNV2 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CRIS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CRX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CSKY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CSR_KALIMBA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CUDA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CYGNUS_M32R = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CYGNUS_MN10300 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_CYPRESS_M8C = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_D10V = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_D30V = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_DSP24 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_DSPIC30F = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_DXP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ECOG1 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ECOG16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ECOG1X = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ECOG2 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ETPU = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_EXCESS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_F2MC16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_FIREPATH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_FR20 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_FR30 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_FRV = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_FT32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_FX66 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_GRAPHCORE_IPU = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_H8S = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_H8_300 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_H8_300H = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_H8_500 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_HUANY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_IA_64 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_IMG1 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_INTELGT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_IP2K = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_JAVELIN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_K1OM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KF32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KM32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KMX16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KMX32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KMX8 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KVARC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_KVX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_L1OM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_LANAI = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_LATTICEMICO32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_LOONGARCH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_M16C = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_M32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_M32C = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_M32R = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MANIK = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MAX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MAXQ30 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MCHP_PIC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MCS6502 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MCST_ELBRUS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ME16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_METAG = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MICROBLAZE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MIPS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MIPS_RS3_LE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MIPS_RS4_BE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MIPS_X = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MMA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MMDSP_PLUS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MMIX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MN10200 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MN10300 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MOXIE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_MSP430 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NCPU = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NDR1 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NDS32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NFP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NONE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NORC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_NS32K = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_OPEN8 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_OPENRISC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PARISC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PCP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PDP10 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PDP11 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PDSP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PJ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PPC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PPC64 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_PRISM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_QDSP6 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_R32C = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_RCE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_RH32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_RL78 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_RS08 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_RX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_S370 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_S390 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_S390_OLD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SCORE7 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SEP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SE_C17 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SE_C33 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SHARC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SLE9X = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SNP1K = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SPARC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SPARC32PLUS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SPARCV9 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SPU = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ST100 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ST19 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ST200 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ST7 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ST9PLUS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_STARCORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_STM8 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_STXP7X = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_SVX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TACHYUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TILE64 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TILEGX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TILEPRO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TINYJ = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TI_ARP32 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TI_C2000 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TI_C5500 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TI_C6000 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TI_PRU = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TMM_GPP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TPC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TRICORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TRIMEDIA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_TSK3000 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_U16_U8CORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_UNICORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_V800 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_V850 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VAX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VIDEOCORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VIDEOCORE3 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VIDEOCORE5 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VISIUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_VPP500 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_X86_64 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_XCORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_XGATE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_XIMO16 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_XTENSA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_Z80 = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::EM::EM_ZSP = T.let(T.unsafe(nil), Integer)

module ELFTools::Constants::ET
  class << self
    def mapping(type); end
  end
end

ELFTools::Constants::ET::ET_CORE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::ET::ET_DYN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::ET::ET_EXEC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::ET::ET_NONE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::ET::ET_REL = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::PF; end
ELFTools::Constants::PF::PF_R = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PF::PF_W = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PF::PF_X = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::PT; end
ELFTools::Constants::PT::PT_AARCH64_ARCHEXT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_AARCH64_UNWIND = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_ARM_ARCHEXT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_ARM_EXIDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_DYNAMIC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_GNU_EH_FRAME = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_GNU_MBIND_HI = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_GNU_MBIND_LO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_GNU_PROPERTY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_GNU_RELRO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_GNU_STACK = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_HIOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_HIPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_INTERP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_LOAD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_LOOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_LOPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_MIPS_ABIFLAGS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_MIPS_OPTIONS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_MIPS_REGINFO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_MIPS_RTPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_NOTE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_NULL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_OPENBSD_BOOTDATA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_OPENBSD_RANDOMIZE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_OPENBSD_WXNEEDED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_PHDR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_S390_PGSTE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_SHLIB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::PT::PT_TLS = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::SHF; end
ELFTools::Constants::SHF::SHF_ALLOC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_COMPRESSED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_EXCLUDE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_EXECINSTR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_GNU_MBIND = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_GNU_RETAIN = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_GROUP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_INFO_LINK = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_LINK_ORDER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_MASKOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_MASKPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_MERGE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_ORDERED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_OS_NONCONFORMING = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_STRINGS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_TLS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHF::SHF_WRITE = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::SHN; end
ELFTools::Constants::SHN::SHN_ABS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_COMMON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_HIOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_HIPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_HIRESERVE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_LOOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_LOPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_LORESERVE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_MIPS_ACOMMON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_MIPS_DATA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_MIPS_SCOMMON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_MIPS_SUNDEFINED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_MIPS_TEXT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_UNDEF = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_X86_64_LCOMMON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHN::SHN_XINDEX = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::SHT; end
ELFTools::Constants::SHT::SHT_AARCH64_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_ARM_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_ARM_DEBUGOVERLAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_ARM_EXIDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_ARM_OVERLAYSECTION = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_ARM_PREEMPTMAP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_CSKY_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_DYNAMIC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_DYNSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_FINI_ARRAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_HASH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_GOT_PLT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_INPUTS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_RELOCS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_SYMTAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_LIBLIST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_verdef = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_verneed = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GNU_versym = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_GROUP = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_HASH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_HIOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_HIPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_HIUSER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_INIT_ARRAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_LOOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_LOPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_LOUSER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_ABIFLAGS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_AUXSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_CONFLICT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_CONTENT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DEBUG = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DELTACLASS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DELTADECL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DELTAINST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DELTASYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DENSE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_DWARF = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_EH_REGION = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_EVENTS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_EXTSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_FDESC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_GPTAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_IFACE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_LIBLIST = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_LINE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_LOCSTR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_LOCSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_MSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_OPTIONS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_OPTSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_PACKAGE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_PACKSYM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_PDESC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_PDR_EXCEPTION = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_PIXIE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_REGINFO = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_RELD = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_RFDESC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_SHDR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_SYMBOL_LIB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_TRANSLATE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_UCODE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_WHIRL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_XHASH = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_XLATE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_MIPS_XLATE_DEBUG = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_NOBITS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_NOTE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_NULL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_ORDERED = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_PREINIT_ARRAY = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_PROGBITS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_REL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_RELA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_RELR = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SHLIB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SPARC_GOTDATA = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_STRTAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SUNW_verdef = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SUNW_verneed = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SUNW_versym = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SYMTAB = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_SYMTAB_SHNDX = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::SHT::SHT_X86_64_UNWIND = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::STB; end
ELFTools::Constants::STB::STB_GLOBAL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_GNU_UNIQUE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_HIOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_HIPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_LOCAL = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_LOOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_LOPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_NUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STB::STB_WEAK = T.let(T.unsafe(nil), Integer)
module ELFTools::Constants::STT; end
ELFTools::Constants::STT::STT_ARM_16BIT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_ARM_TFUNC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_COMMON = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_FILE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_FUNC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_GNU_IFUNC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_HIOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_HIPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_LOOS = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_LOPROC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_NOTYPE = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_NUM = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_OBJECT = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_RELC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_SECTION = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_SPARC_REGISTER = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_SRELC = T.let(T.unsafe(nil), Integer)
ELFTools::Constants::STT::STT_TLS = T.let(T.unsafe(nil), Integer)

module ELFTools::Dynamic
  def each_tags(&block); end
  def tag_at(n); end
  def tag_by_type(type); end
  def tags; end
  def tags_by_type(type); end

  private

  def endian; end
  def str_offset; end
end

class ELFTools::Dynamic::Tag
  def initialize(header, stream, str_offset); end

  def header; end
  def name; end
  def name?; end
  def stream; end
  def value; end
end

ELFTools::Dynamic::Tag::TYPE_WITH_NAME = T.let(T.unsafe(nil), Array)
class ELFTools::ELFClassError < ::ELFTools::ELFError; end
class ELFTools::ELFDataError < ::ELFTools::ELFError; end
class ELFTools::ELFError < ::StandardError; end

class ELFTools::ELFFile
  def initialize(stream); end

  def build_id; end
  def each_sections(&block); end
  def each_segments(&block); end
  def elf_class; end
  def elf_type; end
  def endian; end
  def header; end
  def machine; end
  def num_sections; end
  def num_segments; end
  def offset_from_vma(vma, size = T.unsafe(nil)); end
  def patches; end
  def save(filename); end
  def section_at(n); end
  def section_by_name(name); end
  def sections; end
  def sections_by_type(type, &block); end
  def segment_at(n); end
  def segment_by_type(type); end
  def segments; end
  def segments_by_type(type, &block); end
  def stream; end
  def strtab_section; end

  private

  def create_section(n); end
  def create_segment(n); end
  def identify; end
  def loaded_headers; end
end

class ELFTools::ELFMagicError < ::ELFTools::ELFError; end

class ELFTools::LazyArray < ::SimpleDelegator
  def initialize(size, &block); end

  def [](i); end
end

module ELFTools::Note
  def each_notes; end
  def notes; end

  private

  def create_note(cur); end
  def endian; end
end

class ELFTools::Note::Note
  def initialize(header, stream, offset); end

  def desc; end
  def description; end
  def header; end
  def name; end
  def offset; end
  def stream; end
end

ELFTools::Note::SIZE_OF_NHDR = T.let(T.unsafe(nil), Integer)

class ELFTools::Relocation
  def initialize(header, stream); end

  def header; end
  def r_info_sym; end
  def r_info_type; end
  def stream; end
  def symbol_index; end
  def type; end

  private

  def mask_bit; end
end

module ELFTools::Sections; end

class ELFTools::Sections::DynamicSection < ::ELFTools::Sections::Section
  include ::ELFTools::Dynamic

  def tag_start; end
end

class ELFTools::Sections::NoteSection < ::ELFTools::Sections::Section
  include ::ELFTools::Note

  def note_start; end
  def note_total_size; end
end

class ELFTools::Sections::NullSection < ::ELFTools::Sections::Section
  def null?; end
end

class ELFTools::Sections::RelocationSection < ::ELFTools::Sections::Section
  def each_relocations(&block); end
  def num_relocations; end
  def rela?; end
  def relocation_at(n); end
  def relocations; end

  private

  def create_relocation(n); end
end

class ELFTools::Sections::Section
  def initialize(header, stream, offset_from_vma: T.unsafe(nil), strtab: T.unsafe(nil), **_kwargs); end

  def data; end
  def header; end
  def name; end
  def null?; end
  def stream; end
  def type; end

  class << self
    def create(header, stream, *args, **kwargs); end
  end
end

class ELFTools::Sections::StrTabSection < ::ELFTools::Sections::Section
  def name_at(offset); end
end

class ELFTools::Sections::SymTabSection < ::ELFTools::Sections::Section
  def initialize(header, stream, section_at: T.unsafe(nil), **_kwargs); end

  def each_symbols(&block); end
  def num_symbols; end
  def symbol_at(n); end
  def symbol_by_name(name); end
  def symbols; end
  def symstr; end

  private

  def create_symbol(n); end
end

class ELFTools::Sections::Symbol
  def initialize(header, stream, symstr: T.unsafe(nil)); end

  def header; end
  def name; end
  def stream; end
end

module ELFTools::Segments; end

class ELFTools::Segments::DynamicSegment < ::ELFTools::Segments::Segment
  include ::ELFTools::Dynamic

  def tag_start; end
end

class ELFTools::Segments::InterpSegment < ::ELFTools::Segments::Segment
  def interp_name; end
end

class ELFTools::Segments::LoadSegment < ::ELFTools::Segments::Segment
  def file_head; end
  def file_tail; end
  def mem_head; end
  def mem_size; end
  def mem_tail; end
  def offset_in?(offset, size = T.unsafe(nil)); end
  def offset_to_vma(offset); end
  def size; end
  def vma_in?(vma, size = T.unsafe(nil)); end
  def vma_to_offset(vma); end
end

class ELFTools::Segments::NoteSegment < ::ELFTools::Segments::Segment
  include ::ELFTools::Note

  def note_start; end
  def note_total_size; end
end

class ELFTools::Segments::Segment
  def initialize(header, stream, offset_from_vma: T.unsafe(nil)); end

  def data; end
  def executable?; end
  def header; end
  def readable?; end
  def stream; end
  def type; end
  def writable?; end

  class << self
    def create(header, stream, *args, **kwargs); end
  end
end

module ELFTools::Structs; end

class ELFTools::Structs::ELF32_Phdr < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF32_sym < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF64_Phdr < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF64_sym < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELFStruct < ::BinData::Record
  def elf_class; end
  def elf_class=(_arg0); end
  def offset; end
  def offset=(_arg0); end
  def patches; end
  def to_h; end

  class << self
    def inherited(subclass); end
    def new(*args); end
    def pack(val, bytes); end
    def self_endian; end
  end
end

ELFTools::Structs::ELFStruct::CHOICE_SIZE_T = T.let(T.unsafe(nil), Proc)

class ELFTools::Structs::ELF_Dyn < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF_Ehdr < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF_Nhdr < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

ELFTools::Structs::ELF_Phdr = T.let(T.unsafe(nil), Hash)

class ELFTools::Structs::ELF_Rel < ::ELFTools::Structs::ELFStruct
  def r_addend; end

  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF_Rela < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

class ELFTools::Structs::ELF_Shdr < ::ELFTools::Structs::ELFStruct
  class << self
    def inherited(subclass); end
    def new(*args); end
  end
end

ELFTools::Structs::ELF_sym = T.let(T.unsafe(nil), Hash)

module ELFTools::Util
  extend ::ELFTools::Util::ClassMethods
end

module ELFTools::Util::ClassMethods
  def align(num, bit); end
  def cstring(stream, offset); end
  def select_by_type(enum, type); end
  def to_constant(mod, val); end
end

ELFTools::VERSION = T.let(T.unsafe(nil), String)
