A Rust crate for parsing utmp files like /var/run/utmp and /var/log/wtmp.
Simplest way is to use parse_from_* functions,
which returns a Vec<UtmpEntry> on success:
let entries = utmp_rs::parse_from_path("/var/run/utmp")?;
// ...If you don't need to collect them all,
UtmpParser can be used as an iterator:
use utmp_rs::UtmpParser;
for entry in UtmpParser::from_path("/var/run/utmp")? {
let entry = entry?;
// ...
}All the parse_from_* functions as well as UtmpParser parse utmp file
based on the native format for the target platform.
If cross-platform parsing is needed,
Utmp32Parser or Utmp64Parser can be used instead of UtmpParser.