Classes | Macros
loader.h File Reference
#include <stdint.h>
#include "third_party/darwin_xnu_macho/mach/machine.h"
#include "third_party/darwin_xnu_macho/mach/vm_prot.h"
Include dependency graph for loader.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  build_tool_version
 
struct  build_version_command
 
struct  data_in_code_entry
 
struct  dyld_info_command
 
struct  dylib
 
struct  dylib_command
 
struct  dylib_module
 
struct  dylib_module_64
 
struct  dylib_reference
 
struct  dylib_table_of_contents
 
struct  dylinker_command
 
struct  dysymtab_command
 
struct  encryption_info_command
 
struct  encryption_info_command_64
 
struct  entry_point_command
 
struct  fvmfile_command
 
struct  fvmlib
 
struct  fvmlib_command
 
struct  ident_command
 
union  lc_str
 
struct  linkedit_data_command
 
struct  linker_option_command
 
struct  load_command
 
struct  mach_header
 
struct  mach_header_64
 
struct  note_command
 
struct  prebind_cksum_command
 
struct  prebound_dylib_command
 
struct  routines_command
 
struct  routines_command_64
 
struct  rpath_command
 
struct  section
 
struct  section_64
 
struct  segment_command
 
struct  segment_command_64
 
struct  source_version_command
 
struct  sub_client_command
 
struct  sub_framework_command
 
struct  sub_library_command
 
struct  sub_umbrella_command
 
struct  symseg_command
 
struct  symtab_command
 
struct  thread_command
 
struct  tlv_descriptor
 
struct  twolevel_hint
 
struct  twolevel_hints_command
 
struct  uuid_command
 
struct  version_min_command
 

Macros

#define BIND_IMMEDIATE_MASK   0x0F
 
#define BIND_OPCODE_ADD_ADDR_ULEB   0x80
 
#define BIND_OPCODE_DO_BIND   0x90
 
#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED   0xB0
 
#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB   0xA0
 
#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB   0xC0
 
#define BIND_OPCODE_DONE   0x00
 
#define BIND_OPCODE_MASK   0xF0
 
#define BIND_OPCODE_SET_ADDEND_SLEB   0x60
 
#define BIND_OPCODE_SET_DYLIB_ORDINAL_IMM   0x10
 
#define BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB   0x20
 
#define BIND_OPCODE_SET_DYLIB_SPECIAL_IMM   0x30
 
#define BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB   0x70
 
#define BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM   0x40
 
#define BIND_OPCODE_SET_TYPE_IMM   0x50
 
#define BIND_SPECIAL_DYLIB_FLAT_LOOKUP   -2
 
#define BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE   -1
 
#define BIND_SPECIAL_DYLIB_SELF   0
 
#define BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION   0x8
 
#define BIND_SYMBOL_FLAGS_WEAK_IMPORT   0x1
 
#define BIND_TYPE_POINTER   1
 
#define BIND_TYPE_TEXT_ABSOLUTE32   2
 
#define BIND_TYPE_TEXT_PCREL32   3
 
#define DICE_KIND_ABS_JUMP_TABLE32   0x0005
 
#define DICE_KIND_DATA   0x0001
 
#define DICE_KIND_JUMP_TABLE16   0x0003
 
#define DICE_KIND_JUMP_TABLE32   0x0004
 
#define DICE_KIND_JUMP_TABLE8   0x0002
 
#define EXPORT_SYMBOL_FLAGS_KIND_MASK   0x03
 
#define EXPORT_SYMBOL_FLAGS_KIND_REGULAR   0x00
 
#define EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL   0x01
 
#define EXPORT_SYMBOL_FLAGS_REEXPORT   0x08
 
#define EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER   0x10
 
#define EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION   0x04
 
#define INDIRECT_SYMBOL_ABS   0x40000000
 
#define INDIRECT_SYMBOL_LOCAL   0x80000000
 
#define LC_BUILD_VERSION   0x32 /* build for platform min OS version */
 
#define LC_CODE_SIGNATURE   0x1d /* local of code signature */
 
#define LC_DATA_IN_CODE   0x29 /* table of non-instructions in __text */
 
#define LC_DYLD_ENVIRONMENT
 
#define LC_DYLD_INFO   0x22 /* compressed dyld information */
 
#define LC_DYLD_INFO_ONLY   (0x22|LC_REQ_DYLD) /* compressed dyld information only */
 
#define LC_DYLIB_CODE_SIGN_DRS   0x2B /* Code signing DRs copied from linked dylibs */
 
#define LC_DYSYMTAB   0xb /* dynamic link-edit symbol table info */
 
#define LC_ENCRYPTION_INFO   0x21 /* encrypted segment information */
 
#define LC_ENCRYPTION_INFO_64   0x2C /* 64-bit encrypted segment information */
 
#define LC_FUNCTION_STARTS   0x26 /* compressed table of function start addresses */
 
#define LC_FVMFILE   0x9 /* fixed VM file inclusion (internal use) */
 
#define LC_ID_DYLIB   0xd /* dynamically linked shared lib ident */
 
#define LC_ID_DYLINKER   0xf /* dynamic linker identification */
 
#define LC_IDENT   0x8 /* object identification info (obsolete) */
 
#define LC_IDFVMLIB   0x7 /* fixed VM shared library identification */
 
#define LC_LAZY_LOAD_DYLIB   0x20 /* delay load of dylib until first use */
 
#define LC_LINKER_OPTIMIZATION_HINT   0x2E /* optimization hints in MH_OBJECT files */
 
#define LC_LINKER_OPTION   0x2D /* linker options in MH_OBJECT files */
 
#define LC_LOAD_DYLIB   0xc /* load a dynamically linked shared library */
 
#define LC_LOAD_DYLINKER   0xe /* load a dynamic linker */
 
#define LC_LOAD_UPWARD_DYLIB   (0x23 | LC_REQ_DYLD) /* load upward dylib */
 
#define LC_LOAD_WEAK_DYLIB   (0x18 | LC_REQ_DYLD)
 
#define LC_LOADFVMLIB   0x6 /* load a specified fixed VM shared library */
 
#define LC_MAIN   (0x28|LC_REQ_DYLD) /* replacement for LC_UNIXTHREAD */
 
#define LC_NOTE   0x31 /* arbitrary data included within a Mach-O file */
 
#define LC_PREBIND_CKSUM   0x17 /* prebind checksum */
 
#define LC_PREBOUND_DYLIB   0x10 /* modules prebound for a dynamically */
 
#define LC_PREPAGE   0xa /* prepage command (internal use) */
 
