Skip to main content

Module native_lib

Module native_lib 

Source
Expand description

Implements calling functions from a native library.

Re-exportsยง

use std::cell::Cell; ๐Ÿ”’
use std::marker::PhantomData; ๐Ÿ”’
use std::ops::Deref; ๐Ÿ”’
use std::os::raw::c_void; ๐Ÿ”’
use std::ptr; ๐Ÿ”’
use std::sync::atomic::AtomicBool; ๐Ÿ”’
use libffi::low::CodePtr; ๐Ÿ”’
use libffi::middle::Type as FfiType; ๐Ÿ”’
use rustc_abi::HasDataLayout; ๐Ÿ”’
use rustc_abi::Size; ๐Ÿ”’
use rustc_data_structures::either; ๐Ÿ”’
use rustc_middle::ty::layout::TyAndLayout; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::Ty; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Serialize; ๐Ÿ”’
use serde::Serialize; ๐Ÿ”’
use crate::*; ๐Ÿ”’

Modulesยง

trace

Structsยง

AccessRange
The memory touched by a given access.
LibffiClosureData ๐Ÿ”’
The data passed to the closure shim function used to intercept function pointer calls from native code.
MemEvents
The final results of an FFI trace, containing every relevant event detected by the tracer.
OwnedArg
An argument for an FFI call.

Enumsยง

AccessEvent
A single memory access.

Traitsยง

EvalContextExt
EvalContextExtPriv ๐Ÿ”’

Functionsยง

build_libffi_closure
This function sets up a new libffi closure to intercept calls to rust code via function pointers passed to native code.
libffi_closure_callback ๐Ÿ”’ โš 
A shim function to intercept calls back from native code into the interpreter via function pointers passed to the native code.