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