1pub mod codec;
2mod ext;
3mod packets;
4
5use anyhow::anyhow;
6
7pub type Result<T> = std::result::Result<T, anyhow::Error>;
8
9pub use self::codec::ReceivedPacket;
10pub use self::packets::*;
11
12#[repr(u16)]
13#[derive(Copy, Clone, Debug, PartialEq, Eq)]
14pub enum NTVersion {
15 V2 = 0x0200,
16 V3 = 0x0300,
17}
18
19impl NTVersion {
20 pub fn from_u16(v: u16) -> Result<NTVersion> {
21 match v {
22 0x0200 => Ok(NTVersion::V2),
23 0x0300 => Ok(NTVersion::V3),
24 _ => Err(anyhow!("Invalid version passed in packet. {:#x}", v)),
25 }
26 }
27}