8 releases
0.3.2 | Aug 23, 2023 |
---|---|
0.3.0 | Jan 6, 2020 |
0.2.3 | Sep 5, 2019 |
0.2.2 | Jun 1, 2019 |
0.1.1 | May 23, 2019 |
#1499 in Parser implementations
5,975 downloads per month
Used in 13 crates
(6 directly)
37KB
866 lines
winstructs
This crate contains definitions and some parsing logic for structures that are common across windows formats.
Consult the Documentation for supported structs and usage instructions.
Example
Here is an example for parsing a GUID.
use winstructs::guid::Guid;
fn main() {
let raw_guid: &[u8] = &[0x25, 0x96, 0x84, 0x54, 0x78, 0x54, 0x94, 0x49,
0xa5, 0xba, 0x3e, 0x3b, 0x3, 0x28, 0xc3, 0xd];
let guid = Guid::from_buffer(raw_guid).unwrap();
assert_eq!(format!("{}", guid), "54849625-5478-4994-A5BA-3E3B0328C30D");
}
lib.rs
:
This crate contains definitions and some parsing logic for structures that are common across windows formats.
API
Generally, structs in this crate will have either from_reader
, if they can be read from a
Read
instance, or from_stream
, if reading them requires Read + Seek
.
from_buffer
is also provided as convenience, but it generally just builds a cursor and uses
either from_reader
or from_stream
internally.
Dependencies
~2.4–3.5MB
~69K SLoC