#define LC_REEXPORT_DYLIB   (0x1f | LC_REQ_DYLD) /* load and re-export dylib */
 
#define LC_REQ_DYLD   0x80000000
 
#define LC_ROUTINES   0x11 /* image routines */
 
#define LC_ROUTINES_64   0x1a /* 64-bit image routines */
 
#define LC_RPATH   (0x1c | LC_REQ_DYLD) /* runpath additions */
 
#define LC_SEGMENT   0x1 /* segment of this file to be mapped */
 
#define LC_SEGMENT_64
 
#define LC_SEGMENT_SPLIT_INFO   0x1e /* local of info to split segments */
 
#define LC_SOURCE_VERSION   0x2A /* source version used to build binary */
 
#define LC_SUB_CLIENT   0x14 /* sub client */
 
#define LC_SUB_FRAMEWORK   0x12 /* sub framework */
 
#define LC_SUB_LIBRARY   0x15 /* sub library */
 
#define LC_SUB_UMBRELLA   0x13 /* sub umbrella */
 
#define LC_SYMSEG   0x3 /* link-edit gdb symbol table info (obsolete) */
 
#define LC_SYMTAB   0x2 /* link-edit stab symbol table info */
 
#define LC_THREAD   0x4 /* thread */
 
#define LC_TWOLEVEL_HINTS   0x16 /* two-level namespace lookup hints */
 
#define LC_UNIXTHREAD   0x5 /* unix thread (includes a stack) */
 
#define LC_UUID   0x1b /* the uuid */
 
#define LC_VERSION_MIN_IPHONEOS   0x25 /* build for iPhoneOS min OS version */
 
#define LC_VERSION_MIN_MACOSX   0x24 /* build for MacOSX min OS version */
 
#define LC_VERSION_MIN_TVOS   0x2F /* build for AppleTV min OS version */
 
#define LC_VERSION_MIN_WATCHOS   0x30 /* build for Watch min OS version */
 
#define MH_ALLMODSBOUND
 
#define MH_ALLOW_STACK_EXECUTION
 
#define MH_APP_EXTENSION_SAFE
 
#define MH_BINDATLOAD
 
#define MH_BINDS_TO_WEAK
 
#define MH_BUNDLE   0x8 /* dynamically bound bundle file */
 
#define MH_CANONICAL
 
#define MH_CIGAM   0xcefaedfe /* NXSwapInt(MH_MAGIC) */
 
#define MH_CIGAM_64   0xcffaedfe /* NXSwapInt(MH_MAGIC_64) */
 
#define MH_CORE   0x4 /* core file */
 
#define MH_DEAD_STRIPPABLE_DYLIB
 
#define MH_DSYM   0xa /* companion file with only debug */
 
#define MH_DYLDLINK
 
#define MH_DYLIB   0x6 /* dynamically bound shared library */
 
#define MH_DYLIB_STUB   0x9 /* shared library stub for static */
 
#define MH_DYLINKER   0x7 /* dynamic link editor */
 
#define MH_EXECUTE   0x2 /* demand paged executable file */
 
#define MH_FORCE_FLAT
 
#define MH_FVMLIB   0x3 /* fixed VM shared library file */
 
#define MH_HAS_TLV_DESCRIPTORS
 
#define MH_INCRLINK
 
#define MH_KEXT_BUNDLE   0xb /* x86_64 kexts */
 
#define MH_LAZY_INIT
 
#define MH_MAGIC   0xfeedface /* the mach magic number */
 
#define MH_MAGIC_64   0xfeedfacf /* the 64-bit mach magic number */
 
#define MH_NO_HEAP_EXECUTION
 
#define MH_NO_REEXPORTED_DYLIBS
 
#define MH_NOFIXPREBINDING
 
#define MH_NOMULTIDEFS
 
#define MH_NOUNDEFS
 
#define MH_OBJECT   0x1 /* relocatable object file */
 
#define MH_PIE
 
#define MH_PREBINDABLE
 
#define MH_PREBOUND
 
#define MH_PRELOAD   0x5 /* preloaded executable file */
 
#define MH_ROOT_SAFE
 
#define MH_SETUID_SAFE
 
#define MH_SPLIT_SEGS
 
#define MH_SUBSECTIONS_VIA_SYMBOLS
 
#define MH_TWOLEVEL
 
#define MH_WEAK_DEFINES
 
#define PLATFORM_IOS   2
 
#define PLATFORM_MACOS   1
 
#define PLATFORM_TVOS   3
 
#define PLATFORM_WATCHOS   4
 
#define REBASE_IMMEDIATE_MASK   0x0F
 
#define REBASE_OPCODE_ADD_ADDR_IMM_SCALED   0x40
 
#define REBASE_OPCODE_ADD_ADDR_ULEB   0x30
 
#define REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB   0x70
 
#define REBASE_OPCODE_DO_REBASE_IMM_TIMES   0x50
 
#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES   0x60
 
#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB   0x80
 
#define REBASE_OPCODE_DONE   0x00
 
#define REBASE_OPCODE_MASK   0xF0
 
#define REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB   0x20
 
#define REBASE_OPCODE_SET_TYPE_IMM   0x10
 
#define REBASE_TYPE_POINTER   1
 
#define REBASE_TYPE_TEXT_ABSOLUTE32   2
 
#define REBASE_TYPE_TEXT_PCREL32   3
 
#define S_16BYTE_LITERALS
 
#define S_4BYTE_LITERALS   0x3 /* section with only 4 byte literals */
 
#define S_8BYTE_LITERALS   0x4 /* section with only 8 byte literals */
 
#define S_ATTR_DEBUG   0x02000000 /* a debug section */
 
#define S_ATTR_EXT_RELOC
 
#define S_ATTR_LIVE_SUPPORT
 
#define S_ATTR_LOC_RELOC
 
#define S_ATTR_NO_DEAD_STRIP   0x10000000 /* no dead stripping */
 
#define S_ATTR_NO_TOC
 
#define S_ATTR_PURE_INSTRUCTIONS
 
#define S_ATTR_SELF_MODIFYING_CODE
 
#define S_ATTR_SOME_INSTRUCTIONS
 
#define S_ATTR_STRIP_STATIC_SYMS
 
#define S_COALESCED
 
#define S_CSTRING_LITERALS   0x2 /* section with only literal C strings*/
 
#define S_DTRACE_DOF
 
#define S_GB_ZEROFILL
 
#define S_INTERPOSING
 
#define S_LAZY_DYLIB_SYMBOL_POINTERS
 
#define S_LAZY_SYMBOL_POINTERS
 
#define S_LITERAL_POINTERS   0x5 /* section with only pointers to */
 
