[][src]Crate rsys

rsys

Crate for aquiring information about host machine and operating system in a os-agnostic fashion.

The common api and error type is available at the root of this crate for convienience while os-specific functions are hidden in submodules corresponding to each os.

Example usage:

use rsys::*;

fn main() -> Result<(), Error> {
    // Common api
    let hostname = rsys::hostname()?;
    let iface = rsys::default_iface()?;
    let ip4 =  rsys::ipv4(&iface)?;
    let mac =  rsys::mac(&iface)?;
    let cpu = rsys::cpu()?;
    let arch = rsys::arch()?;
    let memory = rsys::memory()?;
    let uptime = rsys::uptime()?;
    let ifaces = rsys::interfaces()?;
    let swap = rsys::swap()?;
    let cpu_cores = rsys::cpu_cores()?;
    let cpu_clock = rsys::cpu_clock()?;
     
    // Linux only
    let kernel_version = rsys::linux::kernel_version()?;

    // Mac only
    let model = rsys::macos::model()?;

    Ok(())
}

Re-exports

pub use error::RsysError as Error;

Modules

error
linux
macos

Functions

arch

Returns cpu architecture.

cpu

Returns a cpu model name.

cpu_clock

Returns clock speed of cpu.

cpu_cores

Returns cpu cores.

default_iface

Returns a default internet interface.

domainname

Returns a domain name.

hostname

Returns a hostname.

interfaces

Returns a vector of names of network interfaces that are available.

ipv4

Returns IP address version 4 of interface iface.

ipv6

Returns IP address version 6 of interface iface.

mac

Returns a MAC address of interface iface.

memory

Returns total ram memory.

os

Returns operating system. Reexported env::consts::OS for convenience.

swap

Returns swap size.

uptime

Returns time since boot in seconds.