Crate yang2

source ·
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/holo-routing/yang2-rs/tree/master/examples

Re-exports§

Modules§

Structs§

  • Enum listing possible errors from yang2-rs.