Crates.io | wrapgen |
lib.rs | wrapgen |
version | 0.2.0 |
source | src |
created_at | 2020-07-10 22:02:28.221749 |
updated_at | 2020-10-11 12:56:47.487484 |
description | A tool to automatically generate safe wrappers around FFI functions |
homepage | |
repository | https://github.com/ctiedt/wrapgen |
max_upload_size | |
id | 263855 |
size | 20,352 |
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.
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() {
WrapGen::new("input1.rs")
.add_file("input2.rs")
.function("fn my_test_fn(arg1: cty::c_int) -> cty::c_int")
.prefix("rs_")
.use_core(false)
.generate("output.rs");
}