#define S_MOD_INIT_FUNC_POINTERS
 
#define S_MOD_TERM_FUNC_POINTERS
 
#define S_NON_LAZY_SYMBOL_POINTERS
 
#define S_REGULAR   0x0 /* regular section */
 
#define S_SYMBOL_STUBS
 
#define S_THREAD_LOCAL_INIT_FUNCTION_POINTERS
 
#define S_THREAD_LOCAL_REGULAR
 
#define S_THREAD_LOCAL_VARIABLE_POINTERS
 
#define S_THREAD_LOCAL_VARIABLES   0x13 /* TLV descriptors */
 
#define S_THREAD_LOCAL_ZEROFILL
 
#define S_ZEROFILL   0x1 /* zero fill on demand section */
 
#define SECT_BSS   "__bss" /* the real uninitialized data section*/
 
#define SECT_COMMON   "__common" /* the section common symbols are */
 
#define SECT_DATA   "__data" /* the real initialized data section */
 
#define SECT_FVMLIB_INIT0   "__fvmlib_init0" /* the fvmlib initialization */
 
#define SECT_FVMLIB_INIT1   "__fvmlib_init1" /* the section following the */
 
#define SECT_ICON_HEADER   "__header" /* the icon headers */
 
#define SECT_ICON_TIFF   "__tiff" /* the icons in tiff format */
 
#define SECT_OBJC_MODULES   "__module_info" /* module information */
 
#define SECT_OBJC_REFS   "__selector_refs" /* string table */
 
#define SECT_OBJC_STRINGS   "__selector_strs" /* string table */
 
#define SECT_OBJC_SYMBOLS   "__symbol_table" /* symbol table */
 
#define SECT_TEXT   "__text" /* the real text part of the text */
 
#define SECTION_ATTRIBUTES   0xffffff00 /* 24 section attributes */
 
#define SECTION_ATTRIBUTES_SYS   0x00ffff00 /* system setable attributes */
 
#define SECTION_ATTRIBUTES_USR   0xff000000 /* User setable attributes */
 
#define SECTION_TYPE   0x000000ff /* 256 section types */
 
#define SEG_DATA   "__DATA" /* the tradition UNIX data segment */
 
#define SEG_ICON   "__ICON" /* the icon segment */
 
#define SEG_IMPORT   "__IMPORT" /* the segment for the self (dyld) */
 
#define SEG_LINKEDIT   "__LINKEDIT" /* the segment containing all structs */
 
#define SEG_OBJC   "__OBJC" /* objective-C runtime segment */
 
#define SEG_PAGEZERO   "__PAGEZERO" /* the pagezero segment which has no */
 
#define SEG_TEXT   "__TEXT" /* the tradition UNIX text segment */
 
#define SEG_UNIXSTACK   "__UNIXSTACK" /* the unix stack segment */
 
#define SG_FVMLIB
 
#define SG_HIGHVM
 
#define SG_NORELOC
 
#define SG_PROTECTED_VERSION_1
 
#define TOOL_CLANG   1
 
#define TOOL_LD   3
 
#define TOOL_SWIFT   2
 

Macro Definition Documentation

◆ BIND_IMMEDIATE_MASK

#define BIND_IMMEDIATE_MASK   0x0F

Definition at line 1287 of file loader.h.

◆ BIND_OPCODE_ADD_ADDR_ULEB

#define BIND_OPCODE_ADD_ADDR_ULEB   0x80

Definition at line 1296 of file loader.h.

◆ BIND_OPCODE_DO_BIND

#define BIND_OPCODE_DO_BIND   0x90

Definition at line 1297 of file loader.h.

◆ BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED

#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED   0xB0

Definition at line 1299 of file loader.h.

◆ BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB

#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB   0xA0

Definition at line 1298 of file loader.h.

◆ BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB

#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB   0xC0

Definition at line 1300 of file loader.h.

◆ BIND_OPCODE_DONE

#define BIND_OPCODE_DONE   0x00

Definition at line 1288 of file loader.h.

◆ BIND_OPCODE_MASK

#define BIND_OPCODE_MASK   0xF0

Definition at line 1286 of file loader.h.

◆ BIND_OPCODE_SET_ADDEND_SLEB

#define BIND_OPCODE_SET_ADDEND_SLEB   0x60

Definition at line 1294 of file loader.h.

◆ BIND_OPCODE_SET_DYLIB_ORDINAL_IMM

#define BIND_OPCODE_SET_DYLIB_ORDINAL_IMM   0x10

Definition at line 1289 of file loader.h.

◆ BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB

#define BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB   0x20

Definition at line 1290 of file loader.h.

◆ BIND_OPCODE_SET_DYLIB_SPECIAL_IMM

#define BIND_OPCODE_SET_DYLIB_SPECIAL_IMM   0x30

Definition at line 1291 of file loader.h.

◆ BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB

#define BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB   0x70

Definition at line 1295 of file loader.h.

◆ BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM

#define BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM   0x40

Definition at line 1292 of file loader.h.

◆ BIND_OPCODE_SET_TYPE_IMM

#define BIND_OPCODE_SET_TYPE_IMM   0x50

Definition at line 1293 of file loader.h.

◆ BIND_SPECIAL_DYLIB_FLAT_LOOKUP

#define BIND_SPECIAL_DYLIB_FLAT_LOOKUP   -2

Definition at line 1281 of file loader.h.

◆ BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE

#define BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE   -1

Definition at line 1280 of file loader.h.

◆ BIND_SPECIAL_DYLIB_SELF

#define BIND_SPECIAL_DYLIB_SELF   0

Definition at line 1279 of file loader.h.

◆ BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION

#define BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION   0x8

Definition at line 1284 of file loader.h.

◆ BIND_SYMBOL_FLAGS_WEAK_IMPORT

#define BIND_SYMBOL_FLAGS_WEAK_IMPORT   0x1

Definition at line 1283 of file loader.h.

◆ BIND_TYPE_POINTER

#define BIND_TYPE_POINTER   1

Definition at line 1275 of file loader.h.

◆ BIND_TYPE_TEXT_ABSOLUTE32

#define BIND_TYPE_TEXT_ABSOLUTE32   2

Definition at line 1276 of file loader.h.

◆ BIND_TYPE_TEXT_PCREL32

#define BIND_TYPE_TEXT_PCREL32   3

Definition at line 1277 of file loader.h.

◆ DICE_KIND_ABS_JUMP_TABLE32

#define DICE_KIND_ABS_JUMP_TABLE32   0x0005

Definition at line 1405 of file loader.h.

◆ DICE_KIND_DATA

