Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

The Mach-O Structures, Types, and Defines.


Modules

 Load Commands
 Symbol Table
 Relocations

Classes

struct  fat_arch
struct  fat_header
struct  mach_header_32
struct  mach_header_64

CPU types / bits (mach_header_64::cputype, mach_header_32::cputype, fat_arch::cputype)

#define CPU_ARCH_ABI64   KI32_C(0x01000000)
#define CPU_ARCH_MASK   KI32_C(0xff000000)
#define CPU_TYPE_ANY   KI32_C(-1)
#define CPU_TYPE_HPPA   KI32_C(11)
#define CPU_TYPE_I386   CPU_TYPE_X86
#define CPU_TYPE_I860   KI32_C(15)
#define CPU_TYPE_MC680x0   KI32_C(6)
#define CPU_TYPE_MC88000   KI32_C(13)
#define CPU_TYPE_MC98000   KI32_C(10)
#define CPU_TYPE_POWERPC   KI32_C(18)
#define CPU_TYPE_POWERPC64   (CPU_TYPE_POWERPC | CPU_ARCH_ABI64)
#define CPU_TYPE_SPARC   KI32_C(14)
#define CPU_TYPE_VAX   KI32_C(1)
#define CPU_TYPE_X86   KI32_C(7)
#define CPU_TYPE_X86_64   (CPU_TYPE_X86 | CPU_ARCH_ABI64)

CPU subtypes (mach_header_64::cpusubtype, mach_header_32::cpusubtype, fat_arch::cpusubtype)

