Enum goblin::mach::exports::ExportInfo[][src]

pub enum ExportInfo<'a> {
    Regular {
        address: u64,
        flags: u64,
    },
    Reexport {
        lib: &'a str,
        lib_symbol_name: Option<&'a str>,
        flags: u64,
    },
    Stub {
        stub_offset: Uleb128,
        resolver_offset: Uleb128,
        flags: u64,
    },
}
Expand description

An export can be a regular export, a re-export, or a stub

Variants

Regular

A regular exported symbol, which is an address where it is found, and the flags associated with it

Show fields

Fields of Regular

address: u64flags: u64
Reexport

if lib_symbol_name None then same symbol name, otherwise reexport of lib_symbol_name with name in the trie “If the string is zero length, then the symbol is re-export from the specified dylib with the same name”

Show fields

Fields of Reexport

lib: &'a strlib_symbol_name: Option<&'a str>flags: u64
Stub

If the flags is EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER, then following the flags are two Uleb128s: the stub offset and the resolver offset. The stub is used by non-lazy pointers. The resolver is used by lazy pointers and must be called to get the actual address to use

Show fields

Fields of Stub

stub_offset: Uleb128resolver_offset: Uleb128flags: u64

Implementations

Parse out the export info from bytes, at offset

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.