#define DICE_KIND_DATA   0x0001

Definition at line 1401 of file loader.h.

◆ DICE_KIND_JUMP_TABLE16

#define DICE_KIND_JUMP_TABLE16   0x0003

Definition at line 1403 of file loader.h.

◆ DICE_KIND_JUMP_TABLE32

#define DICE_KIND_JUMP_TABLE32   0x0004

Definition at line 1404 of file loader.h.

◆ DICE_KIND_JUMP_TABLE8

#define DICE_KIND_JUMP_TABLE8   0x0002

Definition at line 1402 of file loader.h.

◆ EXPORT_SYMBOL_FLAGS_KIND_MASK

#define EXPORT_SYMBOL_FLAGS_KIND_MASK   0x03

Definition at line 1307 of file loader.h.

◆ EXPORT_SYMBOL_FLAGS_KIND_REGULAR

#define EXPORT_SYMBOL_FLAGS_KIND_REGULAR   0x00

Definition at line 1308 of file loader.h.

◆ EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL

#define EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL   0x01

Definition at line 1309 of file loader.h.

◆ EXPORT_SYMBOL_FLAGS_REEXPORT

#define EXPORT_SYMBOL_FLAGS_REEXPORT   0x08

Definition at line 1311 of file loader.h.

◆ EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER

#define EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER   0x10

Definition at line 1312 of file loader.h.

◆ EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION

#define EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION   0x04

Definition at line 1310 of file loader.h.

◆ INDIRECT_SYMBOL_ABS

#define INDIRECT_SYMBOL_ABS   0x40000000

Definition at line 907 of file loader.h.

◆ INDIRECT_SYMBOL_LOCAL

#define INDIRECT_SYMBOL_LOCAL   0x80000000

Definition at line 906 of file loader.h.

◆ LC_BUILD_VERSION

#define LC_BUILD_VERSION   0x32 /* build for platform min OS version */

Definition at line 241 of file loader.h.

◆ LC_CODE_SIGNATURE

#define LC_CODE_SIGNATURE   0x1d /* local of code signature */

Definition at line 219 of file loader.h.

◆ LC_DATA_IN_CODE

#define LC_DATA_IN_CODE   0x29 /* table of non-instructions in __text */

Definition at line 232 of file loader.h.

◆ LC_DYLD_ENVIRONMENT

#define LC_DYLD_ENVIRONMENT
Value:
0x27 /* string for dyld to treat
like environment variable */

Definition at line 230 of file loader.h.

◆ LC_DYLD_INFO

#define LC_DYLD_INFO   0x22 /* compressed dyld information */

Definition at line 224 of file loader.h.

◆ LC_DYLD_INFO_ONLY

#define LC_DYLD_INFO_ONLY   (0x22|LC_REQ_DYLD) /* compressed dyld information only */

Definition at line 225 of file loader.h.

◆ LC_DYLIB_CODE_SIGN_DRS

#define LC_DYLIB_CODE_SIGN_DRS   0x2B /* Code signing DRs copied from linked dylibs */

Definition at line 234 of file loader.h.

◆ LC_DYSYMTAB

#define LC_DYSYMTAB   0xb /* dynamic link-edit symbol table info */

Definition at line 194 of file loader.h.

◆ LC_ENCRYPTION_INFO

#define LC_ENCRYPTION_INFO   0x21 /* encrypted segment information */

Definition at line 223 of file loader.h.

◆ LC_ENCRYPTION_INFO_64

#define LC_ENCRYPTION_INFO_64   0x2C /* 64-bit encrypted segment information */

Definition at line 235 of file loader.h.

◆ LC_FUNCTION_STARTS

#define LC_FUNCTION_STARTS   0x26 /* compressed table of function start addresses */

Definition at line 229 of file loader.h.

◆ LC_FVMFILE

#define LC_FVMFILE   0x9 /* fixed VM file inclusion (internal use) */

Definition at line 192 of file loader.h.

◆ LC_ID_DYLIB

#define LC_ID_DYLIB   0xd /* dynamically linked shared lib ident */

Definition at line 196 of file loader.h.

◆ LC_ID_DYLINKER

#define LC_ID_DYLINKER   0xf /* dynamic linker identification */

Definition at line 198 of file loader.h.

◆ LC_IDENT

#define LC_IDENT   0x8 /* object identification info (obsolete) */

Definition at line 191 of file loader.h.

◆ LC_IDFVMLIB

#define LC_IDFVMLIB   0x7 /* fixed VM shared library identification */

Definition at line 190 of file loader.h.

◆ LC_LAZY_LOAD_DYLIB

#define LC_LAZY_LOAD_DYLIB   0x20 /* delay load of dylib until first use */

Definition at line 222 of file loader.h.

◆ LC_LINKER_OPTIMIZATION_HINT

#define LC_LINKER_OPTIMIZATION_HINT   0x2E /* optimization hints in MH_OBJECT files */

Definition at line 237 of file loader.h.

◆ LC_LINKER_OPTION

#define LC_LINKER_OPTION   0x2D /* linker options in MH_OBJECT files */

Definition at line 236 of file loader.h.

◆ LC_LOAD_DYLIB

#define LC_LOAD_DYLIB   0xc /* load a dynamically linked shared library */

Definition at line 195 of file loader.h.

◆ LC_LOAD_DYLINKER

#define LC_LOAD_DYLINKER   0xe /* load a dynamic linker */

Definition at line 197 of file loader.h.

◆ LC_LOAD_UPWARD_DYLIB

#define LC_LOAD_UPWARD_DYLIB   (0x23 | LC_REQ_DYLD) /* load upward dylib */

Definition at line 226 of file loader.h.

◆ LC_LOAD_WEAK_DYLIB

#define LC_LOAD_WEAK_DYLIB   (0x18 | LC_REQ_DYLD)

Definition at line 213 of file loader.h.

◆ LC_LOADFVMLIB

#define LC_LOADFVMLIB   0x6 /* load a specified fixed VM shared library */

Definition at line 189 of file loader.h.

◆ LC_MAIN

#define LC_MAIN   (0x28|LC_REQ_DYLD) /* replacement for LC_UNIXTHREAD */

Definition at line 231 of file loader.h.

◆ LC_NOTE

#define LC_NOTE   0x31 /* arbitrary data included within a Mach-O file */

Definition at line 240 of file loader.h.

◆ LC_PREBIND_CKSUM

#define LC_PREBIND_CKSUM   0x17 /* prebind checksum */

Definition at line 207 of file loader.h.

◆ LC_PREBOUND_DYLIB

