13个版本 (4个重大更新)
0.5.5 | 2020年10月3日 |
---|---|
0.5.4 | 2020年10月3日 |
0.4.4 | 2020年10月2日 |
0.4.3 | 2020年9月30日 |
0.1.0 | 2020年8月31日 |
#532 在 操作系统 中
每月下载量 21次
97KB
2K SLoC
rsys
通用的API通过Rsys结构体提供,该结构体根据需要的方法条件编译。错误和结果类型可在本Crate的根目录找到,方便使用,同时Rsys结构体暴露的所有方法也都在每个操作系统模块中可用。
主要目标是具有清晰简单的API,尽可能多的API是操作系统无关的。
示例用法
Cargo.toml
[dependencies]
rsys = "0.5"
main.rs
use rsys::{Rsys, Result};
fn main() -> Result<()> {
// You can either use api through Rsys object
// for os-agnostic experience
let rsys = Rsys::new();
println!("HOSTNAME - {}", rsys.hostname()?);
let iface = rsys.default_iface()?;
println!("CPU - {}", rsys.cpu()?);
println!("ARCH - {}", rsys.arch()?);
println!("MEMORY TOTAL - {}b", rsys.memory_total()?);
println!("UPTIME - {}s", rsys.uptime()?);
println!("SWAP TOTAL - {}b", rsys.swap_total()?);
println!("CPU CORES - {}", rsys.cpu_cores()?);
println!("CPU CLOCK - {}MHz", rsys.cpu_clock()?);
println!("IPv4 - {}", rsys.ipv4(&iface)?);
println!("MAC - {}", rsys.mac(&iface)?);
println!("INTERFACES - {:#?}", rsys.interfaces()?);
// Or use functions in each module
if cfg!(target_os = "linux") {
println!("KERNEL VERSION - {}", rsys::linux::kernel_version()?);
println!("HOSTNAME - {}", rsys::linux::hostname()?);
// Os-specific functions are also available as methods
println!("MEMORY - {:#?}", rsys.memory()?);
println!("KERNEL_VERSION - {:#?}", rsys.kernel_version()?);
}
Ok(())
}
待办事项
- 完成macos通用API
- 完成windows通用API
- 添加异步功能以支持异步文件读取和命令等...
许可证
依赖项
~0.3–1MB
~21K SLoC