Expand description
Rust bindings for the libyang2 library.
For raw FFI bindings for libyang2, see libyang2-sys.
Design Goals
- Provide high-level bindings for libyang2 using idiomatic Rust
- Leverage Rust’s ownership system to detect API misuse problems at compile time
- Automatic resource management
- Zero-cost abstractions
Feature flags
By default, yang2-rs uses pre-generated FFI bindings and uses dynamic linking to load libyang2. The following feature flags, however, can be used to change that behavior:
- bundled: instructs cargo to download and build libyang2 from the
sources. The resulting objects are grouped into a static archive linked to
this crate. This feature can be used when having a libyang2 dynamic link
dependency isn’t desirable.
- Additional build requirements: cc 1.0, cmake 0.1, a C compiler and CMake.
- use_bindgen: generate new C FFI bindings dynamically instead of using
the pre-generated ones. Useful when updating this crate to use newer
libyang2 versions.
- Additional build requirements: bindgen 0.55.0
Examples
See https://github.com/rwestphal/yang2-rs/tree/master/examples
Re-exports
pub use libyang2_sys as ffi;
Modules
- YANG context.
- YANG instance data.
- YANG iterators.
- YANG schema data.
Structs
- Enum listing possible errors from yang2-rs.