Crate ffi_helpers[][src]

Expand description

A crate to help make working with FFI easier.


pub use crate::error_handling::error_message;
pub use crate::error_handling::take_last_error;
pub use crate::error_handling::update_last_error;
pub use crate::panic::catch_panic;
pub use crate::task::Task;


Common error handling routines.

Management of asynchronous tasks in an FFI context.


A convenience macro for running a fallible operation (which may panic) and returning Nullable::NULL if there are any errors.

As a workaround for rust-lang/rfcs#2771, you can use this macro to make sure the symbols for ffi_helpers’s error handling are correctly exported in your cdylib.

Convenience macro to define the FFI bindings for working with a Task.

Check if we’ve been given a null pointer, if so we’ll return early.


A null pointer was encountered where it wasn’t expected.


An object which has an “obviously invalid” value, for use with the null_pointer_check!() macro.

A helper trait used by split_closure() to get a trampoline function which will invoke the closure.


Splits a closure into its data part and its code part, allowing it to be used as a callback by FFI code.