#define CPU_SUBTYPE_386   CPU_SUBTYPE_INTEL(3, 0)
#define CPU_SUBTYPE_486   CPU_SUBTYPE_INTEL(4, 0)
#define CPU_SUBTYPE_486SX   CPU_SUBTYPE_INTEL(4, 8)
#define CPU_SUBTYPE_586   CPU_SUBTYPE_INTEL(5, 0)
#define CPU_SUBTYPE_BIG_ENDIAN   KI32_C(1)
#define CPU_SUBTYPE_CELERON   CPU_SUBTYPE_INTEL(7, 6)
#define CPU_SUBTYPE_CELERON_MOBILE   CPU_SUBTYPE_INTEL(7, 7)
#define CPU_SUBTYPE_HPPA_7100   KI32_C(0)
#define CPU_SUBTYPE_HPPA_7100LC   KI32_C(1)
#define CPU_SUBTYPE_HPPA_ALL   KI32_C(0)
#define CPU_SUBTYPE_I386_ALL   CPU_SUBTYPE_INTEL(3, 0)
#define CPU_SUBTYPE_I860_860   KI32_C(1)
#define CPU_SUBTYPE_I860_ALL   KI32_C(0)
#define CPU_SUBTYPE_INTEL(fam, model)   ( (KI32)(((model) << 4) | (fam)) )
#define CPU_SUBTYPE_INTEL_FAMILY(subtype)   ( (subtype) & 0xf )
#define CPU_SUBTYPE_INTEL_FAMILY_MAX   0xf
#define CPU_SUBTYPE_INTEL_MODEL(subtype)   ( (subtype) >> 4 )
#define CPU_SUBTYPE_INTEL_MODEL_ALL   0
#define CPU_SUBTYPE_ITANIUM   CPU_SUBTYPE_INTEL(11, 0)
#define CPU_SUBTYPE_ITANIUM_2   CPU_SUBTYPE_INTEL(11, 1)
#define CPU_SUBTYPE_LITTLE_ENDIAN   KI32_C(0)
#define CPU_SUBTYPE_MC68030   KI32_C(1)
#define CPU_SUBTYPE_MC68030_ONLY   KI32_C(3)
#define CPU_SUBTYPE_MC68040   KI32_C(2)
#define CPU_SUBTYPE_MC680x0_ALL   KI32_C(1)
#define CPU_SUBTYPE_MC88000_ALL   KI32_C(0)
#define CPU_SUBTYPE_MC88100   KI32_C(1)
#define CPU_SUBTYPE_MC88110   KI32_C(2)
#define CPU_SUBTYPE_MC98000_ALL   KI32_C(0)
#define CPU_SUBTYPE_MC98601   KI32_C(1)
#define CPU_SUBTYPE_MIPS_ALL   KI32_C(0)
#define CPU_SUBTYPE_MIPS_R2000   KI32_C(5)
#define CPU_SUBTYPE_MIPS_R2000a   KI32_C(4)
#define CPU_SUBTYPE_MIPS_R2300   KI32_C(1)
#define CPU_SUBTYPE_MIPS_R2600   KI32_C(2)
#define CPU_SUBTYPE_MIPS_R2800   KI32_C(3)
#define CPU_SUBTYPE_MIPS_R3000   KI32_C(7)
#define CPU_SUBTYPE_MIPS_R3000a   KI32_C(6)
#define CPU_SUBTYPE_MULTIPLE   KI32_C(-1)
#define CPU_SUBTYPE_PENT   CPU_SUBTYPE_INTEL(5, 0)
#define CPU_SUBTYPE_PENTII_M3   CPU_SUBTYPE_INTEL(6, 3)
#define CPU_SUBTYPE_PENTII_M5   CPU_SUBTYPE_INTEL(6, 5)
#define CPU_SUBTYPE_PENTIUM_3   CPU_SUBTYPE_INTEL(8, 0)
#define CPU_SUBTYPE_PENTIUM_3_M   CPU_SUBTYPE_INTEL(8, 1)
#define CPU_SUBTYPE_PENTIUM_3_XEON   CPU_SUBTYPE_INTEL(8, 2)
#define CPU_SUBTYPE_PENTIUM_4   CPU_SUBTYPE_INTEL(10, 0)
#define CPU_SUBTYPE_PENTIUM_4_M   CPU_SUBTYPE_INTEL(10, 1)
#define CPU_SUBTYPE_PENTIUM_M   CPU_SUBTYPE_INTEL(9, 0)
#define CPU_SUBTYPE_PENTPRO   CPU_SUBTYPE_INTEL(6, 1)
#define CPU_SUBTYPE_POWERPC_601   KI32_C(1)
#define CPU_SUBTYPE_POWERPC_602   KI32_C(2)
#define CPU_SUBTYPE_POWERPC_603   KI32_C(3)
#define CPU_SUBTYPE_POWERPC_603e   KI32_C(4)
#define CPU_SUBTYPE_POWERPC_603ev   KI32_C(5)
#define CPU_SUBTYPE_POWERPC_604   KI32_C(6)
#define CPU_SUBTYPE_POWERPC_604e   KI32_C(7)
#define CPU_SUBTYPE_POWERPC_620   KI32_C(8)
#define CPU_SUBTYPE_POWERPC_7400   KI32_C(10)
#define CPU_SUBTYPE_POWERPC_7450   KI32_C(11)
#define CPU_SUBTYPE_POWERPC_750   KI32_C(9)
#define CPU_SUBTYPE_POWERPC_970   KI32_C(100)
#define CPU_SUBTYPE_POWERPC_ALL   KI32_C(0)
#define CPU_SUBTYPE_POWERPC_Max   KI32_C(10)
#define CPU_SUBTYPE_POWERPC_SCVger   KI32_C(11)
#define CPU_SUBTYPE_SPARC_ALL   KI32_C(0)
#define CPU_SUBTYPE_UVAXI   KI32_C(5)
#define CPU_SUBTYPE_UVAXII   KI32_C(6)
#define CPU_SUBTYPE_UVAXIII   KI32_C(12)
#define CPU_SUBTYPE_VAX730   KI32_C(4)
#define CPU_SUBTYPE_VAX750   KI32_C(3)
#define CPU_SUBTYPE_VAX780   KI32_C(1)
#define CPU_SUBTYPE_VAX785   KI32_C(2)
#define CPU_SUBTYPE_VAX8200   KI32_C(7)
#define CPU_SUBTYPE_VAX8500   KI32_C(8)
#define CPU_SUBTYPE_VAX8600   KI32_C(9)
#define CPU_SUBTYPE_VAX8650   KI32_C(10)
#define CPU_SUBTYPE_VAX8800   KI32_C(11)
#define CPU_SUBTYPE_VAX_ALL   KI32_C(0)
#define CPU_SUBTYPE_X86_64_ALL   KI32_C(3)
#define CPU_SUBTYPE_X86_ALL   KI32_C(3)
#define CPU_SUBTYPE_X86_ARCH1   KI32_C(4)
#define CPU_SUBTYPE_XEON   CPU_SUBTYPE_INTEL(12, 0)
#define CPU_SUBTYPE_XEON_MP   CPU_SUBTYPE_INTEL(12, 1)

