7 releases
0.1.7 | Sep 15, 2021 |
---|---|
0.1.6 | May 4, 2021 |
0.1.5 | Apr 28, 2021 |
0.1.3 | Dec 7, 2020 |
0.0.0 |
|
#117 in FFI
82 downloads per month
Used in 4 crates
(2 directly)
39KB
860 lines
cffi
Use the #[cffi::marshal(...)]
proc macro to make unsafe C functions into much safer functions,
both for exporting interfaces and consuming functions from C libraries.
Usage
See the documentation for the various marshallers available.
Where is this used?
- pahkat - a multi-platform package management framework
- divvunspell - a multi-platform highly efficient memory-mapping spell checking library
Background and philosophy
We enforce the usage of stdint.h
types on the C side to simplify the implementation on the Rust side.
Interesting reads:
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~5–13MB
~155K SLoC