module MachO::Headers

Classes and constants for parsing the headers of Mach-O binaries.

Constants

CPU_ARCH_ABI64

mask for CPUs with 64-bit architectures (when running a 64-bit ABI?) @api private

CPU_SUBTYPES

association of CPU types/subtype pairs to symbol representations in (very) roughly descending order of commonness @see opensource.apple.com/source/cctools/cctools-877.8/libstuff/arch.c @api private

CPU_SUBTYPE_486

the i486 sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_486SX

the i486SX sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_586

the i586 (P5, Pentium) sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_ARM64_ALL

the lowest common sub-type for `CPU_TYPE_ARM64` @api private

CPU_SUBTYPE_ARM64_V8

the v8 sub-type for `CPU_TYPE_ARM64` @api private

CPU_SUBTYPE_ARM_ALL

the lowest common sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V4T

the v4t sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V5TEJ

the v5 sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V6

the v6 sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V6M

the v6m sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V7

the v7 sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V7EM

the v7em sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V7F

the v7f (Cortex A9) sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V7K

the v7k (“Kirkwood40”) sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V7M

the v7m sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V7S

the v7s (“Swift”) sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_V8

the v8 sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_ARM_XSCALE

the xscale (v5 family) sub-type for `CPU_TYPE_ARM` @api private

CPU_SUBTYPE_I386

the lowest common sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_LIB64

64-bit libraries (undocumented!) @see llvm.org/docs/doxygen/html/Support_2MachO_8h_source.html @api private

CPU_SUBTYPE_MASK

mask for CPU subtype capabilities @api private

CPU_SUBTYPE_MC68030

@see CPU_SUBTYPE_MC680X0_ALL @api private

CPU_SUBTYPE_MC68030_ONLY

the 030 subtype for `CPU_TYPE_MC680X0` @api private

CPU_SUBTYPE_MC68040

the 040 subtype for `CPU_TYPE_MC680X0` @api private

CPU_SUBTYPE_MC680X0_ALL

the lowest common sub-type for `CPU_TYPE_MC680X0` @api private

CPU_SUBTYPE_MC88000_ALL

the lowest common sub-type for `CPU_TYPE_MC88000` @api private

CPU_SUBTYPE_MC88100

the 100 sub-type for `CPU_TYPE_MC88000` @api private

CPU_SUBTYPE_MC88110

the 110 sub-type for `CPU_TYPE_MC88000` @api private

CPU_SUBTYPE_MMAX_JPC

@see CPU_SUBTYPE_MC88000_ALL @api private

CPU_SUBTYPE_PENT

@see CPU_SUBTYPE_586 @api private

CPU_SUBTYPE_PENTII_M3

the Pentium II (P6, M3?) sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_PENTII_M5

the Pentium II (P6, M5?) sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_PENTIUM_4

the Pentium 4 (Netburst) sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_PENTPRO

the Pentium Pro (P6) sub-type for `CPU_TYPE_I386` @api private

CPU_SUBTYPE_POWERPC64_ALL

any CPU sub-type for CPU type `CPU_TYPE_POWERPC64` @api private

CPU_SUBTYPE_POWERPC_601

the 601 sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_602

the 602 sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_603

the 603 sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_603E

the 603e (G2) sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_603EV

the 603ev sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_604

the 604 sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_604E

the 604e sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_620

the 620 sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_7400

the 7400 (G4) sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_7450

the 7450 (G4 “Voyager”) sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_750

the 750 (G3) sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_970

the 970 (G5) sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_POWERPC_ALL

the lowest common sub-type for `CPU_TYPE_POWERPC` @api private

CPU_SUBTYPE_X86_64_ALL

the lowest common sub-type for `CPU_TYPE_X86_64` @api private

CPU_SUBTYPE_X86_64_H

the Haskell sub-type for `CPU_TYPE_X86_64` @api private

CPU_TYPES

association of cpu types to symbol representations @api private

CPU_TYPE_ANY

any CPU (unused?) @api private

CPU_TYPE_ARM

32-bit ARM compatible CPUs @api private

CPU_TYPE_ARM64

64-bit ARM compatible CPUs @api private

CPU_TYPE_I386

i386 and later compatible CPUs @api private

CPU_TYPE_MC680X0

m68k compatible CPUs @api private

CPU_TYPE_MC88000

m88k compatible CPUs @api private

CPU_TYPE_POWERPC

PowerPC compatible CPUs @api private

CPU_TYPE_POWERPC64

PowerPC64 compatible CPUs @api private

CPU_TYPE_X86_64

x86_64 (AMD64) compatible CPUs @api private

FAT_CIGAM

little-endian fat magic this is defined, but should never appear in ruby-macho code because fat headers are always big-endian and therefore always unpacked as such. @api private

FAT_MAGIC

big-endian fat magic @api private

MH_BUNDLE

dynamically bound bundle file @api private

MH_CIGAM

32-bit little-endian magic @api private

MH_CIGAM_64

64-bit little-endian magic @api private

MH_CORE

core dump file @api private

MH_DSYM

companion file with only debug sections @api private

MH_DYLIB

dynamically bound shared library @api private

MH_DYLIB_STUB

shared library stub for static linking only, no section contents @api private

MH_DYLINKER

dynamic link editor @api private

MH_EXECUTE

demand paged executable file @api private

MH_FILETYPES

association of filetypes to Symbol representations @api private

MH_FLAGS

association of mach header flag symbols to values @api private

MH_FVMLIB

fixed VM shared library file @api private

MH_KEXT_BUNDLE

x86_64 kexts @api private

MH_MAGIC

32-bit big-endian magic @api private

MH_MAGICS

association of magic numbers to string representations @api private

MH_MAGIC_64

64-bit big-endian magic @api private

MH_OBJECT

relocatable object file @api private

MH_PRELOAD

preloaded executable file @api private