#parser-serializer #uci #interface #serialization #unified #configuration #openwrt

uci_rs

OpenWrt的UCI(统一配置接口)解析器和序列化器

3个版本

0.1.2 2023年4月18日
0.1.1 2023年4月17日
0.1.0 2023年4月15日

562配置

MIT许可证

125KB
3.5K SLoC

uci_rs

Test Status Crate Documents

OpenWrt的UCI(统一配置接口)解析器和序列化器。

用法

将其添加到您的Cargo.toml

[dependencies]
uci_rs = "0.1.0"

示例

use uci_rs::{load_config, Uci, UciCommand};

/// file_path: /etc/config/network
///
/// config interface 'lan'
///         option type 'bridge'
///         option ifname 'eth0.1'
///         option proto 'static'
///         option netmask '255.255.255.0'
///         option ip6assign '60'
///         option ipaddr '192.168.1.1'
///
/// config interface 'wan'
///         option ifname 'eth0.2'
///         option proto 'dhcp'  

fn main(){
  let uci_network = load_config("network", "/etc/config")?;
  assert_eq!(uci.get_package(), "network");
  assert_eq!(uci.get_section("wan"), Ok(("interface", "wan" )));
  assert_eq!(uci.get_option("wan", "ifname"), Ok(("ifname", ["eth0.2"])));
  assert_eq!(uci.get_option("lan", "proto"), Ok(("proto", ["static"])));
}

文档

Docs.rs

许可证

uci_rs采用LICENSE-MIT许可证。

依赖项

~35KB