1 stable release

1.0.5 May 22, 2021
1.0.0 Mar 25, 2021

#730 in Configuration


Used in rust-uci

MIT/Apache

365KB
12K SLoC

C 10K SLoC // 0.1% comments Rust 2K SLoC // 0.0% comments Shell 654 SLoC // 0.0% comments Lua 60 SLoC // 0.1% comments

rust-uci

crates.io

OpenWRT libuci bindings for the Rust programming language.

Documentation

License

libuci is licensed under GPLv2.

The files in this repository are licensed under either of

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.


lib.rs:

FFI bindings to OpenWRT UCI

This crate provides an unsafe interface to OpenWRT's Unified Configuration Interface C-Library.

Building

Both UCI libraries and headers are required to build this crate. There are multiple options available to locate UCI.

Inside OpenWRT SDK

If building inside the OpenWRT SDK with OpenWRT's UCI package set the environment variable UCI_DIR=$(STAGING_DIR)/usr using the corresponding Makefile. rust-uci will automatically use the headers and libraries for the target system.

Vendored

If no UCI_DIR variable is set, rust-uci will compile against the distributed libuci source files licensed under GPLv2.

No runtime deps

~0–2MB
~38K SLoC