Crate ffi_utils

Source
Expand description

FFI utilities.

Re-exports§

pub use self::result::FfiResult;
pub use self::result::NativeResult;
pub use self::result::FFI_RESULT_OK;
pub use self::string::StringError;

Modules§

bindgen_utils
Utilities for binding generators.
callback
Helpers to work with extern “C” callbacks.
result
Utilities for handling results and errors across the FFI boundary.
string
Utilities for passing strings across FFI boundaries.
test_utils
Test utilities.

Macros§

call_result_cb
Convert a result into an FfiResult and call a callback.
ffi_error
Convert an error into a pair of (error_code: i32, description: String) to be used in NativeResult.
ffi_error_code
Convert an error into an i32 error code.
ffi_result
Convert a result into a pair of (error_code: i32, description: String) to be used in NativeResult.
ffi_result_code
Convert a result into an i32 error code.
try_cb
Given a result, calls the callback if it is an error, otherwise produces the wrapped value. Should be called within catch_unwind, so returns None on error.

Structs§

OpaqueCtx
Type that holds opaque user data handed into FFI functions.

Traits§

ErrorCode
Trait for types that can be converted to integer error code.
ReprC
Trait to convert between FFI and Rust representations of types.
SafePtr
Provides FFI-safe pointers, as opposed to raw as_ptr() in Vec and String which can return values such as 0x01 that can cause segmentation faults with the automatic pointer dereferencing on the front-end side (e.g. in Node.js).

Functions§

base64_decode
Decode base64 encoded data.
base64_encode
Encode the data using base64 encoding.
catch_unwind_cb
Catch panics. On error call the callback.
catch_unwind_result
Catches panics and returns the result.
vec_clone_from_raw_parts
Converts a pointer and length to Vec by cloning the contents. Note: This does NOT free the memory pointed to by ptr.
vec_from_raw_parts
Retakes ownership of a Vec that was transferred to C via vec_into_raw_parts.
vec_into_raw_parts
Consumes a Vec and transfers ownership of the data to a C caller, returning (pointer, size).