c-ward is an implementation of the libc ABI written in Rust.
It consists of three crates:
- c-scape, which is
no_std, and - c-gull, which pulls in c-scape and additionally provides features
using
std. - eyra, which provides a friendly wrapper to make it easy to build Rust programs entirely in Rust.
It is a goal of c-ward to be a C ABI layer on top of Rust-idomatic libraries, rather than to have significant implementation code of its own.
In theory c-ward could be extended to be ABI-compatible with different platforms, however currently it is only known to be ABI-compatible with -unknown-linux-gnu platforms.
Another libc implementation is relibc.