#define LC_PREBOUND_DYLIB   0x10 /* modules prebound for a dynamically */

Definition at line 199 of file loader.h.

◆ LC_PREPAGE

#define LC_PREPAGE   0xa /* prepage command (internal use) */

Definition at line 193 of file loader.h.

◆ LC_REEXPORT_DYLIB

#define LC_REEXPORT_DYLIB   (0x1f | LC_REQ_DYLD) /* load and re-export dylib */

Definition at line 221 of file loader.h.

◆ LC_REQ_DYLD

#define LC_REQ_DYLD   0x80000000

Definition at line 181 of file loader.h.

◆ LC_ROUTINES

#define LC_ROUTINES   0x11 /* image routines */

Definition at line 201 of file loader.h.

◆ LC_ROUTINES_64

#define LC_ROUTINES_64   0x1a /* 64-bit image routines */

Definition at line 216 of file loader.h.

◆ LC_RPATH

#define LC_RPATH   (0x1c | LC_REQ_DYLD) /* runpath additions */

Definition at line 218 of file loader.h.

◆ LC_SEGMENT

#define LC_SEGMENT   0x1 /* segment of this file to be mapped */

Definition at line 184 of file loader.h.

◆ LC_SEGMENT_64

#define LC_SEGMENT_64
Value:
0x19 /* 64-bit segment of this file to be
mapped */

Definition at line 215 of file loader.h.

◆ LC_SEGMENT_SPLIT_INFO

#define LC_SEGMENT_SPLIT_INFO   0x1e /* local of info to split segments */

Definition at line 220 of file loader.h.

◆ LC_SOURCE_VERSION

#define LC_SOURCE_VERSION   0x2A /* source version used to build binary */

Definition at line 233 of file loader.h.

◆ LC_SUB_CLIENT

#define LC_SUB_CLIENT   0x14 /* sub client */

Definition at line 204 of file loader.h.

◆ LC_SUB_FRAMEWORK

#define LC_SUB_FRAMEWORK   0x12 /* sub framework */

Definition at line 202 of file loader.h.

◆ LC_SUB_LIBRARY

#define LC_SUB_LIBRARY   0x15 /* sub library */

Definition at line 205 of file loader.h.

◆ LC_SUB_UMBRELLA

#define LC_SUB_UMBRELLA   0x13 /* sub umbrella */

Definition at line 203 of file loader.h.

◆ LC_SYMSEG

#define LC_SYMSEG   0x3 /* link-edit gdb symbol table info (obsolete) */

Definition at line 186 of file loader.h.

◆ LC_SYMTAB

#define LC_SYMTAB   0x2 /* link-edit stab symbol table info */

Definition at line 185 of file loader.h.

◆ LC_THREAD

#define LC_THREAD   0x4 /* thread */

Definition at line 187 of file loader.h.

◆ LC_TWOLEVEL_HINTS

#define LC_TWOLEVEL_HINTS   0x16 /* two-level namespace lookup hints */

Definition at line 206 of file loader.h.

◆ LC_UNIXTHREAD

#define LC_UNIXTHREAD   0x5 /* unix thread (includes a stack) */

Definition at line 188 of file loader.h.

◆ LC_UUID

#define LC_UUID   0x1b /* the uuid */

Definition at line 217 of file loader.h.

◆ LC_VERSION_MIN_IPHONEOS

#define LC_VERSION_MIN_IPHONEOS   0x25 /* build for iPhoneOS min OS version */

Definition at line 228 of file loader.h.

◆ LC_VERSION_MIN_MACOSX

#define LC_VERSION_MIN_MACOSX   0x24 /* build for MacOSX min OS version */

Definition at line 227 of file loader.h.

◆ LC_VERSION_MIN_TVOS

#define LC_VERSION_MIN_TVOS   0x2F /* build for AppleTV min OS version */

Definition at line 238 of file loader.h.

◆ LC_VERSION_MIN_WATCHOS

#define LC_VERSION_MIN_WATCHOS   0x30 /* build for Watch min OS version */

Definition at line 239 of file loader.h.

◆ MH_ALLMODSBOUND

#define MH_ALLMODSBOUND
Value:
0x1000 /* indicates that this binary binds to
all two-level namespace modules of
its dependent libraries. only used
when MH_PREBINDABLE and MH_TWOLEVEL
are both set. */

Definition at line 130 of file loader.h.

◆ MH_ALLOW_STACK_EXECUTION

#define MH_ALLOW_STACK_EXECUTION
Value:
0x20000/* When this bit is set, all stacks
in the task will be given stack
execution privilege. Only used in
MH_EXECUTE filetypes. */

Definition at line 136 of file loader.h.

◆ MH_APP_EXTENSION_SAFE

#define MH_APP_EXTENSION_SAFE
Value:
0x02000000 /* The code was linked for use in an
application extension. */

Definition at line 148 of file loader.h.

◆ MH_BINDATLOAD

#define MH_BINDATLOAD
Value:
0x8 /* the object file's undefined
references are bound by the dynamic
linker when loaded. */

Definition at line 121 of file loader.h.

◆ MH_BINDS_TO_WEAK

#define MH_BINDS_TO_WEAK
Value:
0x10000 /* the final linked image uses
weak symbols */

Definition at line 134 of file loader.h.

◆ MH_BUNDLE

#define MH_BUNDLE   0x8 /* dynamically bound bundle file */

Definition at line 110 of file loader.h.

◆ MH_CANONICAL

#define MH_CANONICAL
Value:
0x4000 /* the binary has been canonicalized
via the unprebind operation */

Definition at line 132 of file loader.h.

◆ MH_CIGAM

#define MH_CIGAM   0xcefaedfe /* NXSwapInt(MH_MAGIC) */

Definition at line 59 of file loader.h.

◆ MH_CIGAM_64

#define MH_CIGAM_64   0xcffaedfe /* NXSwapInt(MH_MAGIC_64) */

Definition at line 78 of file loader.h.

◆ MH_CORE

#define MH_CORE   0x4 /* core file */

Definition at line 106 of file loader.h.

◆ MH_DEAD_STRIPPABLE_DYLIB

#define MH_DEAD_STRIPPABLE_DYLIB
Value:
0x400000 /* Only for use on dylibs. When
linking against a dylib that
has this bit set, the static linker
will automatically not create a
LC_LOAD_DYLIB load command to the
dylib if no symbols are being
referenced from the dylib. */

Definition at line 143 of file loader.h.

◆ MH_DSYM

#define MH_DSYM   0xa /* companion file with only debug */

Definition at line 113 of file loader.h.

◆ MH_DYLDLINK

