edlang/object/macho/index.html

20 lines
118 KiB
HTML
Raw Normal View History

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Mach-O definitions."><title>object::macho - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="object" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../object/index.html">object</a><span class="version">0.32.2</span></h2></div><h2 class="location"><a href="#">Module macho</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></section><h2><a href="../index.html">In crate object</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../object/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">object</a>::<wbr><a class="mod" href="#">macho</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/object/macho.rs.html#1-3307">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Mach-O definitions.</p>
<p>These definitions are independent of read/write support, although we do implement
some traits useful for those.</p>
<p>This module is based heavily on header files from MacOSX11.1.sdk.</p>
</div></details><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BuildToolVersion.html" title="struct object::macho::BuildToolVersion">BuildToolVersion</a></div></li><li><div class="item-name"><a class="struct" href="struct.BuildVersionCommand.html" title="struct object::macho::BuildVersionCommand">BuildVersionCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.DataInCodeEntry.html" title="struct object::macho::DataInCodeEntry">DataInCodeEntry</a></div></li><li><div class="item-name"><a class="struct" href="struct.DyldCacheHeader.html" title="struct object::macho::DyldCacheHeader">DyldCacheHeader</a></div><div class="desc docblock-short">The dyld cache header.
Corresponds to struct dyld_cache_header from dyld_cache_format.h.
This header has grown over time. Only the fields up to and including dyld_base_address
are guaranteed to be present. For all other fields, check the header size before
accessing the field. The header size is stored in mapping_offset; the mappings start
right after the theader.</div></li><li><div class="item-name"><a class="struct" href="struct.DyldCacheImageInfo.html" title="struct object::macho::DyldCacheImageInfo">DyldCacheImageInfo</a></div><div class="desc docblock-short">Corresponds to struct dyld_cache_image_info from dyld_cache_format.h.</div></li><li><div class="item-name"><a class="struct" href="struct.DyldCacheMappingInfo.html" title="struct object::macho::DyldCacheMappingInfo">DyldCacheMappingInfo</a></div><div class="desc docblock-short">Corresponds to struct dyld_cache_mapping_info from dyld_cache_format.h.</div></li><li><div class="item-name"><a class="struct" href="struct.DyldInfoCommand.html" title="struct object::macho::DyldInfoCommand">DyldInfoCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.DyldSubCacheInfo.html" title="struct object::macho::DyldSubCacheInfo">DyldSubCacheInfo</a></div><div class="desc docblock-short">Corresponds to a struct whose source code has not been published as of Nov 2021.
Added in the dyld cache version which shipped with macOS 12 / iOS 15.</div></li><li><div class="item-name"><a class="struct" href="struct.Dylib.html" title="struct object::macho::Dylib">Dylib</a></div></li><li><div class="item-name"><a class="struct" href="struct.DylibCommand.html" title="struct object::macho::DylibCommand">DylibCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.DylibModule32.html" title="struct object::macho::DylibModule32">DylibModule32</a></div></li><li><div class="item-name"><a class="struct" href="struct.DylibModule64.html" title="struct object::macho::DylibModule64">DylibModule64</a></div></li><li><div class="item-name"><a class="struct" href="struct.DylibReference.html" title="struct object::macho::DylibReference">DylibReference</a></div></li><li><div class="item-name"><a class="struct" href="struct.DylibTableOfContents.html" title="struct object::macho::DylibTableOfContents">DylibTableOfContents</a></div></li><li><div class="item-name"><a class="struct" href="struct.DylinkerCommand.html" title="struct object::macho::DylinkerCommand">DylinkerCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.DysymtabCommand.html" title="struct object::macho::DysymtabCommand">DysymtabCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.EncryptionInfoCommand32.html" title="struct object::macho::EncryptionInfoCommand32">EncryptionInfoCommand32</a></div></li><li><div class="item-name"><a class="struct" href="struct.EncryptionInfoCommand64.html" title="struct object::macho::EncryptionInfoCommand64">EncryptionInfoCommand64</a></div></li><li><div class="item-name"><a class="struct" href="struct.EntryPointCommand.html" title="struct object::macho::EntryPointCommand">EntryPointCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.FatArch32.html" title="struct object::macho::FatArch32">FatArch32</a></div></li><li><div class="item-name"><a class="struct" href="struct.FatArch64.html" title="struct object::macho::FatArch64">FatArch64</a></div></li><li><div class="item-name"><a class="struct" href="struct.FatHeader.html" title="struct object::macho::FatHeader">FatHeader</a></div></li><li><div class="item-name"><a class="struct" href="struct.FilesetEntryCommand.html" title="struct object::macho::FilesetEntryCommand">FilesetEntryCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.FvmfileCommand.html" title="struct object::macho::FvmfileCommand">FvmfileCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.Fvmlib.html" title="struct object::macho::Fvmlib">Fvmlib</a></div></li><li><div class="item-name"><a class="struct" href="struct.FvmlibCommand.html" title="struct object::macho::FvmlibCommand">FvmlibCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.IdentCommand.html" title="struct object::macho::IdentCommand">IdentCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.LcStr.html" title="struct object::macho::LcStr">LcStr</a></div><div class="desc docblock-short">A variable length string in a load command.</div></li><li><div class="item-name"><a class="struct" href="struct.LinkeditDataCommand.html" title="struct object::macho::LinkeditDataCommand">LinkeditDataCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.LinkerOptionCommand.html" title="struct object::macho::LinkerOptionCommand">LinkerOptionCommand</a></div></li><li><div class="item-name"><a class="struct" href="struct.LoadCommand.html" title="struct object::macho::LoadCommand">LoadCommand</a></div><div class="desc docblock-short">Common fields at the start of every load command.</div></li><li><div class="item-name"><a class="struct" href="struct.MachHeader32.html" title="struct object::macho::MachHeader32">MachHeader32</a></div><div class="desc docblock-short">The 32-bit mach header.</div></li><li><div class="item-name"><a class="struct" href="struct.MachHeader64.html" title="struct object::macho::MachHeader64">MachHeader64</a></
grading for the selected cpu_type_t, unlike the “ALL” subtypes,
which are the slices that can run on any hardware for that cpu type.</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM64E.html" title="constant object::macho::CPU_SUBTYPE_ARM64E">CPU_SUBTYPE_ARM64E</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM64_32_ALL.html" title="constant object::macho::CPU_SUBTYPE_ARM64_32_ALL">CPU_SUBTYPE_ARM64_32_ALL</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM64_32_V8.html" title="constant object::macho::CPU_SUBTYPE_ARM64_32_V8">CPU_SUBTYPE_ARM64_32_V8</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM64_ALL.html" title="constant object::macho::CPU_SUBTYPE_ARM64_ALL">CPU_SUBTYPE_ARM64_ALL</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM64_V8.html" title="constant object::macho::CPU_SUBTYPE_ARM64_V8">CPU_SUBTYPE_ARM64_V8</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_ALL.html" title="constant object::macho::CPU_SUBTYPE_ARM_ALL">CPU_SUBTYPE_ARM_ALL</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V4T.html" title="constant object::macho::CPU_SUBTYPE_ARM_V4T">CPU_SUBTYPE_ARM_V4T</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V5TEJ.html" title="constant object::macho::CPU_SUBTYPE_ARM_V5TEJ">CPU_SUBTYPE_ARM_V5TEJ</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V6.html" title="constant object::macho::CPU_SUBTYPE_ARM_V6">CPU_SUBTYPE_ARM_V6</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V6M.html" title="constant object::macho::CPU_SUBTYPE_ARM_V6M">CPU_SUBTYPE_ARM_V6M</a></div><div class="desc docblock-short">Not meant to be run under xnu</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V7.html" title="constant object::macho::CPU_SUBTYPE_ARM_V7">CPU_SUBTYPE_ARM_V7</a></div><div class="desc docblock-short">ARMv7-A and ARMv7-R</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V7EM.html" title="constant object::macho::CPU_SUBTYPE_ARM_V7EM">CPU_SUBTYPE_ARM_V7EM</a></div><div class="desc docblock-short">Not meant to be run under xnu</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V7F.html" title="constant object::macho::CPU_SUBTYPE_ARM_V7F">CPU_SUBTYPE_ARM_V7F</a></div><div class="desc docblock-short">Cortex A9</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V7K.html" title="constant object::macho::CPU_SUBTYPE_ARM_V7K">CPU_SUBTYPE_ARM_V7K</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V7M.html" title="constant object::macho::CPU_SUBTYPE_ARM_V7M">CPU_SUBTYPE_ARM_V7M</a></div><div class="desc docblock-short">Not meant to be run under xnu</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V7S.html" title="constant object::macho::CPU_SUBTYPE_ARM_V7S">CPU_SUBTYPE_ARM_V7S</a></div><div class="desc docblock-short">Swift</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V8.html" title="constant object::macho::CPU_SUBTYPE_ARM_V8">CPU_SUBTYPE_ARM_V8</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_V8M.html" title="constant object::macho::CPU_SUBTYPE_ARM_V8M">CPU_SUBTYPE_ARM_V8M</a></div><div class="desc docblock-short">Not meant to be run under xnu</div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_ARM_XSCALE.html" title="constant object::macho::CPU_SUBTYPE_ARM_XSCALE">CPU_SUBTYPE_ARM_XSCALE</a></div></li><li><div class="item-name"><a class="constant" href="constant.CPU_SUBTYPE_BIG_ENDIAN.html" title="constant object::macho::CPU_SUBTYPE_BIG_ENDIAN">CPU_SUBTYPE_BIG_ENDIAN</a></div></li><li><div class="item-name"><a class="constant" href="constant.C
(all symbols are weak imported).</div></li><li><div class="item-name"><a class="constant" href="constant.LC_MAIN.html" title="constant object::macho::LC_MAIN">LC_MAIN</a></div><div class="desc docblock-short">replacement for LC_UNIXTHREAD</div></li><li><div class="item-name"><a class="constant" href="constant.LC_NOTE.html" title="constant object::macho::LC_NOTE">LC_NOTE</a></div><div class="desc docblock-short">arbitrary data included within a Mach-O file</div></li><li><div class="item-name"><a class="constant" href="constant.LC_PREBIND_CKSUM.html" title="constant object::macho::LC_PREBIND_CKSUM">LC_PREBIND_CKSUM</a></div><div class="desc docblock-short">prebind checksum</div></li><li><div class="item-name"><a class="constant" href="constant.LC_PREBOUND_DYLIB.html" title="constant object::macho::LC_PREBOUND_DYLIB">LC_PREBOUND_DYLIB</a></div><div class="desc docblock-short">modules prebound for a dynamically linked shared library</div></li><li><div class="item-name"><a class="constant" href="constant.LC_PREPAGE.html" title="constant object::macho::LC_PREPAGE">LC_PREPAGE</a></div><div class="desc docblock-short">prepage command (internal use)</div></li><li><div class="item-name"><a class="constant" href="constant.LC_REEXPORT_DYLIB.html" title="constant object::macho::LC_REEXPORT_DYLIB">LC_REEXPORT_DYLIB</a></div><div class="desc docblock-short">load and re-export dylib</div></li><li><div class="item-name"><a class="constant" href="constant.LC_REQ_DYLD.html" title="constant object::macho::LC_REQ_DYLD">LC_REQ_DYLD</a></div></li><li><div class="item-name"><a class="constant" href="constant.LC_ROUTINES.html" title="constant object::macho::LC_ROUTINES">LC_ROUTINES</a></div><div class="desc docblock-short">image routines</div></li><li><div class="item-name"><a class="constant" href="constant.LC_ROUTINES_64.html" title="constant object::macho::LC_ROUTINES_64">LC_ROUTINES_64</a></div><div class="desc docblock-short">64-bit image routines</div></li><li><div class="item-name"><a class="constant" href="constant.LC_RPATH.html" title="constant object::macho::LC_RPATH">LC_RPATH</a></div><div class="desc docblock-short">runpath additions</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SEGMENT.html" title="constant object::macho::LC_SEGMENT">LC_SEGMENT</a></div><div class="desc docblock-short">segment of this file to be mapped</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SEGMENT_64.html" title="constant object::macho::LC_SEGMENT_64">LC_SEGMENT_64</a></div><div class="desc docblock-short">64-bit segment of this file to be mapped</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SEGMENT_SPLIT_INFO.html" title="constant object::macho::LC_SEGMENT_SPLIT_INFO">LC_SEGMENT_SPLIT_INFO</a></div><div class="desc docblock-short">local of info to split segments</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SOURCE_VERSION.html" title="constant object::macho::LC_SOURCE_VERSION">LC_SOURCE_VERSION</a></div><div class="desc docblock-short">source version used to build binary</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SUB_CLIENT.html" title="constant object::macho::LC_SUB_CLIENT">LC_SUB_CLIENT</a></div><div class="desc docblock-short">sub client</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SUB_FRAMEWORK.html" title="constant object::macho::LC_SUB_FRAMEWORK">LC_SUB_FRAMEWORK</a></div><div class="desc docblock-short">sub framework</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SUB_LIBRARY.html" title="constant object::macho::LC_SUB_LIBRARY">LC_SUB_LIBRARY</a></div><div class="desc docblock-short">sub library</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SUB_UMBRELLA.html" title="constant object::macho::LC_SUB_UMBRELLA">LC_SUB_UMBRELLA</a></div><div class="desc docblock-short">sub umbrella</div></li><li><div class="item-name"><a class="constant" href="constant.LC_SYMSEG.html" title="constant object::macho::LC_SYMSEG">LC_SYMSEG</a></d
shared cache, rather than loose in the filesystem.</div></li><li><div class="item-name"><a class="constant" href="constant.MH_DYLIB_STUB.html" title="constant object::macho::MH_DYLIB_STUB">MH_DYLIB_STUB</a></div><div class="desc docblock-short">shared library stub for static linking only, no section contents</div></li><li><div class="item-name"><a class="constant" href="constant.MH_DYLINKER.html" title="constant object::macho::MH_DYLINKER">MH_DYLINKER</a></div><div class="desc docblock-short">dynamic link editor</div></li><li><div class="item-name"><a class="constant" href="constant.MH_EXECUTE.html" title="constant object::macho::MH_EXECUTE">MH_EXECUTE</a></div><div class="desc docblock-short">demand paged executable file</div></li><li><div class="item-name"><a class="constant" href="constant.MH_FILESET.html" title="constant object::macho::MH_FILESET">MH_FILESET</a></div><div class="desc docblock-short">set of mach-os</div></li><li><div class="item-name"><a class="constant" href="constant.MH_FORCE_FLAT.html" title="constant object::macho::MH_FORCE_FLAT">MH_FORCE_FLAT</a></div><div class="desc docblock-short">the executable is forcing all images to use flat name space bindings</div></li><li><div class="item-name"><a class="constant" href="constant.MH_FVMLIB.html" title="constant object::macho::MH_FVMLIB">MH_FVMLIB</a></div><div class="desc docblock-short">fixed VM shared library file</div></li><li><div class="item-name"><a class="constant" href="constant.MH_HAS_TLV_DESCRIPTORS.html" title="constant object::macho::MH_HAS_TLV_DESCRIPTORS">MH_HAS_TLV_DESCRIPTORS</a></div><div class="desc docblock-short">Contains a section of type S_THREAD_LOCAL_VARIABLES</div></li><li><div class="item-name"><a class="constant" href="constant.MH_INCRLINK.html" title="constant object::macho::MH_INCRLINK">MH_INCRLINK</a></div><div class="desc docblock-short">the object file is the output of an incremental link against a base file and cant be link edited again</div></li><li><div class="item-name"><a class="constant" href="constant.MH_KEXT_BUNDLE.html" title="constant object::macho::MH_KEXT_BUNDLE">MH_KEXT_BUNDLE</a></div><div class="desc docblock-short">x86_64 kexts</div></li><li><div class="item-name"><a class="constant" href="constant.MH_LAZY_INIT.html" title="constant object::macho::MH_LAZY_INIT">MH_LAZY_INIT</a></div><div class="desc docblock-short">the shared library init routine is to be run lazily via catching memory faults to its writeable segments (obsolete)</div></li><li><div class="item-name"><a class="constant" href="constant.MH_MAGIC.html" title="constant object::macho::MH_MAGIC">MH_MAGIC</a></div><div class="desc docblock-short">the mach magic number</div></li><li><div class="item-name"><a class="constant" href="constant.MH_MAGIC_64.html" title="constant object::macho::MH_MAGIC_64">MH_MAGIC_64</a></div><div class="desc docblock-short">the 64-bit mach magic number</div></li><li><div class="item-name"><a class="constant" href="constant.MH_NLIST_OUTOFSYNC_WITH_DYLDINFO.html" title="constant object::macho::MH_NLIST_OUTOFSYNC_WITH_DYLDINFO">MH_NLIST_OUTOFSYNC_WITH_DYLDINFO</a></div><div class="desc docblock-short">The external symbols listed in the nlist symbol table do not include all the symbols listed in the dyld info.</div></li><li><div class="item-name"><a class="constant" href="constant.MH_NOFIXPREBINDING.html" title="constant object::macho::MH_NOFIXPREBINDING">MH_NOFIXPREBINDING</a></div><div class="desc docblock-short">do not have dyld notify the prebinding agent about this executable</div></li><li><div class="item-name"><a class="constant" href="constant.MH_NOMULTIDEFS.html" title="constant object::macho::MH_NOMULTIDEFS">MH_NOMULTIDEFS</a></div><div class="desc docblock-short">this umbrella guarantees no multiple definitions of symbols in its sub-images so the two-level namespace hints can always be used.</div></li><li><div class="item-name"><a class="constant" href="constant.MH_NOUNDEFS.html" title="constant object::macho::MH_NOUNDEFS">MH_NOUNDEFS</a></div><div class="desc docblock-short">the object file has no undefine
the platforms macOS, iOSMac, iOSSimulator, tvOSSimulator and watchOSSimulator.</div></li><li><div class="item-name"><a class="constant" href="constant.MH_SPLIT_SEGS.html" title="constant object::macho::MH_SPLIT_SEGS">MH_SPLIT_SEGS</a></div><div class="desc docblock-short">the file has its read-only and read-write segments split</div></li><li><div class="item-name"><a class="constant" href="constant.MH_SUBSECTIONS_VIA_SYMBOLS.html" title="constant object::macho::MH_SUBSECTIONS_VIA_SYMBOLS">MH_SUBSECTIONS_VIA_SYMBOLS</a></div><div class="desc docblock-short">safe to divide up the sections into sub-sections via symbols for dead code stripping</div></li><li><div class="item-name"><a class="constant" href="constant.MH_TWOLEVEL.html" title="constant object::macho::MH_TWOLEVEL">MH_TWOLEVEL</a></div><div class="desc docblock-short">the image is using two-level name space bindings</div></li><li><div class="item-name"><a class="constant" href="constant.MH_WEAK_DEFINES.html" title="constant object::macho::MH_WEAK_DEFINES">MH_WEAK_DEFINES</a></div><div class="desc docblock-short">the final linked image contains external weak symbols</div></li><li><div class="item-name"><a class="constant" href="constant.NO_SECT.html" title="constant object::macho::NO_SECT">NO_SECT</a></div><div class="desc docblock-short">symbol is not in any section</div></li><li><div class="item-name"><a class="constant" href="constant.N_ABS.html" title="constant object::macho::N_ABS">N_ABS</a></div><div class="desc docblock-short">absolute, n_sect == NO_SECT</div></li><li><div class="item-name"><a class="constant" href="constant.N_ALT_ENTRY.html" title="constant object::macho::N_ALT_ENTRY">N_ALT_ENTRY</a></div></li><li><div class="item-name"><a class="constant" href="constant.N_ARM_THUMB_DEF.html" title="constant object::macho::N_ARM_THUMB_DEF">N_ARM_THUMB_DEF</a></div><div class="desc docblock-short">symbol is a Thumb function (ARM)</div></li><li><div class="item-name"><a class="constant" href="constant.N_AST.html" title="constant object::macho::N_AST">N_AST</a></div><div class="desc docblock-short">AST file path: name,,NO_SECT,0,0</div></li><li><div class="item-name"><a class="constant" href="constant.N_BCOMM.html" title="constant object::macho::N_BCOMM">N_BCOMM</a></div><div class="desc docblock-short">begin common: name,,NO_SECT,0,0</div></li><li><div class="item-name"><a class="constant" href="constant.N_BINCL.html" title="constant object::macho::N_BINCL">N_BINCL</a></div><div class="desc docblock-short">include file beginning: name,,NO_SECT,0,sum</div></li><li><div class="item-name"><a class="constant" href="constant.N_BNSYM.html" title="constant object::macho::N_BNSYM">N_BNSYM</a></div><div class="desc docblock-short">begin nsect sym: 0,,n_sect,0,address</div></li><li><div class="item-name"><a class="constant" href="constant.N_DESC_DISCARDED.html" title="constant object::macho::N_DESC_DISCARDED">N_DESC_DISCARDED</a></div><div class="desc docblock-short">symbol is discarded</div></li><li><div class="item-name"><a class="constant" href="constant.N_ECOML.html" title="constant object::macho::N_ECOML">N_ECOML</a></div><div class="desc docblock-short">end common (local name): 0,,n_sect,0,address</div></li><li><div class="item-name"><a class="constant" href="constant.N_ECOMM.html" title="constant object::macho::N_ECOMM">N_ECOMM</a></div><div class="desc docblock-short">end common: name,,n_sect,0,0</div></li><li><div class="item-name"><a class="constant" href="constant.N_EINCL.html" title="constant object::macho::N_EINCL">N_EINCL</a></div><div class="desc docblock-short">include file end: name,,NO_SECT,0,0</div></li><li><div class="item-name"><a class="constant" href="constant.N_ENSYM.html" title="constant object::macho::N_ENSYM">N_ENSYM</a></div><div class="desc docblock-short">end nsect sym: 0,,n_sect,0,address</div></li><li><div class="item-name"><a class="constant" href="constant.N_ENTRY.html" title="constant object::macho::N_ENTRY">N_ENTRY</a></div><div class="desc docblock-short">alternate entry: name,,n_sect,linenumber,address</div></li><li><div class="ite
with the low 16 bits sign extended first. This means if bit 15 of the low 16 bits is
set the high 16 bits stored in the instruction will be adjusted.</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_HA16_SECTDIFF.html" title="constant object::macho::PPC_RELOC_HA16_SECTDIFF">PPC_RELOC_HA16_SECTDIFF</a></div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_HI16.html" title="constant object::macho::PPC_RELOC_HI16">PPC_RELOC_HI16</a></div><div class="desc docblock-short">a PAIR follows with the low half</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_HI16_SECTDIFF.html" title="constant object::macho::PPC_RELOC_HI16_SECTDIFF">PPC_RELOC_HI16_SECTDIFF</a></div><div class="desc docblock-short">section difference forms of above. a PAIR</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_JBSR.html" title="constant object::macho::PPC_RELOC_JBSR">PPC_RELOC_JBSR</a></div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_LO14.html" title="constant object::macho::PPC_RELOC_LO14">PPC_RELOC_LO14</a></div><div class="desc docblock-short">Same as the LO16 except that the low 2 bits are not stored in the instruction and are
always zero. This is used in double word load/store instructions.</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_LO14_SECTDIFF.html" title="constant object::macho::PPC_RELOC_LO14_SECTDIFF">PPC_RELOC_LO14_SECTDIFF</a></div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_LO16.html" title="constant object::macho::PPC_RELOC_LO16">PPC_RELOC_LO16</a></div><div class="desc docblock-short">a PAIR follows with the high half</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_LO16_SECTDIFF.html" title="constant object::macho::PPC_RELOC_LO16_SECTDIFF">PPC_RELOC_LO16_SECTDIFF</a></div><div class="desc docblock-short">follows these with subtract symbol value</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_LOCAL_SECTDIFF.html" title="constant object::macho::PPC_RELOC_LOCAL_SECTDIFF">PPC_RELOC_LOCAL_SECTDIFF</a></div><div class="desc docblock-short">like PPC_RELOC_SECTDIFF, but the symbol referenced was local.</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_PAIR.html" title="constant object::macho::PPC_RELOC_PAIR">PPC_RELOC_PAIR</a></div><div class="desc docblock-short">the second relocation entry of a pair</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_PB_LA_PTR.html" title="constant object::macho::PPC_RELOC_PB_LA_PTR">PPC_RELOC_PB_LA_PTR</a></div><div class="desc docblock-short">prebound lazy pointer</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_SECTDIFF.html" title="constant object::macho::PPC_RELOC_SECTDIFF">PPC_RELOC_SECTDIFF</a></div><div class="desc docblock-short">a PAIR follows with subtract symbol value</div></li><li><div class="item-name"><a class="constant" href="constant.PPC_RELOC_VANILLA.html" title="constant object::macho::PPC_RELOC_VANILLA">PPC_RELOC_VANILLA</a></div><div class="desc docblock-short">generic relocation as described above</div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_IMMEDIATE_MASK.html" title="constant object::macho::REBASE_IMMEDIATE_MASK">REBASE_IMMEDIATE_MASK</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_ADD_ADDR_IMM_SCALED.html" title="constant object::macho::REBASE_OPCODE_ADD_ADDR_IMM_SCALED">REBASE_OPCODE_ADD_ADDR_IMM_SCALED</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_ADD_ADDR_ULEB.html" title="constant object::macho::REBASE_OPCODE_ADD_ADDR_ULEB">REBASE_OPCODE_ADD_ADDR_ULEB</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_DONE.html" title="constant object::macho::REBASE_OPCODE_DONE">REBASE_OPCODE_DONE</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB.html" title="constant object::macho::REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB">REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_DO_REBASE_IMM_TIMES.html" title="constant object::macho::REBASE_OPCODE_DO_REBASE_IMM_TIMES">REBASE_OPCODE_DO_REBASE_IMM_TIMES</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_DO_REBASE_ULEB_TIMES.html" title="constant object::macho::REBASE_OPCODE_DO_REBASE_ULEB_TIMES">REBASE_OPCODE_DO_REBASE_ULEB_TIMES</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB.html" title="constant object::macho::REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB">REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_MASK.html" title="constant object::macho::REBASE_OPCODE_MASK">REBASE_OPCODE_MASK</a></div></li><li><div class="item-name"><a class="constant" href="constant.REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB.html" title="constant object::macho::REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB">REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_UL