tree: 88606a995e9980c3c689442b2e0f93aa31da5cf0 [path history] [tgz]
  1. src/
  2. build.rs
  3. Cargo.toml
  4. CMakeLists.txt
  5. README.md
  6. rust_wrapper.c
  7. rust_wrapper.h
  8. wrapper.h
rust/README.md

bssl-sys

A low-level binding crate for Rust that moves in lockstop with BoringSSL. BoringSSL explicitly does not have a stable ABI, bssl-sys is the solution for preventing subtle-memory corruption bugs due to version skew.

How it works

bssl-sys uses bindgen as part of the cmake build process to generate Rust compatibility shims for each supported target platform. It is important to generate it for each platform because bindgen uses LLVM information for alignment which varies depending on architecture. These files are then packaged into a Rust crate.