#define MH_DYLDLINK
Value:
0x4 /* the object file is input for the
dynamic linker and can't be staticly
link edited again */

Definition at line 120 of file loader.h.

◆ MH_DYLIB

#define MH_DYLIB   0x6 /* dynamically bound shared library */

Definition at line 108 of file loader.h.

◆ MH_DYLIB_STUB

#define MH_DYLIB_STUB   0x9 /* shared library stub for static */

Definition at line 111 of file loader.h.

◆ MH_DYLINKER

#define MH_DYLINKER   0x7 /* dynamic link editor */

Definition at line 109 of file loader.h.

◆ MH_EXECUTE

#define MH_EXECUTE   0x2 /* demand paged executable file */

Definition at line 104 of file loader.h.

◆ MH_FORCE_FLAT

#define MH_FORCE_FLAT
Value:
0x100 /* the executable is forcing all images
to use flat name space bindings */

Definition at line 126 of file loader.h.

◆ MH_FVMLIB

#define MH_FVMLIB   0x3 /* fixed VM shared library file */

Definition at line 105 of file loader.h.

◆ MH_HAS_TLV_DESCRIPTORS

#define MH_HAS_TLV_DESCRIPTORS
Value:
0x800000 /* Contains a section of type
S_THREAD_LOCAL_VARIABLES */

Definition at line 144 of file loader.h.

◆ MH_INCRLINK

#define MH_INCRLINK
Value:
0x2 /* the object file is the output of an
incremental link against a base file
and can't be link edited again */

Definition at line 119 of file loader.h.

◆ MH_KEXT_BUNDLE

#define MH_KEXT_BUNDLE   0xb /* x86_64 kexts */

Definition at line 115 of file loader.h.

◆ MH_LAZY_INIT

#define MH_LAZY_INIT
Value:
0x40 /* the shared library init routine is
to be run lazily via catching memory
faults to its writeable segments
(obsolete) */

Definition at line 124 of file loader.h.

◆ MH_MAGIC

#define MH_MAGIC   0xfeedface /* the mach magic number */

Definition at line 58 of file loader.h.

◆ MH_MAGIC_64

#define MH_MAGIC_64   0xfeedfacf /* the 64-bit mach magic number */

Definition at line 77 of file loader.h.

◆ MH_NO_HEAP_EXECUTION

#define MH_NO_HEAP_EXECUTION
Value:
0x1000000 /* When this bit is set, the OS will
run the main executable with
a non-executable heap even on
platforms (e.g. i386) that don't
require it. Only used in MH_EXECUTE
filetypes. */

Definition at line 146 of file loader.h.

◆ MH_NO_REEXPORTED_DYLIBS

#define MH_NO_REEXPORTED_DYLIBS
Value:
0x100000 /* When this bit is set on a dylib,
the static linker does not need to
examine dependent dylibs to see
if any are re-exported */

Definition at line 141 of file loader.h.

◆ MH_NOFIXPREBINDING

#define MH_NOFIXPREBINDING
Value:
0x400 /* do not have dyld notify the
prebinding agent about this
executable */

Definition at line 128 of file loader.h.

◆ MH_NOMULTIDEFS

#define MH_NOMULTIDEFS
Value:
0x200 /* this umbrella guarantees no multiple
defintions of symbols in its
sub-images so the two-level namespace
hints can always be used. */

Definition at line 127 of file loader.h.

◆ MH_NOUNDEFS

#define MH_NOUNDEFS
Value:
0x1 /* the object file has no undefined
references */

Definition at line 118 of file loader.h.

◆ MH_OBJECT

#define MH_OBJECT   0x1 /* relocatable object file */

Definition at line 103 of file loader.h.

◆ MH_PIE

#define MH_PIE
Value:
0x200000 /* When this bit is set, the OS will
load the main executable at a
random address. Only used in
MH_EXECUTE filetypes. */

Definition at line 142 of file loader.h.

◆ MH_PREBINDABLE

#define MH_PREBINDABLE
Value:
0x800 /* the binary is not prebound but can
have its prebinding redone. only used
when MH_PREBOUND is not set. */

Definition at line 129 of file loader.h.

◆ MH_PREBOUND

#define MH_PREBOUND
Value:
0x10 /* the file has its dynamic undefined
references prebound. */

Definition at line 122 of file loader.h.

◆ MH_PRELOAD

#define MH_PRELOAD   0x5 /* preloaded executable file */

Definition at line 107 of file loader.h.

◆ MH_ROOT_SAFE

#define MH_ROOT_SAFE
Value:
0x40000 /* When this bit is set, the binary
declares it is safe for use in
processes with uid zero */

Definition at line 137 of file loader.h.

◆ MH_SETUID_SAFE

#define MH_SETUID_SAFE
Value:
0x80000 /* When this bit is set, the binary
declares it is safe for use in
processes when issetugid() is true */

Definition at line 139 of file loader.h.

◆ MH_SPLIT_SEGS

#define MH_SPLIT_SEGS
Value:
0x20 /* the file has its read-only and
read-write segments split */

Definition at line 123 of file loader.h.

◆ MH_SUBSECTIONS_VIA_SYMBOLS

#define MH_SUBSECTIONS_VIA_SYMBOLS
Value:
0x2000/* safe to divide up the sections into
sub-sections via symbols for dead
code stripping */

Definition at line 131 of file loader.h.

◆ MH_TWOLEVEL

#define MH_TWOLEVEL
Value:
0x80 /* the image is using two-level name
space bindings */

Definition at line 125 of file loader.h.

◆ MH_WEAK_DEFINES

#define MH_WEAK_DEFINES
Value:
0x8000 /* the final linked image contains
external weak symbols */

Definition at line 133 of file loader.h.

◆ PLATFORM_IOS

#define PLATFORM_IOS   2

Definition at line 1132 of file loader.h.

◆ PLATFORM_MACOS

#define PLATFORM_MACOS   1

Definition at line 1131 of file loader.h.

◆ PLATFORM_TVOS

#define PLATFORM_TVOS   3

Definition at line 1133 of file loader.h.

◆ PLATFORM_WATCHOS

#define PLATFORM_WATCHOS   4

Definition at line 1134 of file loader.h.

◆ REBASE_IMMEDIATE_MASK

#define REBASE_IMMEDIATE_MASK   0x0F

Definition at line 1260 of file loader.h.

◆ REBASE_OPCODE_ADD_ADDR_IMM_SCALED

#define REBASE_OPCODE_ADD_ADDR_IMM_SCALED   0x40

Definition at line 1265 of file loader.h.

◆ REBASE_OPCODE_ADD_ADDR_ULEB

