7 unstable releases

0.4.0 Sep 27, 2024
0.3.0 Jul 24, 2022
0.2.1 Nov 27, 2021
0.1.2 Nov 21, 2021
0.1.1 Feb 9, 2020

#204 in Unix APIs

Download history 62/week @ 2024-10-28 96/week @ 2024-11-04 133/week @ 2024-11-11 195/week @ 2024-11-18 337/week @ 2024-11-25 385/week @ 2024-12-02 231/week @ 2024-12-09 219/week @ 2024-12-16 134/week @ 2024-12-23 100/week @ 2024-12-30 225/week @ 2025-01-06 139/week @ 2025-01-13 105/week @ 2025-01-20 131/week @ 2025-01-27 205/week @ 2025-02-03 121/week @ 2025-02-10

573 downloads per month
Used in 2 crates

MIT license

25KB
447 lines

utmp-rs

Crates.io Docs

A Rust crate for parsing utmp files like /var/run/utmp and /var/log/wtmp.

Usage

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.


lib.rs:

A Rust crate for parsing utmp files like /var/run/utmp and /var/log/wtmp.

Usage

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.

Dependencies

~1.6–2.3MB
~41K SLoC