Struct object::read::macho::MachOFile [−][src]
pub struct MachOFile<'data, Mach, R = &'data [u8]> where
Mach: MachHeader,
R: ReadRef<'data>, { /* fields omitted */ }
Expand description
A partially parsed Mach-O file.
Most of the functionality of this type is provided by the Object
trait implementation.
Implementations
impl<'data, Mach, R> MachOFile<'data, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>,
[src]
impl<'data, Mach, R> MachOFile<'data, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>,
[src]Trait Implementations
impl<'data, Mach: Debug, R: Debug> Debug for MachOFile<'data, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>,
Mach::Endian: Debug,
[src]
impl<'data, Mach: Debug, R: Debug> Debug for MachOFile<'data, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>,
Mach::Endian: Debug,
[src]impl<'data, 'file, Mach, R> Object<'data, 'file> for MachOFile<'data, Mach, R> where
'data: 'file,
Mach: MachHeader,
R: 'file + ReadRef<'data>,
[src]
impl<'data, 'file, Mach, R> Object<'data, 'file> for MachOFile<'data, Mach, R> where
'data: 'file,
Mach: MachHeader,
R: 'file + ReadRef<'data>,
[src]type Segment = MachOSegment<'data, 'file, Mach, R>
type Segment = MachOSegment<'data, 'file, Mach, R>
A segment in the object file.
type SegmentIterator = MachOSegmentIterator<'data, 'file, Mach, R>
type SegmentIterator = MachOSegmentIterator<'data, 'file, Mach, R>
An iterator over the segments in the object file.
type Section = MachOSection<'data, 'file, Mach, R>
type Section = MachOSection<'data, 'file, Mach, R>
A section in the object file.
type SectionIterator = MachOSectionIterator<'data, 'file, Mach, R>
type SectionIterator = MachOSectionIterator<'data, 'file, Mach, R>
An iterator over the sections in the object file.
type Comdat = MachOComdat<'data, 'file, Mach, R>
type Comdat = MachOComdat<'data, 'file, Mach, R>
A COMDAT section group in the object file.
type ComdatIterator = MachOComdatIterator<'data, 'file, Mach, R>
type ComdatIterator = MachOComdatIterator<'data, 'file, Mach, R>
An iterator over the COMDAT section groups in the object file.
type Symbol = MachOSymbol<'data, 'file, Mach, R>
type Symbol = MachOSymbol<'data, 'file, Mach, R>
A symbol in the object file.
type SymbolIterator = MachOSymbolIterator<'data, 'file, Mach, R>
type SymbolIterator = MachOSymbolIterator<'data, 'file, Mach, R>
An iterator over symbols in the object file.
type SymbolTable = MachOSymbolTable<'data, 'file, Mach, R>
type SymbolTable = MachOSymbolTable<'data, 'file, Mach, R>
A symbol table in the object file.
type DynamicRelocationIterator = NoDynamicRelocationIterator
type DynamicRelocationIterator = NoDynamicRelocationIterator
An iterator over dynamic relocations in the file. Read more
fn architecture(&self) -> Architecture
[src]
fn architecture(&self) -> Architecture
[src]Get the architecture type of the file.
fn is_little_endian(&self) -> bool
[src]
fn is_little_endian(&self) -> bool
[src]Return true if the file is little endian, false if it is big endian.
fn segments(&'file self) -> MachOSegmentIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSegmentIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSegmentIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSegment<'data, 'file, Mach, R>;
[src]
fn segments(&'file self) -> MachOSegmentIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSegmentIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSegmentIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSegment<'data, 'file, Mach, R>;
[src]Get an iterator over the segments in the file.
fn section_by_name(
&'file self,
section_name: &str
) -> Option<MachOSection<'data, 'file, Mach, R>>
[src]
fn section_by_name(
&'file self,
section_name: &str
) -> Option<MachOSection<'data, 'file, Mach, R>>
[src]Get the section named section_name
, if such a section exists. Read more
fn section_by_index(
&'file self,
index: SectionIndex
) -> Result<MachOSection<'data, 'file, Mach, R>>
[src]
fn section_by_index(
&'file self,
index: SectionIndex
) -> Result<MachOSection<'data, 'file, Mach, R>>
[src]Get the section at the given index. Read more
fn sections(&'file self) -> MachOSectionIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSectionIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSectionIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSection<'data, 'file, Mach, R>;
[src]
fn sections(&'file self) -> MachOSectionIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSectionIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSectionIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSection<'data, 'file, Mach, R>;
[src]Get an iterator over the sections in the file.
fn comdats(&'file self) -> MachOComdatIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOComdatIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOComdatIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOComdat<'data, 'file, Mach, R>;
[src]
fn comdats(&'file self) -> MachOComdatIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOComdatIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOComdatIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOComdat<'data, 'file, Mach, R>;
[src]Get an iterator over the COMDAT section groups in the file.
fn symbol_by_index(
&'file self,
index: SymbolIndex
) -> Result<MachOSymbol<'data, 'file, Mach, R>>
[src]
fn symbol_by_index(
&'file self,
index: SymbolIndex
) -> Result<MachOSymbol<'data, 'file, Mach, R>>
[src]Get the debugging symbol at the given index. Read more
fn symbols(&'file self) -> MachOSymbolIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSymbolIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSymbolIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSymbol<'data, 'file, Mach, R>;
[src]
fn symbols(&'file self) -> MachOSymbolIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSymbolIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSymbolIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSymbol<'data, 'file, Mach, R>;
[src]Get an iterator over the debugging symbols in the file. Read more
fn symbol_table(&'file self) -> Option<MachOSymbolTable<'data, 'file, Mach, R>>
[src]
fn symbol_table(&'file self) -> Option<MachOSymbolTable<'data, 'file, Mach, R>>
[src]Get the symbol table, if any.
fn dynamic_symbols(&'file self) -> MachOSymbolIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSymbolIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSymbolIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSymbol<'data, 'file, Mach, R>;
[src]
fn dynamic_symbols(&'file self) -> MachOSymbolIterator<'data, 'file, Mach, R>ⓘNotable traits for MachOSymbolIterator<'data, 'file, Mach, R>
impl<'data, 'file, Mach, R> Iterator for MachOSymbolIterator<'data, 'file, Mach, R> where
Mach: MachHeader,
R: ReadRef<'data>, type Item = MachOSymbol<'data, 'file, Mach, R>;
[src]Get an iterator over the dynamic linking symbols in the file. Read more
fn dynamic_symbol_table(
&'file self
) -> Option<MachOSymbolTable<'data, 'file, Mach, R>>
[src]
fn dynamic_symbol_table(
&'file self
) -> Option<MachOSymbolTable<'data, 'file, Mach, R>>
[src]Get the dynamic linking symbol table, if any. Read more
fn object_map(&'file self) -> ObjectMap<'data>
[src]
fn object_map(&'file self) -> ObjectMap<'data>
[src]Construct a map from addresses to symbol names and object file names. Read more
fn dynamic_relocations(&'file self) -> Option<NoDynamicRelocationIterator>
[src]
fn dynamic_relocations(&'file self) -> Option<NoDynamicRelocationIterator>
[src]Get the dynamic relocations for this file. Read more
fn has_debug_symbols(&self) -> bool
[src]
fn has_debug_symbols(&self) -> bool
[src]Return true if the file contains debug information sections, false if not.
fn relative_address_base(&self) -> u64
[src]
fn relative_address_base(&self) -> u64
[src]Get the base address used for relative virtual addresses. Read more
fn endianness(&self) -> Endianness
[src]
fn endianness(&self) -> Endianness
[src]Get the endianness of the file.
fn symbol_map(&'file self) -> SymbolMap<SymbolMapName<'data>>
[src]
fn symbol_map(&'file self) -> SymbolMap<SymbolMapName<'data>>
[src]Construct a map from addresses to symbol names. Read more
fn build_id(&self) -> Result<Option<&'data [u8]>>
[src]
fn build_id(&self) -> Result<Option<&'data [u8]>>
[src]The build ID from an ELF NT_GNU_BUILD_ID
note.
fn gnu_debuglink(&self) -> Result<Option<(&'data [u8], u32)>>
[src]
fn gnu_debuglink(&self) -> Result<Option<(&'data [u8], u32)>>
[src]The filename and CRC from a .gnu_debuglink
section.
Auto Trait Implementations
impl<'data, Mach, R> RefUnwindSafe for MachOFile<'data, Mach, R> where
Mach: RefUnwindSafe,
R: RefUnwindSafe,
<Mach as MachHeader>::Endian: RefUnwindSafe,
<Mach as MachHeader>::Nlist: RefUnwindSafe,
<Mach as MachHeader>::Section: RefUnwindSafe,
Mach: RefUnwindSafe,
R: RefUnwindSafe,
<Mach as MachHeader>::Endian: RefUnwindSafe,
<Mach as MachHeader>::Nlist: RefUnwindSafe,
<Mach as MachHeader>::Section: RefUnwindSafe,
impl<'data, Mach, R> Send for MachOFile<'data, Mach, R> where
Mach: Sync,
R: Send,
<Mach as MachHeader>::Endian: Send,
<Mach as MachHeader>::Nlist: Sync,
<Mach as MachHeader>::Section: Sync,
Mach: Sync,
R: Send,
<Mach as MachHeader>::Endian: Send,
<Mach as MachHeader>::Nlist: Sync,
<Mach as MachHeader>::Section: Sync,
impl<'data, Mach, R> Sync for MachOFile<'data, Mach, R> where
Mach: Sync,
R: Sync,
<Mach as MachHeader>::Endian: Sync,
<Mach as MachHeader>::Nlist: Sync,
<Mach as MachHeader>::Section: Sync,
Mach: Sync,
R: Sync,
<Mach as MachHeader>::Endian: Sync,
<Mach as MachHeader>::Nlist: Sync,
<Mach as MachHeader>::Section: Sync,
impl<'data, Mach, R> Unpin for MachOFile<'data, Mach, R> where
R: Unpin,
<Mach as MachHeader>::Endian: Unpin,
R: Unpin,
<Mach as MachHeader>::Endian: Unpin,
impl<'data, Mach, R> UnwindSafe for MachOFile<'data, Mach, R> where
Mach: RefUnwindSafe,
R: UnwindSafe,
<Mach as MachHeader>::Endian: UnwindSafe,
<Mach as MachHeader>::Nlist: RefUnwindSafe,
<Mach as MachHeader>::Section: RefUnwindSafe,
Mach: RefUnwindSafe,
R: UnwindSafe,
<Mach as MachHeader>::Endian: UnwindSafe,
<Mach as MachHeader>::Nlist: RefUnwindSafe,
<Mach as MachHeader>::Section: RefUnwindSafe,