#define REBASE_OPCODE_ADD_ADDR_ULEB   0x30

Definition at line 1264 of file loader.h.

◆ REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB

#define REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB   0x70

Definition at line 1268 of file loader.h.

◆ REBASE_OPCODE_DO_REBASE_IMM_TIMES

#define REBASE_OPCODE_DO_REBASE_IMM_TIMES   0x50

Definition at line 1266 of file loader.h.

◆ REBASE_OPCODE_DO_REBASE_ULEB_TIMES

#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES   0x60

Definition at line 1267 of file loader.h.

◆ REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB

#define REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB   0x80

Definition at line 1269 of file loader.h.

◆ REBASE_OPCODE_DONE

#define REBASE_OPCODE_DONE   0x00

Definition at line 1261 of file loader.h.

◆ REBASE_OPCODE_MASK

#define REBASE_OPCODE_MASK   0xF0

Definition at line 1259 of file loader.h.

◆ REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB

#define REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB   0x20

Definition at line 1263 of file loader.h.

◆ REBASE_OPCODE_SET_TYPE_IMM

#define REBASE_OPCODE_SET_TYPE_IMM   0x10

Definition at line 1262 of file loader.h.

◆ REBASE_TYPE_POINTER

#define REBASE_TYPE_POINTER   1

Definition at line 1255 of file loader.h.

◆ REBASE_TYPE_TEXT_ABSOLUTE32

#define REBASE_TYPE_TEXT_ABSOLUTE32   2

Definition at line 1256 of file loader.h.

◆ REBASE_TYPE_TEXT_PCREL32

#define REBASE_TYPE_TEXT_PCREL32   3

Definition at line 1257 of file loader.h.

◆ S_16BYTE_LITERALS

#define S_16BYTE_LITERALS
Value:
0xe /* section with only 16 byte
literals */

Definition at line 403 of file loader.h.

◆ S_4BYTE_LITERALS

#define S_4BYTE_LITERALS   0x3 /* section with only 4 byte literals */

Definition at line 379 of file loader.h.

◆ S_8BYTE_LITERALS

#define S_8BYTE_LITERALS   0x4 /* section with only 8 byte literals */

Definition at line 380 of file loader.h.

◆ S_ATTR_DEBUG

#define S_ATTR_DEBUG   0x02000000 /* a debug section */

Definition at line 435 of file loader.h.

◆ S_ATTR_EXT_RELOC

#define S_ATTR_EXT_RELOC
Value:
0x00000200 /* section has external
relocation entries */

Definition at line 438 of file loader.h.

◆ S_ATTR_LIVE_SUPPORT

#define S_ATTR_LIVE_SUPPORT
Value:
0x08000000 /* blocks are live if they
reference live blocks */

Definition at line 424 of file loader.h.

◆ S_ATTR_LOC_RELOC

#define S_ATTR_LOC_RELOC
Value:
0x00000100 /* section has local
relocation entries */

Definition at line 439 of file loader.h.

◆ S_ATTR_NO_DEAD_STRIP

#define S_ATTR_NO_DEAD_STRIP   0x10000000 /* no dead stripping */

Definition at line 423 of file loader.h.

◆ S_ATTR_NO_TOC

#define S_ATTR_NO_TOC
Value:
0x40000000 /* section contains coalesced
symbols that are not to be
in a ranlib table of
contents */

Definition at line 421 of file loader.h.

◆ S_ATTR_PURE_INSTRUCTIONS

#define S_ATTR_PURE_INSTRUCTIONS
Value:
0x80000000 /* section contains only true
machine instructions */

Definition at line 420 of file loader.h.

◆ S_ATTR_SELF_MODIFYING_CODE

#define S_ATTR_SELF_MODIFYING_CODE
Value:
0x04000000 /* Used with i386 code stubs
written on by dyld */

Definition at line 425 of file loader.h.

◆ S_ATTR_SOME_INSTRUCTIONS

#define S_ATTR_SOME_INSTRUCTIONS
Value:
0x00000400 /* section contains some
machine instructions */

Definition at line 437 of file loader.h.

◆ S_ATTR_STRIP_STATIC_SYMS

#define S_ATTR_STRIP_STATIC_SYMS
Value:
0x20000000 /* ok to strip static symbols
in this section in files
with the MH_DYLDLINK flag */

Definition at line 422 of file loader.h.

◆ S_COALESCED

#define S_COALESCED
Value:
0xb /* section contains symbols that
are to be coalesced */

Definition at line 400 of file loader.h.

◆ S_CSTRING_LITERALS

#define S_CSTRING_LITERALS   0x2 /* section with only literal C strings*/

Definition at line 378 of file loader.h.

◆ S_DTRACE_DOF

#define S_DTRACE_DOF
Value:
0xf /* section contains
DTrace Object Format */

Definition at line 404 of file loader.h.

◆ S_GB_ZEROFILL

#define S_GB_ZEROFILL
Value:
0xc /* zero fill on demand section
(that can be larger than 4
gigabytes) */

Definition at line 401 of file loader.h.

◆ S_INTERPOSING

#define S_INTERPOSING
Value:
0xd /* section with only pairs of
function pointers for
interposing */

Definition at line 402 of file loader.h.

◆ S_LAZY_DYLIB_SYMBOL_POINTERS

#define S_LAZY_DYLIB_SYMBOL_POINTERS
Value:
0x10 /* section with only lazy
symbol pointers to lazy
loaded dylibs */

Definition at line 405 of file loader.h.

◆ S_LAZY_SYMBOL_POINTERS

#define S_LAZY_SYMBOL_POINTERS
Value:
0x7 /* section with only lazy symbol
pointers */

Definition at line 396 of file loader.h.

◆ S_LITERAL_POINTERS

#define S_LITERAL_POINTERS   0x5 /* section with only pointers to */

Definition at line 381 of file loader.h.

◆ S_MOD_INIT_FUNC_POINTERS

#define S_MOD_INIT_FUNC_POINTERS
Value:
0x9 /* section with only function
pointers for initialization*/

Definition at line 398 of file loader.h.

◆ S_MOD_TERM_FUNC_POINTERS

#define S_MOD_TERM_FUNC_POINTERS
Value:
0xa /* section with only function
pointers for termination */

Definition at line 399 of file loader.h.

◆ S_NON_LAZY_SYMBOL_POINTERS

#define S_NON_LAZY_SYMBOL_POINTERS
Value:
0x6 /* section with only non-lazy
symbol pointers */

Definition at line 395 of file loader.h.

◆ S_REGULAR

#define S_REGULAR   0x0 /* regular section */

