mirror of
https://github.com/fluencelabs/wasmer
synced 2025-04-28 11:52:15 +00:00
159 lines
40 KiB
HTML
159 lines
40 KiB
HTML
<!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="API documentation for the Rust `load_command` mod in crate `goblin`."><meta name="keywords" content="rust, rustlang, rust-lang, load_command"><title>goblin::mach::load_command - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="shortcut icon" href="../../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../../goblin/index.html'><div class='logo-container'><img src='../../../rust-logo.png' alt='logo'></div></a><p class='location'>Module load_command</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'><a href='../../index.html'>goblin</a>::<wbr><a href='../index.html'>mach</a></p><script>window.sidebarCurrent = {name: 'load_command', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='../../../src/goblin/mach/load_command.rs.html#1-1515' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../../index.html'>goblin</a>::<wbr><a href='../index.html'>mach</a>::<wbr><a class="mod" href=''>load_command</a></span></h1><div class='docblock'><p>Load commands tell the kernel and dynamic linker anything from how to load this binary into memory, what the entry point is, apple specific information, to which libraries it requires for dynamic linking</p>
|
||
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
|
||
<table><tr class='module-item'><td><a class="struct" href="struct.DataInCodeEntry.html" title='goblin::mach::load_command::DataInCodeEntry struct'>DataInCodeEntry</a></td><td class='docblock-short'><p>The LC_DATA_IN_CODE load commands uses a linkedit_data_command
|
||
to point to an array of data_in_code_entry entries. Each entry
|
||
describes a range of data in a code section.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DyldInfoCommand.html" title='goblin::mach::load_command::DyldInfoCommand struct'>DyldInfoCommand</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Dylib.html" title='goblin::mach::load_command::Dylib struct'>Dylib</a></td><td class='docblock-short'><p>A dynamically linked shared library (fipub constype == MH_DYLIB in the mach header)
|
||
contains a dylib_command (cmd == LC_ID_DYLIB) to identify the library.
|
||
An object that uses a dynamically linked shared library also contains a
|
||
dylib_command (cmd == LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB, or
|
||
LC_REEXPORT_DYLIB) for each library it uses.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DylibCommand.html" title='goblin::mach::load_command::DylibCommand struct'>DylibCommand</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.DylibModule.html" title='goblin::mach::load_command::DylibModule struct'>DylibModule</a></td><td class='docblock-short'><p>a module table entry</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DylibModule64.html" title='goblin::mach::load_command::DylibModule64 struct'>DylibModule64</a></td><td class='docblock-short'><p>a 64-bit module table entry</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DylibReference.html" title='goblin::mach::load_command::DylibReference struct'>DylibReference</a></td><td class='docblock-short'><p>The entries in the reference symbol table are used when loading the module
|
||
(both by the static and dynamic link editors) and if the module is unloaded
|
||
or replaced. Therefore all external symbols (defined and undefined) are
|
||
listed in the module's reference table. The flags describe the type of
|
||
reference that is being made. The constants for the flags are defined in
|
||
<mach-o/nlist.h> as they are also used for symbol table entries.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DylibTableOfContents.html" title='goblin::mach::load_command::DylibTableOfContents struct'>DylibTableOfContents</a></td><td class='docblock-short'><p>a table of contents entry</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DylinkerCommand.html" title='goblin::mach::load_command::DylinkerCommand struct'>DylinkerCommand</a></td><td class='docblock-short'><p>The name of the dynamic linker</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.DysymtabCommand.html" title='goblin::mach::load_command::DysymtabCommand struct'>DysymtabCommand</a></td><td class='docblock-short'><p>This is the second set of the symbolic information which is used to support
|
||
the data structures for the dynamically link editor.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.EncryptionInfoCommand32.html" title='goblin::mach::load_command::EncryptionInfoCommand32 struct'>EncryptionInfoCommand32</a></td><td class='docblock-short'><p>The encryption_info_command contains the file offset and size of an
|
||
of an encrypted segment.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.EncryptionInfoCommand64.html" title='goblin::mach::load_command::EncryptionInfoCommand64 struct'>EncryptionInfoCommand64</a></td><td class='docblock-short'><p>The encryption_info_command_64 contains the file offset and size of an
|
||
of an encrypted segment (for use in x86_64 targets).</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.EntryPointCommand.html" title='goblin::mach::load_command::EntryPointCommand struct'>EntryPointCommand</a></td><td class='docblock-short'><p>The entry_point_command is a replacement for thread_command.
|
||
It is used for main executables to specify the location (file offset)
|
||
of main(). If -stack_size was used at link time, the stacksize
|
||
field will contain the stack size need for the main thread.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.FvmfileCommand.html" title='goblin::mach::load_command::FvmfileCommand struct'>FvmfileCommand</a></td><td class='docblock-short'><p>The fvmfile_command contains a reference to a file to be loaded at the
|
||
specified virtual address. (Presently, this command is reserved for
|
||
internal use. The kernel ignores this command when loading a program into
|
||
memory).</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Fvmlib.html" title='goblin::mach::load_command::Fvmlib struct'>Fvmlib</a></td><td class='docblock-short'><p>Fixed virtual memory shared libraries are identified by two things. The
|
||
target pathname (the name of the library as found for execution), and the
|
||
minor version number. The address of where the headers are loaded is in
|
||
header_addr. (THIS IS OBSOLETE and no longer supported).</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.FvmlibCommand.html" title='goblin::mach::load_command::FvmlibCommand struct'>FvmlibCommand</a></td><td class='docblock-short'><p>A fixed virtual shared library (fipub constype == MH_FVMLIB in the mach header)
|
||
contains a fvmlib_command (cmd == LC_IDFVMLIB) to identify the library.
|
||
An object that uses a fixed virtual shared library also contains a
|
||
fvmlib_command (cmd == LC_LOADFVMLIB) for each library it uses.
|
||
(THIS IS OBSOLETE and no longer supported).</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.IdentCommand.html" title='goblin::mach::load_command::IdentCommand struct'>IdentCommand</a></td><td class='docblock-short'><p>The ident_command contains a free format string table following the
|
||
ident_command structure. The strings are null terminated and the size of
|
||
the command is padded out with zero bytes to a multiple of 4 bytes/
|
||
(THIS IS OBSOLETE and no longer supported).</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.LinkeditDataCommand.html" title='goblin::mach::load_command::LinkeditDataCommand struct'>LinkeditDataCommand</a></td><td class='docblock-short'><p>The linkedit_data_command contains the offsets and sizes of a blob
|
||
of data in the __LINKEDIT segment.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.LinkerOptionCommand.html" title='goblin::mach::load_command::LinkerOptionCommand struct'>LinkerOptionCommand</a></td><td class='docblock-short'><p>The linker_option_command contains linker options embedded in object files.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.LoadCommand.html" title='goblin::mach::load_command::LoadCommand struct'>LoadCommand</a></td><td class='docblock-short'><p>A tagged LoadCommand union</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.LoadCommandHeader.html" title='goblin::mach::load_command::LoadCommandHeader struct'>LoadCommandHeader</a></td><td class='docblock-short'><p>Occurs at the beginning of every load command to serve as a sort of tagged union/enum discriminant</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.PrebindCksumCommand.html" title='goblin::mach::load_command::PrebindCksumCommand struct'>PrebindCksumCommand</a></td><td class='docblock-short'><p>The prebind_cksum_command contains the value of the original check sum for
|
||
prebound files or zero. When a prebound file is first created or modified
|
||
for other than updating its prebinding information the value of the check sum
|
||
is set to zero. When the file has it prebinding re-done and if the value of
|
||
the check sum is zero the original check sum is calculated and stored in
|
||
cksum field of this load command in the output file. If when the prebinding
|
||
is re-done and the cksum field is non-zero it is left unchanged from the
|
||
input file.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.PreboundDylibCommand.html" title='goblin::mach::load_command::PreboundDylibCommand struct'>PreboundDylibCommand</a></td><td class='docblock-short'><p>A program (type == MH_EXECUTE) that is
|
||
prebound to its dynamic libraries has one of these for each library that
|
||
the static linker used in prebinding. It contains a bit vector for the
|
||
modules in the library. The bits indicate which modules are bound (1) and
|
||
which are not (0) from the library. The bit for module 0 is the low bit
|
||
of the first byte. So the bit for the Nth module is:
|
||
(linked_modules[N/8] >> N%8) & 1</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.RoutinesCommand32.html" title='goblin::mach::load_command::RoutinesCommand32 struct'>RoutinesCommand32</a></td><td class='docblock-short'><p>The routines command contains the address of the dynamic shared library
|
||
initialization routine and an index into the module table for the module
|
||
that defines the routine. Before any modules are used from the library the
|
||
dynamic linker fully binds the module that defines the initialization routine
|
||
and then calls it. This gets called before any module initialization
|
||
routines (used for C++ static constructors) in the library.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.RoutinesCommand64.html" title='goblin::mach::load_command::RoutinesCommand64 struct'>RoutinesCommand64</a></td><td class='docblock-short'><p>The 64-bit routines command. Same use as above.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.RpathCommand.html" title='goblin::mach::load_command::RpathCommand struct'>RpathCommand</a></td><td class='docblock-short'><p>The rpath_command contains a path which at runtime should be added to
|
||
the current run path used to find @rpath prefixed dylibs.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Section32.html" title='goblin::mach::load_command::Section32 struct'>Section32</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Section64.html" title='goblin::mach::load_command::Section64 struct'>Section64</a></td><td class='docblock-short'><p>for 64-bit architectures</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SegmentCommand32.html" title='goblin::mach::load_command::SegmentCommand32 struct'>SegmentCommand32</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.SegmentCommand64.html" title='goblin::mach::load_command::SegmentCommand64 struct'>SegmentCommand64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.SourceVersionCommand.html" title='goblin::mach::load_command::SourceVersionCommand struct'>SourceVersionCommand</a></td><td class='docblock-short'><p>The source_version_command is an optional load command containing
|
||
the version of the sources used to build the binary.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SubClientCommand.html" title='goblin::mach::load_command::SubClientCommand struct'>SubClientCommand</a></td><td class='docblock-short'><p>For dynamically linked shared libraries that are subframework of an umbrella
|
||
framework they can allow clients other than the umbrella framework or other
|
||
subframeworks in the same umbrella framework. To do this the subframework
|
||
is built with "-allowable_client client_name" and an LC_SUB_CLIENT load
|
||
command is created for each -allowable_client flag. The client_name is
|
||
usually a framework name. It can also be a name used for bundles clients
|
||
where the bundle is built with "-client_name client_name".</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SubFrameworkCommand.html" title='goblin::mach::load_command::SubFrameworkCommand struct'>SubFrameworkCommand</a></td><td class='docblock-short'><p>A dynamically linked shared library may be a subframework of an umbrella
|
||
framework. If so it will be linked with "-umbrella umbrella_name" where
|
||
Where "umbrella_name" is the name of the umbrella framework. A subframework
|
||
can only be linked against by its umbrella framework or other subframeworks
|
||
that are part of the same umbrella framework. Otherwise the static link
|
||
editor produces an error and states to link against the umbrella framework.
|
||
The name of the umbrella framework for subframeworks is recorded in the
|
||
following structure.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SubLibraryCommand.html" title='goblin::mach::load_command::SubLibraryCommand struct'>SubLibraryCommand</a></td><td class='docblock-short'><p>A dynamically linked shared library may be a sub_library of another shared
|
||
library. If so it will be linked with "-sub_library library_name" where
|
||
Where "library_name" is the name of the sub_library shared library. When
|
||
staticly linking when -twolevel_namespace is in effect a twolevel namespace
|
||
shared library will only cause its subframeworks and those frameworks
|
||
listed as sub_umbrella frameworks and libraries listed as sub_libraries to
|
||
be implicited linked in. Any other dependent dynamic libraries will not be
|
||
linked it when -twolevel_namespace is in effect. The primary library
|
||
recorded by the static linker when resolving a symbol in these libraries
|
||
will be the umbrella framework (or dynamic library). Zero or more sub_library
|
||
shared libraries may be use by an umbrella framework or (or dynamic library).
|
||
The name of a sub_library framework is recorded in the following structure.
|
||
For example /usr/lib/libobjc_profile.A.dylib would be recorded as "libobjc".</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SubUmbrellaCommand.html" title='goblin::mach::load_command::SubUmbrellaCommand struct'>SubUmbrellaCommand</a></td><td class='docblock-short'><p>A dynamically linked shared library may be a sub_umbrella of an umbrella
|
||
framework. If so it will be linked with "-sub_umbrella umbrella_name" where
|
||
Where "umbrella_name" is the name of the sub_umbrella framework. When
|
||
staticly linking when -twolevel_namespace is in effect a twolevel namespace
|
||
umbrella framework will only cause its subframeworks and those frameworks
|
||
listed as sub_umbrella frameworks to be implicited linked in. Any other
|
||
dependent dynamic libraries will not be linked it when -twolevel_namespace
|
||
is in effect. The primary library recorded by the static linker when
|
||
resolving a symbol in these libraries will be the umbrella framework.
|
||
Zero or more sub_umbrella frameworks may be use by an umbrella framework.
|
||
The name of a sub_umbrella framework is recorded in the following structure.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SymsegCommand.html" title='goblin::mach::load_command::SymsegCommand struct'>SymsegCommand</a></td><td class='docblock-short'><p>The symseg_command contains the offset and size of the GNU style
|
||
symbol table information as described in the header file <symseg.h>.
|
||
The symbol roots of the symbol segments must also be aligned properly
|
||
in the file. So the requirement of keeping the offsets aligned to a
|
||
multiple of a 4 bytes translates to the length field of the symbol
|
||
roots also being a multiple of a long. Also the padding must again be
|
||
zeroed. (THIS IS OBSOLETE and no longer supported).</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.SymtabCommand.html" title='goblin::mach::load_command::SymtabCommand struct'>SymtabCommand</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.ThreadCommand.html" title='goblin::mach::load_command::ThreadCommand struct'>ThreadCommand</a></td><td class='docblock-short'><p>Thread commands contain machine-specific data structures suitable for
|
||
use in the thread state primitives. The machine specific data structures
|
||
follow the struct thread_command as follows.
|
||
Each flavor of machine specific data structure is preceded by an unsigned
|
||
long constant for the flavor of that data structure, an uint32_t
|
||
that is the count of longs of the size of the state data structure and then
|
||
the state data structure follows. This triple may be repeated for many
|
||
flavors. The constants for the flavors, counts and state data structure
|
||
definitions are expected to be in the header file <machine/thread_status.h>.
|
||
These machine specific data structures sizes must be multiples of
|
||
4 bytes The cmdsize reflects the total size of the thread_command
|
||
and all of the sizes of the constants for the flavors, counts and state
|
||
data structures.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.TwolevelHint.html" title='goblin::mach::load_command::TwolevelHint struct'>TwolevelHint</a></td><td class='docblock-short'><p>The entries in the two-level namespace lookup hints table are twolevel_hint
|
||
structs. These provide hints to the dynamic link editor where to start
|
||
looking for an undefined symbol in a two-level namespace image. The
|
||
isub_image field is an index into the sub-images (sub-frameworks and
|
||
sub-umbrellas list) that made up the two-level image that the undefined
|
||
symbol was found in when it was built by the static link editor. If
|
||
isub-image is 0 the the symbol is expected to be defined in library and not
|
||
in the sub-images. If isub-image is non-zero it is an index into the array
|
||
of sub-images for the umbrella with the first index in the sub-images being</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.TwolevelHintsCommand.html" title='goblin::mach::load_command::TwolevelHintsCommand struct'>TwolevelHintsCommand</a></td><td class='docblock-short'><p>The twolevel_hints_command contains the offset and number of hints in the
|
||
two-level namespace lookup hints table.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.UuidCommand.html" title='goblin::mach::load_command::UuidCommand struct'>UuidCommand</a></td><td class='docblock-short'><p>The uuid load command contains a single 128-bit unique random number that
|
||
identifies an object produced by the static link editor.</p>
|
||
</td></tr><tr class='module-item'><td><a class="struct" href="struct.VersionMinCommand.html" title='goblin::mach::load_command::VersionMinCommand struct'>VersionMinCommand</a></td><td class='docblock-short'><p>The version_min_command contains the min OS version on which this
|
||
binary was built to run.</p>
|
||
</td></tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2>
|
||
<table><tr class='module-item'><td><a class="enum" href="enum.CommandVariant.html" title='goblin::mach::load_command::CommandVariant enum'>CommandVariant</a></td><td class='docblock-short'><p>The various load commands as a cast-free variant/enum</p>
|
||
</td></tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
|
||
<table><tr class='module-item'><td><a class="constant" href="constant.LC_CODE_SIGNATURE.html" title='goblin::mach::load_command::LC_CODE_SIGNATURE constant'>LC_CODE_SIGNATURE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_DATA_IN_CODE.html" title='goblin::mach::load_command::LC_DATA_IN_CODE constant'>LC_DATA_IN_CODE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_DYLD_ENVIRONMENT.html" title='goblin::mach::load_command::LC_DYLD_ENVIRONMENT constant'>LC_DYLD_ENVIRONMENT</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_DYLD_INFO.html" title='goblin::mach::load_command::LC_DYLD_INFO constant'>LC_DYLD_INFO</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_DYLD_INFO_ONLY.html" title='goblin::mach::load_command::LC_DYLD_INFO_ONLY constant'>LC_DYLD_INFO_ONLY</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_DYLIB_CODE_SIGN_DRS.html" title='goblin::mach::load_command::LC_DYLIB_CODE_SIGN_DRS constant'>LC_DYLIB_CODE_SIGN_DRS</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_DYSYMTAB.html" title='goblin::mach::load_command::LC_DYSYMTAB constant'>LC_DYSYMTAB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_ENCRYPTION_INFO.html" title='goblin::mach::load_command::LC_ENCRYPTION_INFO constant'>LC_ENCRYPTION_INFO</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_ENCRYPTION_INFO_64.html" title='goblin::mach::load_command::LC_ENCRYPTION_INFO_64 constant'>LC_ENCRYPTION_INFO_64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_FUNCTION_STARTS.html" title='goblin::mach::load_command::LC_FUNCTION_STARTS constant'>LC_FUNCTION_STARTS</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_FVMFILE.html" title='goblin::mach::load_command::LC_FVMFILE constant'>LC_FVMFILE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_IDENT.html" title='goblin::mach::load_command::LC_IDENT constant'>LC_IDENT</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_IDFVMLIB.html" title='goblin::mach::load_command::LC_IDFVMLIB constant'>LC_IDFVMLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_ID_DYLIB.html" title='goblin::mach::load_command::LC_ID_DYLIB constant'>LC_ID_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_ID_DYLINKER.html" title='goblin::mach::load_command::LC_ID_DYLINKER constant'>LC_ID_DYLINKER</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LAZY_LOAD_DYLIB.html" title='goblin::mach::load_command::LC_LAZY_LOAD_DYLIB constant'>LC_LAZY_LOAD_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LINKER_OPTIMIZATION_HINT.html" title='goblin::mach::load_command::LC_LINKER_OPTIMIZATION_HINT constant'>LC_LINKER_OPTIMIZATION_HINT</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LINKER_OPTION.html" title='goblin::mach::load_command::LC_LINKER_OPTION constant'>LC_LINKER_OPTION</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LOADFVMLIB.html" title='goblin::mach::load_command::LC_LOADFVMLIB constant'>LC_LOADFVMLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LOAD_DYLIB.html" title='goblin::mach::load_command::LC_LOAD_DYLIB constant'>LC_LOAD_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LOAD_DYLINKER.html" title='goblin::mach::load_command::LC_LOAD_DYLINKER constant'>LC_LOAD_DYLINKER</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LOAD_UPWARD_DYLIB.html" title='goblin::mach::load_command::LC_LOAD_UPWARD_DYLIB constant'>LC_LOAD_UPWARD_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_LOAD_WEAK_DYLIB.html" title='goblin::mach::load_command::LC_LOAD_WEAK_DYLIB constant'>LC_LOAD_WEAK_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_MAIN.html" title='goblin::mach::load_command::LC_MAIN constant'>LC_MAIN</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_PREBIND_CKSUM.html" title='goblin::mach::load_command::LC_PREBIND_CKSUM constant'>LC_PREBIND_CKSUM</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_PREBOUND_DYLIB.html" title='goblin::mach::load_command::LC_PREBOUND_DYLIB constant'>LC_PREBOUND_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_PREPAGE.html" title='goblin::mach::load_command::LC_PREPAGE constant'>LC_PREPAGE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_REEXPORT_DYLIB.html" title='goblin::mach::load_command::LC_REEXPORT_DYLIB constant'>LC_REEXPORT_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_REQ_DYLD.html" title='goblin::mach::load_command::LC_REQ_DYLD constant'>LC_REQ_DYLD</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_ROUTINES.html" title='goblin::mach::load_command::LC_ROUTINES constant'>LC_ROUTINES</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_ROUTINES_64.html" title='goblin::mach::load_command::LC_ROUTINES_64 constant'>LC_ROUTINES_64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_RPATH.html" title='goblin::mach::load_command::LC_RPATH constant'>LC_RPATH</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SEGMENT.html" title='goblin::mach::load_command::LC_SEGMENT constant'>LC_SEGMENT</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SEGMENT_64.html" title='goblin::mach::load_command::LC_SEGMENT_64 constant'>LC_SEGMENT_64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SEGMENT_SPLIT_INFO.html" title='goblin::mach::load_command::LC_SEGMENT_SPLIT_INFO constant'>LC_SEGMENT_SPLIT_INFO</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SOURCE_VERSION.html" title='goblin::mach::load_command::LC_SOURCE_VERSION constant'>LC_SOURCE_VERSION</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SUB_CLIENT.html" title='goblin::mach::load_command::LC_SUB_CLIENT constant'>LC_SUB_CLIENT</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SUB_FRAMEWORK.html" title='goblin::mach::load_command::LC_SUB_FRAMEWORK constant'>LC_SUB_FRAMEWORK</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SUB_LIBRARY.html" title='goblin::mach::load_command::LC_SUB_LIBRARY constant'>LC_SUB_LIBRARY</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SUB_UMBRELLA.html" title='goblin::mach::load_command::LC_SUB_UMBRELLA constant'>LC_SUB_UMBRELLA</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SYMSEG.html" title='goblin::mach::load_command::LC_SYMSEG constant'>LC_SYMSEG</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_SYMTAB.html" title='goblin::mach::load_command::LC_SYMTAB constant'>LC_SYMTAB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_THREAD.html" title='goblin::mach::load_command::LC_THREAD constant'>LC_THREAD</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_TWOLEVEL_HINTS.html" title='goblin::mach::load_command::LC_TWOLEVEL_HINTS constant'>LC_TWOLEVEL_HINTS</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_UNIXTHREAD.html" title='goblin::mach::load_command::LC_UNIXTHREAD constant'>LC_UNIXTHREAD</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_UUID.html" title='goblin::mach::load_command::LC_UUID constant'>LC_UUID</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_VERSION_MIN_IPHONEOS.html" title='goblin::mach::load_command::LC_VERSION_MIN_IPHONEOS constant'>LC_VERSION_MIN_IPHONEOS</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.LC_VERSION_MIN_MACOSX.html" title='goblin::mach::load_command::LC_VERSION_MIN_MACOSX constant'>LC_VERSION_MIN_MACOSX</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_DYLIB.html" title='goblin::mach::load_command::SIZEOF_DYLIB constant'>SIZEOF_DYLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_DYLIB_COMMAND.html" title='goblin::mach::load_command::SIZEOF_DYLIB_COMMAND constant'>SIZEOF_DYLIB_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_DYLIB_INFO_COMMAND.html" title='goblin::mach::load_command::SIZEOF_DYLIB_INFO_COMMAND constant'>SIZEOF_DYLIB_INFO_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_DYLINKER_COMMAND.html" title='goblin::mach::load_command::SIZEOF_DYLINKER_COMMAND constant'>SIZEOF_DYLINKER_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_DYSYMTAB_COMMAND.html" title='goblin::mach::load_command::SIZEOF_DYSYMTAB_COMMAND constant'>SIZEOF_DYSYMTAB_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_ENCRYPTION_INFO_COMMAND_32.html" title='goblin::mach::load_command::SIZEOF_ENCRYPTION_INFO_COMMAND_32 constant'>SIZEOF_ENCRYPTION_INFO_COMMAND_32</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_ENCRYPTION_INFO_COMMAND_64.html" title='goblin::mach::load_command::SIZEOF_ENCRYPTION_INFO_COMMAND_64 constant'>SIZEOF_ENCRYPTION_INFO_COMMAND_64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_ENTRY_POINT_COMMAND.html" title='goblin::mach::load_command::SIZEOF_ENTRY_POINT_COMMAND constant'>SIZEOF_ENTRY_POINT_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_FVMFILE_COMMAND.html" title='goblin::mach::load_command::SIZEOF_FVMFILE_COMMAND constant'>SIZEOF_FVMFILE_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_FVMLIB.html" title='goblin::mach::load_command::SIZEOF_FVMLIB constant'>SIZEOF_FVMLIB</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_FVMLIB_COMMAND.html" title='goblin::mach::load_command::SIZEOF_FVMLIB_COMMAND constant'>SIZEOF_FVMLIB_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_IDENT_COMMAND.html" title='goblin::mach::load_command::SIZEOF_IDENT_COMMAND constant'>SIZEOF_IDENT_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_LC_STR.html" title='goblin::mach::load_command::SIZEOF_LC_STR constant'>SIZEOF_LC_STR</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_LINKEDIT_DATA_COMMAND.html" title='goblin::mach::load_command::SIZEOF_LINKEDIT_DATA_COMMAND constant'>SIZEOF_LINKEDIT_DATA_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_LINKER_OPTION_COMMAND.html" title='goblin::mach::load_command::SIZEOF_LINKER_OPTION_COMMAND constant'>SIZEOF_LINKER_OPTION_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_LOAD_COMMAND.html" title='goblin::mach::load_command::SIZEOF_LOAD_COMMAND constant'>SIZEOF_LOAD_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_PREBOUND_DYLIB_COMMAND.html" title='goblin::mach::load_command::SIZEOF_PREBOUND_DYLIB_COMMAND constant'>SIZEOF_PREBOUND_DYLIB_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_RPATH_COMMAND.html" title='goblin::mach::load_command::SIZEOF_RPATH_COMMAND constant'>SIZEOF_RPATH_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SECTION_32.html" title='goblin::mach::load_command::SIZEOF_SECTION_32 constant'>SIZEOF_SECTION_32</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SECTION_64.html" title='goblin::mach::load_command::SIZEOF_SECTION_64 constant'>SIZEOF_SECTION_64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SEGMENT_COMMAND_32.html" title='goblin::mach::load_command::SIZEOF_SEGMENT_COMMAND_32 constant'>SIZEOF_SEGMENT_COMMAND_32</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SEGMENT_COMMAND_64.html" title='goblin::mach::load_command::SIZEOF_SEGMENT_COMMAND_64 constant'>SIZEOF_SEGMENT_COMMAND_64</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SUB_CLIENT_COMMAND.html" title='goblin::mach::load_command::SIZEOF_SUB_CLIENT_COMMAND constant'>SIZEOF_SUB_CLIENT_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SUB_FRAMEWORK_COMMAND.html" title='goblin::mach::load_command::SIZEOF_SUB_FRAMEWORK_COMMAND constant'>SIZEOF_SUB_FRAMEWORK_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SUB_LIBRARY_COMMAND.html" title='goblin::mach::load_command::SIZEOF_SUB_LIBRARY_COMMAND constant'>SIZEOF_SUB_LIBRARY_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SUB_UMBRELLA_COMMAND.html" title='goblin::mach::load_command::SIZEOF_SUB_UMBRELLA_COMMAND constant'>SIZEOF_SUB_UMBRELLA_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SYMSEG_COMMAND.html" title='goblin::mach::load_command::SIZEOF_SYMSEG_COMMAND constant'>SIZEOF_SYMSEG_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_SYMTAB_COMMAND.html" title='goblin::mach::load_command::SIZEOF_SYMTAB_COMMAND constant'>SIZEOF_SYMTAB_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_UUID_COMMAND.html" title='goblin::mach::load_command::SIZEOF_UUID_COMMAND constant'>SIZEOF_UUID_COMMAND</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SIZEOF_VERSION_MIN_COMMAND.html" title='goblin::mach::load_command::SIZEOF_VERSION_MIN_COMMAND constant'>SIZEOF_VERSION_MIN_COMMAND</a></td><td class='docblock-short'></td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
|
||
<table><tr class='module-item'><td><a class="fn" href="fn.cmd_to_str.html" title='goblin::mach::load_command::cmd_to_str fn'>cmd_to_str</a></td><td class='docblock-short'></td></tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
|
||
<table><tr class='module-item'><td><a class="type" href="type.LcStr.html" title='goblin::mach::load_command::LcStr type'>LcStr</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "goblin";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html> |