Rust bindings for libpcuid CPU detection and feature extraction library.
Rust
Permalink
Failed to load latest commit information.
src Implicit return in has_feature. Oct 25, 2015
.gitignore Added gitignore. Sep 17, 2014
.travis.yml Remember about runtime path. Apr 30, 2016
Cargo.toml Release 0.1.1 Nov 10, 2015
LICENSE Update year in license file. Apr 9, 2016
README.md Added coverage badge. May 3, 2015

README.md

rust-cpuid

crates.io Build Status Coverage Status

Rust bindings for libpcuid CPU detection and feature extraction library.

Usage

First - download, and build libcpuid as described in the readme. Install it by running make install (you may want to run ldconfig afterwards).

Add to your Cargo.toml:

[dependencies]
cpuid = "*"

Add extern crate cpuid to your crate root and you're good to go! For example:

extern crate cpuid;

fn main () {
    match cpuid::identify() {
        Ok(info) => {
            println!("Found: {} CPU, model: {}", info.vendor, info.codename);
            println!("The full brand string is: {}", info.brand);
            println!("Hardware AES support: {}", if info.has_feature(cpuid::CpuFeature::AES) { "yes" } else { "no" });
        },
        Err(err) => println!("cpuid error: {}", err),
    };
    match cpuid::clock_frequency() {
        Some(frequency) => println!("CPU speed: {} MHz", frequency),
        None => println!("Couldn't get CPU speed."),
    };
}

Resources

Author

  • Zbigniew Siciarz (zbigniew at siciarz dot net)

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.