Mach-O Header flags (mach_header_64::flags, mach_header_32::flags)

#define MH_ALLMODSBOUND   KU32_C(0x00001000)
#define MH_ALLOW_STACK_EXECUTION   KU32_C(0x00020000)
#define MH_BINDATLOAD   KU32_C(0x00000008)
#define MH_BINDS_TO_WEAK   KU32_C(0x00010000)
#define MH_CANONICAL   KU32_C(0x00004000)
#define MH_DYLDLINK   KU32_C(0x00000004)
#define MH_FORCE_FLAT   KU32_C(0x00000100)
#define MH_INCRLINK   KU32_C(0x00000002)
#define MH_LAZY_INIT   KU32_C(0x00000040)
#define MH_NOFIXPREBINDING   KU32_C(0x00000400)
#define MH_NOMULTIDEFS   KU32_C(0x00000200)
#define MH_NOUNDEFS   KU32_C(0x00000001)
#define MH_PREBINDABLE   KU32_C(0x00000800)
#define MH_PREBOUND   KU32_C(0x00000010)
#define MH_SPLIT_SEGS   KU32_C(0x00000020)
#define MH_SUBSECTIONS_VIA_SYMBOLS   KU32_C(0x00002000)
#define MH_TWOLEVEL   KU32_C(0x00000080)
#define MH_VALID_FLAGS   KU32_C(0x0003ffff)
#define MH_WEAK_DEFINES   KU32_C(0x00008000)

File types (mach_header_64::filetype, mach_header_32::filetype)

#define MH_BUNDLE   KU32_C(8)
#define MH_CORE   KU32_C(4)
#define MH_DSYM   KU32_C(10)
#define MH_DYLIB   KU32_C(6)
#define MH_DYLIB_STUB   KU32_C(9)
#define MH_DYLINKER   KU32_C(7)
#define MH_EXECUTE   KU32_C(2)
#define MH_FVMLIB   KU32_C(3)
#define MH_OBJECT   KU32_C(1)
#define MH_PRELOAD   KU32_C(5)

Defines

#define IMAGE_FAT_SIGNATURE   KU32_C(0xcafebabe)
#define IMAGE_FAT_SIGNATURE_OE   KU32_C(0xbebafeca)
#define IMAGE_MACHO32_SIGNATURE   KU32_C(0xfeedface)
#define IMAGE_MACHO32_SIGNATURE_OE   KU32_C(0xcefaedfe)
#define IMAGE_MACHO64_SIGNATURE   KU32_C(0xfeedfacf)
#define IMAGE_MACHO64_SIGNATURE_OE   KU32_C(0xfefaedfe)
#define MH_CIGAM   IMAGE_MACHO32_SIGNATURE_OE
#define MH_CIGAM_64   IMAGE_MACHO64_SIGNATURE_OE
#define MH_MAGIC   IMAGE_MACHO32_SIGNATURE
#define MH_MAGIC_64   IMAGE_MACHO64_SIGNATURE

Typedefs

typedef struct fat_arch fat_arch_t
typedef struct fat_header fat_header_t
typedef struct mach_header_32 mach_header_32_t
typedef struct mach_header_64 mach_header_64_t


Generated by  Doxygen 1.6.0   Back to index