Definition at line 376 of file loader.h.

◆ S_SYMBOL_STUBS

#define S_SYMBOL_STUBS
Value:
0x8 /* section with only symbol
stubs, byte size of stub in
the reserved2 field */

Definition at line 397 of file loader.h.

◆ S_THREAD_LOCAL_INIT_FUNCTION_POINTERS

#define S_THREAD_LOCAL_INIT_FUNCTION_POINTERS
Value:
0x15 /* functions to call
to initialize TLV
values */

Definition at line 413 of file loader.h.

◆ S_THREAD_LOCAL_REGULAR

#define S_THREAD_LOCAL_REGULAR
Value:
0x11 /* template of initial
values for TLVs */

Definition at line 409 of file loader.h.

◆ S_THREAD_LOCAL_VARIABLE_POINTERS

#define S_THREAD_LOCAL_VARIABLE_POINTERS
Value:
0x14 /* pointers to TLV
descriptors */

Definition at line 412 of file loader.h.

◆ S_THREAD_LOCAL_VARIABLES

#define S_THREAD_LOCAL_VARIABLES   0x13 /* TLV descriptors */

Definition at line 411 of file loader.h.

◆ S_THREAD_LOCAL_ZEROFILL

#define S_THREAD_LOCAL_ZEROFILL
Value:
0x12 /* template of initial
values for TLVs */

Definition at line 410 of file loader.h.

◆ S_ZEROFILL

#define S_ZEROFILL   0x1 /* zero fill on demand section */

Definition at line 377 of file loader.h.

◆ SECT_BSS

#define SECT_BSS   "__bss" /* the real uninitialized data section*/

Definition at line 475 of file loader.h.

◆ SECT_COMMON

#define SECT_COMMON   "__common" /* the section common symbols are */

Definition at line 477 of file loader.h.

◆ SECT_DATA

#define SECT_DATA   "__data" /* the real initialized data section */

Definition at line 473 of file loader.h.

◆ SECT_FVMLIB_INIT0

#define SECT_FVMLIB_INIT0   "__fvmlib_init0" /* the fvmlib initialization */

Definition at line 466 of file loader.h.

◆ SECT_FVMLIB_INIT1

#define SECT_FVMLIB_INIT1   "__fvmlib_init1" /* the section following the */

Definition at line 468 of file loader.h.

◆ SECT_ICON_HEADER

#define SECT_ICON_HEADER   "__header" /* the icon headers */

Definition at line 487 of file loader.h.

◆ SECT_ICON_TIFF

#define SECT_ICON_TIFF   "__tiff" /* the icons in tiff format */

Definition at line 488 of file loader.h.

◆ SECT_OBJC_MODULES

#define SECT_OBJC_MODULES   "__module_info" /* module information */

Definition at line 482 of file loader.h.

◆ SECT_OBJC_REFS

#define SECT_OBJC_REFS   "__selector_refs" /* string table */

Definition at line 484 of file loader.h.

◆ SECT_OBJC_STRINGS

#define SECT_OBJC_STRINGS   "__selector_strs" /* string table */

Definition at line 483 of file loader.h.

◆ SECT_OBJC_SYMBOLS

#define SECT_OBJC_SYMBOLS   "__symbol_table" /* symbol table */

Definition at line 481 of file loader.h.

◆ SECT_TEXT

#define SECT_TEXT   "__text" /* the real text part of the text */

Definition at line 464 of file loader.h.

◆ SECTION_ATTRIBUTES

#define SECTION_ATTRIBUTES   0xffffff00 /* 24 section attributes */

Definition at line 373 of file loader.h.

◆ SECTION_ATTRIBUTES_SYS

#define SECTION_ATTRIBUTES_SYS   0x00ffff00 /* system setable attributes */

Definition at line 436 of file loader.h.

◆ SECTION_ATTRIBUTES_USR

#define SECTION_ATTRIBUTES_USR   0xff000000 /* User setable attributes */

Definition at line 419 of file loader.h.

◆ SECTION_TYPE

#define SECTION_TYPE   0x000000ff /* 256 section types */

Definition at line 372 of file loader.h.

◆ SEG_DATA

#define SEG_DATA   "__DATA" /* the tradition UNIX data segment */

Definition at line 472 of file loader.h.

◆ SEG_ICON

#define SEG_ICON   "__ICON" /* the icon segment */

Definition at line 486 of file loader.h.

◆ SEG_IMPORT

#define SEG_IMPORT   "__IMPORT" /* the segment for the self (dyld) */

Definition at line 498 of file loader.h.

◆ SEG_LINKEDIT

#define SEG_LINKEDIT   "__LINKEDIT" /* the segment containing all structs */

Definition at line 490 of file loader.h.

◆ SEG_OBJC

#define SEG_OBJC   "__OBJC" /* objective-C runtime segment */

Definition at line 480 of file loader.h.

◆ SEG_PAGEZERO

#define SEG_PAGEZERO   "__PAGEZERO" /* the pagezero segment which has no */

Definition at line 458 of file loader.h.

◆ SEG_TEXT

#define SEG_TEXT   "__TEXT" /* the tradition UNIX text segment */

Definition at line 463 of file loader.h.

◆ SEG_UNIXSTACK

#define SEG_UNIXSTACK   "__UNIXSTACK" /* the unix stack segment */

Definition at line 496 of file loader.h.

◆ SG_FVMLIB

#define SG_FVMLIB
Value:
0x2 /* this segment is the VM that is allocated by
a fixed VM library, for overlap checking in
the link editor */

Definition at line 306 of file loader.h.

◆ SG_HIGHVM

#define SG_HIGHVM
Value:
0x1 /* the file contents for this segment is for
the high part of the VM space, the low part
is zero filled (for stacks in core files) */

Definition at line 305 of file loader.h.

◆ SG_NORELOC

#define SG_NORELOC
Value:
0x4 /* this segment has nothing that was relocated
in it and nothing relocated to it, that is
it maybe safely replaced without relocation*/

Definition at line 307 of file loader.h.

◆ SG_PROTECTED_VERSION_1

#define SG_PROTECTED_VERSION_1
Value:
0x8 /* This segment is protected. If the
segment starts at file offset 0, the
first page of the segment is not
protected. All other pages of the
segment are protected. */

Definition at line 308 of file loader.h.

◆ TOOL_CLANG

#define TOOL_CLANG   1

Definition at line 1137 of file loader.h.

◆ TOOL_LD

#define TOOL_LD   3

Definition at line 1139 of file loader.h.

◆ TOOL_SWIFT

#define TOOL_SWIFT   2

Definition at line 1138 of file loader.h.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:22