pub trait ContextEngine {
    // Required methods
    fn load_segments(
        &mut self,
        src: &Backing,
        ld: &[LoadDirective]
    ) -> Result<Vec<Backing>, DynlinkError>;
    fn load_object(
        &mut self,
        unlib: &UnloadedLibrary
    ) -> Result<Backing, DynlinkError>;
    fn select_compartment(
        &mut self,
        unlib: &UnloadedLibrary
    ) -> Option<CompartmentId>;
}
Expand description

System-specific implementation functions for the dynamic linker, mostly involving loading objects.

Required Methods§

source

fn load_segments( &mut self, src: &Backing, ld: &[LoadDirective] ) -> Result<Vec<Backing>, DynlinkError>

Load a given source backing into new backings, according to the given load directives.

source

fn load_object( &mut self, unlib: &UnloadedLibrary ) -> Result<Backing, DynlinkError>

Load a single object, based on the given unloaded library.

source

fn select_compartment( &mut self, unlib: &UnloadedLibrary ) -> Option<CompartmentId>

Select which compartment a library should go in.

Implementors§