2 unstable releases

new 0.2.0 Mar 6, 2025
0.1.0 Aug 29, 2024

#1409 in Embedded development

Download history 1/week @ 2024-11-16 15/week @ 2024-11-30 44/week @ 2024-12-07 17/week @ 2024-12-14 4/week @ 2024-12-21 6/week @ 2024-12-28 11/week @ 2025-01-04 9/week @ 2025-01-11 7/week @ 2025-02-01 12/week @ 2025-02-08 5/week @ 2025-02-15 106/week @ 2025-03-01

125 downloads per month
Used in embedded-mbedtls

OLFL-1.3

10MB
201K SLoC

C 135K SLoC // 0.1% comments Shell 38K SLoC // 0.1% comments Python 12K SLoC // 0.3% comments Visual Studio Project 11K SLoC Jinja2 3K SLoC // 0.0% comments Perl 1K SLoC // 0.1% comments Visual Studio Solution 812 SLoC Rust 178 SLoC // 0.3% comments Batch 31 SLoC GDB Script 22 SLoC // 0.6% comments Bitbake 12 SLoC TCL 4 SLoC

embedded-mbedtls-sys

This crate builds the Mbed TLS C library and generates low-level Rust bindings using bindgen for the embedded-mbedtls library/project. Probably, you will want to use it through the high-level Rust wrapper embedded-mbedtls instead of using this crate directly.

For general project goals, see the README.md in the project repository.

Configuration

Mbed TLS can be configured through crate features, which correspond to the C defines. Currently only the following features are available, but the goal is to expand this in the future.

  • MBEDTLS_SSL_CLI_C
  • MBEDTLS_SSL_SRV_C

The documentation on docs.rs is build with all features enabled.

For further information how Mbed TLS is configured, see the the build.rs for this crate (especially the write_config_h function) which generates the config.h.

Please note that not all generated Rust bindings which end up in the Rustdoc are meaningful. They are generated by running bindgen on mbedtls/ssl.h and a few other headers (see build.rs) but apparently, mbedtls/ssl.h already includes many other headers and their definitions, even though these are not configured to be used. Trying to use these will most probably result in some kind of error, e.g. linkage errors.

License

Open Logistics License
Version 1.3, January 2023

See the LICENSE file in the top-level directory.

Contact

Fraunhofer IML Embedded Rust Group - embedded-rust@iml.fraunhofer.de

No runtime deps