rust-manuf LICENSE Crates.io Version Document Build Status Codecov

rust-manuf is a Rust library provides the Ethernet vendor codes, and well-known MAC addresses

Usage

To use rust-manuf, add this to your Cargo.toml:

toml [dependencies] manuf = "0.2"

Use vendor function to find name and description base on an ethernet (MAC) address.

rust assert_eq!( manuf::vendor([0x8c, 0x85, 0x90, 0x0b, 0xcb, 0x9e]), Some(("Apple", "Apple, Inc.")) );

Use prefix function to find vendor's prefix and mask for the ethernet (MAC) address.

rust assert!( manuf::prefix("Apple") .any(|prefix| prefix == ([0x8c, 0x85, 0x90, 0x00, 0x00, 0x00], 24)) );

use parse function to extract verdor's ((prefix, prefix_length), (name, description)) from a manuf file.

```rust let f = File::open("manuf").unwrap(); let r = BufReader::new(f);

for ((prefix, prefixlen), (name, desc)) in manuf::parse(r) { println!("{:?}/{}\t{}\t{}", prefix, prefixlen, name, desc) } ```

Note: The manuf file was generated by the Wireshark project.

If you want to use the latest version of manuf file, please add the latest feature.

toml [dependencies] manuf = { version = "0.2", features = ["latest"] }

License

Released under the terms of the MIT license.