[][src]Crate wrapgen

wrapgen is a tool to automatically generate Rust wrappers around C functions called via FFI. It will wrap pointer returns in an Option and int returns in a Result. As of now, wrapgen only works if your functions adhere to the C convention of returning 0 on a successful run and another value otherwise.

How to use wrapgen

You can use wrapgen as a standalone binary:

wrapgen input.rs output.rs

where input.rs contains one function declaration per line

or include it in your build.rs file:

fn main() {
       .function("fn my_test_fn(arg1: cty::c_int) -> cty::c_int")



The builder struct to create wrappers. Create an instance, add the files, types and functions you want to wrap and finally call generate() to create the wrappers.


The representation of a pointer type to wrap. If you wrap a pointer type *mut T, it will be represtented as Wrapper<T> where Wrapper is defined as the following zero-cost abstraction: