Crate mach_object [−] [src]
Mach-O File Format Parser for Rust
Examples
use std::io::{Read, Cursor}; use std::fs::File; use mach_object::{OFile, CPU_TYPE_X86_64, MachCommand, LoadCommand}; let mut f = File::open("test/helloworld").unwrap(); let mut buf = Vec::new(); let size = f.read_to_end(&mut buf).unwrap(); let mut cur = Cursor::new(&buf[..size]); if let OFile::MachFile { ref header, ref commands } = OFile::parse(&mut cur).unwrap() { assert_eq!(header.cputype, CPU_TYPE_X86_64); assert_eq!(header.ncmds as usize, commands.len()); for &MachCommand(ref cmd, cmdsize) in commands { if let &LoadCommand::Segment64 { ref segname, ref sections, .. } = cmd { println!("segment: {}", segname); for ref sect in sections { println!(" section: {}", sect.sectname); } } } }
For more detail, please check the unit tests and the otool example.
Structs
ArHeader |
the archive file header |
Bind |
A stream of BIND opcodes to bind all binding symbols. |
BindOpCodes |
An iterator over the |
BindSymbol |
The mach binding symbol information |
BindSymbolFlags |
Flags for bind symbol |
DataInCodeEntry |
The |
DyLib |
Dynamically linked shared libraries are identified by two things. |
DyLibModule |
a module table entry |
DyLibTocEntry |
a table of contents entry |
ExportSymbol | |
ExportSymbolFlags |
The following are used on the flags byte of a terminal node in the export information. |
ExportTrie | |
FatArch |
For each architecture in the file, specified by a pair of cputype and cpusubtype,
the |
FatHeader |
The structures of the file format for "fat" architecture specific file (wrapper design).
At the begining of the file there is one |
FvmLib |
Fixed virtual memory shared libraries are identified by two things. |
LazyBind |
A stream of BIND opcodes to bind all lazy symbols. |
LazyBindSymbol |
The mach lazy binding symbol information |
LcString |
A variable length string in a load command is represented by an |
LinkEditData |
The |
MachCommand |
Wrap load command with size in the Mach-O file |
MachHeader |
The mach header appears at the very beginning of the object file |
RanLib |
Structure of the __.SYMDEF table of contents for an archive. |
Rebase |
A stream of REBASE opcodes |
RebaseOpCodes |
An iterator over the |
RebaseSymbol |
The rebase symbol information |
Section |
A segment is made up of zero or more sections. |
SectionAttributes |
Constants for the section attributes part of the flags field of a section structure. |
SectionFlags |
The flags field of a section structure is separated into two parts a section type and section attributes. |
SegmentFlags |
Constants for the flags field of the segment_command |
SourceVersionTag |
The packed version. |
SymbolIter |
|
VersionTag |
The encoded version. |
WeakBind |
A stream of BIND opcodes to bind all weak binding symbols. |
WeakBindSymbol |
The mach weak binding symbol information |
Enums
BindOpCode |
|
BindSymbolType |
Bind or rebase symbol type |
BuildTarget |
The min OS version on which this binary was built to run. |
ExportKind | |
ExportType | |
LoadCommand |
The load commands directly follow the mach header. |
MachError | |
OFile |
The abstract file block, including mach-o file, fat/universal file, archive file and symdef block |
RebaseOpCode |
|
Symbol |
the link-edit 4.3BSD "stab" style symbol |
Constants
ARMAG | |
AR_EFMT1 | |
BIND_IMMEDIATE_MASK | |
BIND_OPCODE_ADD_ADDR_ULEB | |
BIND_OPCODE_DONE | |
BIND_OPCODE_DO_BIND | |
BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED | |
BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB | |
BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB | |
BIND_OPCODE_MASK | |
BIND_OPCODE_SET_ADDEND_SLEB | |
BIND_OPCODE_SET_DYLIB_ORDINAL_IMM | |
BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB | |
BIND_OPCODE_SET_DYLIB_SPECIAL_IMM | |
BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM | |
BIND_OPCODE_SET_TYPE_IMM | |
BIND_SPECIAL_DYLIB_FLAT_LOOKUP | |
BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE | |
BIND_SPECIAL_DYLIB_SELF | |
BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION | |
BIND_SYMBOL_FLAGS_WEAK_IMPORT | |
BIND_TYPE_POINTER | |
BIND_TYPE_TEXT_ABSOLUTE32 | |
BIND_TYPE_TEXT_PCREL32 | |
CPU_ARCH_ABI64 |
64 bit ABI |
CPU_ARCH_MASK |
mask for architecture bits |
CPU_SUBTYPE_386 | |
CPU_SUBTYPE_486 | |
CPU_SUBTYPE_586 | |
CPU_SUBTYPE_486SX | |
CPU_SUBTYPE_ARM64_ALL | |
CPU_SUBTYPE_ARM64_V8 | |
CPU_SUBTYPE_ARM_ALL | |
CPU_SUBTYPE_ARM_V6 | |
CPU_SUBTYPE_ARM_V7 | |
CPU_SUBTYPE_ARM_V8 | |
CPU_SUBTYPE_ARM_V4T | |
CPU_SUBTYPE_ARM_V5TEJ | |
CPU_SUBTYPE_ARM_V6M | |
CPU_SUBTYPE_ARM_V7EM | |
CPU_SUBTYPE_ARM_V7F | |
CPU_SUBTYPE_ARM_V7K | |
CPU_SUBTYPE_ARM_V7M | |
CPU_SUBTYPE_ARM_V7S | |
CPU_SUBTYPE_ARM_XSCALE | |
CPU_SUBTYPE_BIG_ENDIAN | |
CPU_SUBTYPE_CELERON | |
CPU_SUBTYPE_CELERON_MOBILE | |
CPU_SUBTYPE_HPPA_7100 | |
CPU_SUBTYPE_HPPA_7100LC | |
CPU_SUBTYPE_HPPA_ALL | |
CPU_SUBTYPE_I386_ALL | |
CPU_SUBTYPE_I860_860 | |
CPU_SUBTYPE_I860_ALL | |
CPU_SUBTYPE_INTEL_FAMILY_MAX | |
CPU_SUBTYPE_INTEL_MODEL_ALL | |
CPU_SUBTYPE_ITANIUM | |
CPU_SUBTYPE_ITANIUM_2 | |
CPU_SUBTYPE_LIB64 |
64 bit libraries |
CPU_SUBTYPE_LITTLE_ENDIAN | |
CPU_SUBTYPE_MASK |
mask for feature flags |
CPU_SUBTYPE_MC68030 | |
CPU_SUBTYPE_MC68040 | |
CPU_SUBTYPE_MC88100 | |
CPU_SUBTYPE_MC88110 | |
CPU_SUBTYPE_MC98601 | |
CPU_SUBTYPE_MC68030_ONLY | |
CPU_SUBTYPE_MC680X0_ALL | |
CPU_SUBTYPE_MC88000_ALL | |
CPU_SUBTYPE_MC98000_ALL | |
CPU_SUBTYPE_MIPS_ALL | |
CPU_SUBTYPE_MIPS_R2000 | |
CPU_SUBTYPE_MIPS_R2300 | |
CPU_SUBTYPE_MIPS_R2600 | |
CPU_SUBTYPE_MIPS_R2800 | |
CPU_SUBTYPE_MIPS_R3000 | |
CPU_SUBTYPE_MIPS_R2000A | |
CPU_SUBTYPE_MIPS_R3000A | |
CPU_SUBTYPE_MULTIPLE | |
CPU_SUBTYPE_PENT | |
CPU_SUBTYPE_PENTII_M3 | |
CPU_SUBTYPE_PENTII_M5 | |
CPU_SUBTYPE_PENTIUM_3 | |
CPU_SUBTYPE_PENTIUM_4 | |
CPU_SUBTYPE_PENTIUM_3_M | |
CPU_SUBTYPE_PENTIUM_3_XEON | |
CPU_SUBTYPE_PENTIUM_4_M | |
CPU_SUBTYPE_PENTIUM_M | |
CPU_SUBTYPE_PENTPRO | |
CPU_SUBTYPE_POWERPC_601 | |
CPU_SUBTYPE_POWERPC_602 | |
CPU_SUBTYPE_POWERPC_603 | |
CPU_SUBTYPE_POWERPC_604 | |
CPU_SUBTYPE_POWERPC_620 | |
CPU_SUBTYPE_POWERPC_750 | |
CPU_SUBTYPE_POWERPC_970 | |
CPU_SUBTYPE_POWERPC_7400 | |
CPU_SUBTYPE_POWERPC_7450 | |
CPU_SUBTYPE_POWERPC_603E | |
CPU_SUBTYPE_POWERPC_603EV | |
CPU_SUBTYPE_POWERPC_604E | |
CPU_SUBTYPE_POWERPC_ALL | |
CPU_SUBTYPE_SPARC_ALL | |
CPU_SUBTYPE_UVAXI | |
CPU_SUBTYPE_UVAXII | |
CPU_SUBTYPE_UVAXIII | |
CPU_SUBTYPE_VAX730 | |
CPU_SUBTYPE_VAX750 | |
CPU_SUBTYPE_VAX780 | |
CPU_SUBTYPE_VAX785 | |
CPU_SUBTYPE_VAX8200 | |
CPU_SUBTYPE_VAX8500 | |
CPU_SUBTYPE_VAX8600 | |
CPU_SUBTYPE_VAX8650 | |
CPU_SUBTYPE_VAX8800 | |
CPU_SUBTYPE_VAX_ALL | |
CPU_SUBTYPE_X86_64_ALL | |
CPU_SUBTYPE_X86_64_H | |
CPU_SUBTYPE_X86_ALL | |
CPU_SUBTYPE_X86_ARCH1 | |
CPU_SUBTYPE_XEON | |
CPU_SUBTYPE_XEON_MP | |
CPU_TYPE_ALPHA | |
CPU_TYPE_ANY | |
CPU_TYPE_ARM | |
CPU_TYPE_ARM64 | |
CPU_TYPE_HPPA | |
CPU_TYPE_I386 | |
CPU_TYPE_I860 | |
CPU_TYPE_MC88000 | |
CPU_TYPE_MC98000 | |
CPU_TYPE_MC680X0 | |
CPU_TYPE_MIPS | |
CPU_TYPE_NS32032 | |
CPU_TYPE_NS32332 | |
CPU_TYPE_NS32532 | |
CPU_TYPE_POWERPC | |
CPU_TYPE_POWERPC64 | |
CPU_TYPE_ROMP | |
CPU_TYPE_RS6000 | |
CPU_TYPE_SPARC | |
CPU_TYPE_VAX | |
CPU_TYPE_X86 | |
CPU_TYPE_X86_64 | |
DICE_KIND_ABS_JUMP_TABLE32 | |
DICE_KIND_DATA | |
DICE_KIND_JUMP_TABLE8 | |
DICE_KIND_JUMP_TABLE16 | |
DICE_KIND_JUMP_TABLE32 | |
DYNAMIC_LOOKUP_ORDINAL | |
EXECUTABLE_ORDINAL | |
EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE | |
EXPORT_SYMBOL_FLAGS_KIND_MASK | |
EXPORT_SYMBOL_FLAGS_KIND_REGULAR | |
EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL | |
FAT_CIGAM | |
FAT_MAGIC | |
INDIRECT_SYMBOL_ABS | |
INDIRECT_SYMBOL_LOCAL | |
LC_CODE_SIGNATURE |
local of code signature |
LC_DATA_IN_CODE |
table of non-instructions in __text |
LC_DYLD_ENVIRONMENT |
string for dyld to treat like environment variable |
LC_DYLD_INFO |
compressed dyld information |
LC_DYLD_INFO_ONLY |
compressed dyld information only |
LC_DYLIB_CODE_SIGN_DRS |
Code signing DRs copied from linked dylibs |
LC_DYSYMTAB |
dynamic link-edit symbol table info |
LC_ENCRYPTION_INFO |
encrypted segment information |
LC_ENCRYPTION_INFO_64 |
64-bit encrypted segment information |
LC_FUNCTION_STARTS |
compressed table of function start addresses |
LC_FVMFILE |
fixed VM file inclusion (internal use) |
LC_IDENT |
object identification info (obsolete) |
LC_IDFVMLIB |
fixed VM shared library identification |
LC_ID_DYLIB |
dynamically linked shared lib ident |
LC_ID_DYLINKER |
dynamic linker identification |
LC_LAZY_LOAD_DYLIB |
delay load of dylib until first use |
LC_LINKER_OPTIMIZATION_HINT |
optimization hints in |
LC_LINKER_OPTION |
linker options in |
LC_LOADFVMLIB |
load a specified fixed VM shared library |
LC_LOAD_DYLIB |
load a dynamically linked shared library |
LC_LOAD_DYLINKER |
load a dynamic linker |
LC_LOAD_UPWARD_DYLIB |
load upward dylib |
LC_LOAD_WEAK_DYLIB | |
LC_MAIN |
replacement for |
LC_PREBIND_CKSUM |
prebind checksum |
LC_PREBOUND_DYLIB |
modules prebound for a dynamically |
LC_PREPAGE |
prepage command (internal use) |
LC_REEXPORT_DYLIB |
load and re-export dylib |
LC_REQ_DYLD | |
LC_ROUTINES | |
LC_ROUTINES_64 |
64-bit image routines |
LC_RPATH |
runpath additions |
LC_SEGMENT | |
LC_SEGMENT_64 |
64-bit segment of this file to be mapped |
LC_SEGMENT_SPLIT_INFO |
local of info to split segments |
LC_SOURCE_VERSION |
source version used to build binary |
LC_SUB_CLIENT |
sub client |
LC_SUB_FRAMEWORK |
sub framework |
LC_SUB_LIBRARY |
sub library |
LC_SUB_UMBRELLA |
sub umbrella |
LC_SYMSEG |
link-edit gdb symbol table info (obsolete) |
LC_SYMTAB |
link-edit stab symbol table info |
LC_THREAD |
thread |
LC_TWOLEVEL_HINTS |
two-level namespace lookup hints |
LC_UNIXTHREAD |
unix thread (includes a stack) |
LC_UUID |
the uuid |
LC_VERSION_MIN_IPHONEOS |
build for |
LC_VERSION_MIN_MACOSX |
build for |
LC_VERSION_MIN_TVOS |
build for |
LC_VERSION_MIN_WATCHOS |
build for Watch min OS version |
MAX_LIBRARY_ORDINAL | |
MH_ALLMODSBOUND |
indicates that this binary binds to all two-level namespace modules of its dependent libraries.
only used when |
MH_ALLOW_STACK_EXECUTION |
When this bit is set, all stacks in the task will be given stack execution privilege.
Only used in |
MH_APP_EXTENSION_SAFE |
The code was linked for use in an application extension. |
MH_BINDATLOAD | |
MH_BINDS_TO_WEAK |
the final linked image uses weak symbols |
MH_BUNDLE |
dynamically bound bundle file |
MH_CANONICAL |
the binary has been canonicalized via the unprebind operation |
MH_CIGAM |
|
MH_CIGAM_64 |
|
MH_CORE |
core file |
MH_DEAD_STRIPPABLE_DYLIB |
Only for use on dylibs. When linking against a dylib that has this bit set,
the static linker will automatically not create a |
MH_DSYM |
companion file with only debug sections |
MH_DYLDLINK | |
MH_DYLIB |
dynamically bound shared library |
MH_DYLIB_STUB |
shared library stub for static linking only, no section contents |
MH_DYLINKER |
dynamic link editor |
MH_EXECUTE |
demand paged executable file |
MH_FORCE_FLAT |
the executable is forcing all images to use flat name space bindings |
MH_FVMLIB |
fixed VM shared library file |
MH_HAS_TLV_DESCRIPTORS |
Contains a section of type |
MH_INCRLINK |
the object file is the output of an incremental link against a base file and can't be link edited again |
MH_KEXT_BUNDLE |
|
MH_LAZY_INIT |
the shared library init routine is to be run lazily via catching memory faults to its writeable segments (obsolete) |
MH_MAGIC |
the mach magic number |
MH_MAGIC_64 |
the 64-bit mach magic number |
MH_NOFIXPREBINDING |
do not have dyld notify the prebinding agent about this executable |
MH_NOMULTIDEFS |
this umbrella guarantees no multiple defintions of symbols in its sub-images so the two-level namespace hints can always be used. |
MH_NOUNDEFS |
the object file has no undefined references |
MH_NO_HEAP_EXECUTION |
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_NO_REEXPORTED_DYLIBS |
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 |
MH_OBJECT |
relocatable object file |
MH_PIE |
When this bit is set, the OS will load the main executable at a random address.
Only used in |
MH_PREBINDABLE |
the binary is not prebound but can have its prebinding redone.
only used when |
MH_PREBOUND |
the file has its dynamic undefined references prebound. |
MH_PRELOAD |
preloaded executable file |
MH_ROOT_SAFE |
When this bit is set, the binary declares it is safe for use in processes with uid zero |
MH_SETUID_SAFE |
When this bit is set, the binary declares it is safe for use in processes when issetugid() is true |
MH_SPLIT_SEGS |
the file has its read-only and read-write segments split |
MH_SUBSECTIONS_VIA_SYMBOLS |
safe to divide up the sections into sub-sections via symbols for dead code stripping |
MH_TWOLEVEL |
the image is using two-level name space bindings |
MH_WEAK_DEFINES |
the final linked image contains external weak symbols |
N_ALT_ENTRY |
The |
N_ARM_THUMB_DEF |
The |
N_AST |
AST file path: |
N_BCOMM |
begin common: |
N_BINCL |
include file beginning: |
N_BNSYM |
begin nsect sym: |
N_DESC_DISCARDED |
The |
N_ECOML |
end common (local name): |
N_ECOMM |
end common: |
N_EINCL |
include file end: |
N_ENSYM |
end nsect |
N_ENTRY |
alternate entry: |
N_EXCL |
deleted include file: |
N_FNAME |
procedure name (f77 kludge): |
N_FUN |
procedure: |
N_GSYM |
global symbol: |
N_LBRAC |
left bracket: |
N_LCSYM |
.lcomm symbol: |
N_LENG |
second stab entry with length information |
N_LSYM |
local sym: |
N_NO_DEAD_STRIP |
The |
N_OLEVEL |
compiler -O level: |
N_OPT |
emitted with gcc2 compiled and in gcc source |
N_OSO |
object file name: |
N_PARAMS |
compiler parameters: |
N_PC |
global pascal symbol: |
N_PSYM |
parameter: |
N_RBRAC |
right bracket: |
N_REF_TO_WEAK |
The |
N_RSYM |
register sym: |
N_SLINE |
src line: |
N_SO |
source file name: |
N_SOL |
#included file name: |
N_SSYM |
structure elt: |
N_STSYM |
static symbol: |
N_SYMBOL_RESOLVER |
The |
N_VERSION |
compiler version: |
N_WEAK_DEF |
The |
N_WEAK_REF |
The |
REBASE_IMMEDIATE_MASK | |
REBASE_OPCODE_ADD_ADDR_IMM_SCALED | |
REBASE_OPCODE_ADD_ADDR_ULEB | |
REBASE_OPCODE_DONE | |
REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB | |
REBASE_OPCODE_DO_REBASE_IMM_TIMES | |
REBASE_OPCODE_DO_REBASE_ULEB_TIMES | |
REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB | |
REBASE_OPCODE_MASK | |
REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
REBASE_OPCODE_SET_TYPE_IMM | |
REBASE_TYPE_POINTER | |
REBASE_TYPE_TEXT_ABSOLUTE32 | |
REBASE_TYPE_TEXT_PCREL32 | |
REFERENCED_DYNAMICALLY |
To simplify stripping of objects that use are used with the dynamic link editor, the static link editor marks the symbols defined an object that are referenced by a dynamicly bound object (dynamic shared libraries, bundles). With this marking strip knows not to strip these symbols. |
REFERENCE_FLAG_DEFINED | |
REFERENCE_FLAG_PRIVATE_DEFINED | |
REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY | |
REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY | |
REFERENCE_FLAG_UNDEFINED_LAZY | |
REFERENCE_FLAG_UNDEFINED_NON_LAZY | |
REFERENCE_TYPE |
To support the lazy binding of undefined symbols in the dynamic link-editor, the undefined symbols in the symbol table (the nlist structures) are marked with the indication if the undefined reference is a lazy reference or non-lazy reference. If both a non-lazy reference and a lazy reference is made to the same symbol the non-lazy reference takes precedence. A reference is lazy only when all references to that symbol are made through a symbol pointer in a lazy symbol pointer section. |
SECTION_ATTRIBUTES | |
SECTION_TYPE | |
SELF_LIBRARY_ORDINAL | |
SYMDEF | |
SYMDEF_SORTED | |
S_16BYTE_LITERALS |
section with only 16 byte literals |
S_4BYTE_LITERALS |
section with only 4 byte literals |
S_8BYTE_LITERALS |
section with only 8 byte literals |
S_COALESCED |
section contains symbols that are to be coalesced |
S_CSTRING_LITERALS |
section with only literal C strings |
S_DTRACE_DOF |
section contains |
S_GB_ZEROFILL |
zero fill on demand section that can be larger than 4 gigabytes) |
S_INTERPOSING |
section with only pairs of function pointers for interposing |
S_LAZY_DYLIB_SYMBOL_POINTERS |
section with only lazy symbol pointers to lazy loaded dylibs |
S_LAZY_SYMBOL_POINTERS |
section with only lazy symbol pointers |
S_LITERAL_POINTERS |
section with only pointers to literals |
S_MOD_INIT_FUNC_POINTERS |
section with only function pointers for initialization |
S_MOD_TERM_FUNC_POINTERS |
section with only function pointers for termination |
S_NON_LAZY_SYMBOL_POINTERS |
section with only non-lazy symbol pointers |
S_REGULAR |
regular section |
S_SYMBOL_STUBS |
section with only symbol stubs, byte size of stub in the reserved2 field |
S_THREAD_LOCAL_INIT_FUNCTION_POINTERS |
functions to call to initialize TLV values |
S_THREAD_LOCAL_REGULAR |
template of initial values for TLVs |
S_THREAD_LOCAL_VARIABLES |
TLV descriptors |
S_THREAD_LOCAL_VARIABLE_POINTERS |
pointers to TLV descriptors |
S_THREAD_LOCAL_ZEROFILL |
template of initial values for TLVs |
S_ZEROFILL |
zero fill on demand section |
Statics
SECT_BSS |
the real uninitialized data section no padding |
SECT_COMMON |
the section common symbols are allocated in by the link editor |
SECT_DATA |
the real initialized data section no padding, no bss overlap |
SECT_FVMLIB_INIT0 |
the fvmlib initialization section |
SECT_FVMLIB_INIT1 |
the section following the fvmlib initialization section |
SECT_ICON_HEADER |
the icon headers |
SECT_ICON_TIFF |
the icons in tiff format |
SECT_OBJC_MODULES |
module information |
SECT_OBJC_REFS |
string table |
SECT_OBJC_STRINGS |
string table |
SECT_OBJC_SYMBOLS |
symbol table |
SECT_TEXT |
the real text part of the text |
SEG_DATA |
the tradition UNIX data segment |
SEG_ICON |
the icon segment |
SEG_IMPORT |
the segment for the self (dyld) modifing code stubs that has read, write and execute permissions |
SEG_LINKEDIT |
the segment containing all structs created and maintained by the link editor.
Created with -seglinkedit option to ld(1) for |
SEG_OBJC |
objective-C runtime segment |
SEG_PAGEZERO |
the pagezero segment which has no protections and catches NULL references for |
SEG_TEXT |
the tradition UNIX text segment |
SEG_UNIXSTACK |
the unix stack segment |
Traits
CheckedSlice | |
CursorExt | |
ReadStringExt |
Read a fixed size string |
SymbolReader |
Read symbols from a Mach-O file |
SymbolReference |
Reference type and flags of symbol |
Functions
get_arch_from_flag | |
get_arch_name_from_types | |
get_cpu_subtype_feature | |
get_cpu_subtype_type |
Type Definitions
cpu_subtype_t | |
cpu_type_t | |
off_t | |
vm_prot_t |