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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
use crate::rr::Class; use crate::DomainName; use std::fmt::{Display, Formatter, Result as FmtResult}; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct EUI48 { pub domain_name: DomainName, pub ttl: u32, pub class: Class, pub eui_48: [u8; 6], } impl Display for EUI48 { fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult { write!( f, "{} {} {} EUI48 {:02x}-{:02x}-{:02x}-{:02x}-{:02x}-{:02x}", self.domain_name, self.ttl, self.class, self.eui_48[0], self.eui_48[1], self.eui_48[2], self.eui_48[3], self.eui_48[4], self.eui_48[5] ) } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct EUI64 { pub domain_name: DomainName, pub ttl: u32, pub class: Class, pub eui_64: [u8; 8], } impl Display for EUI64 { fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult { write!( f, "{} {} {} EUI64 {:02x}-{:02x}-{:02x}-{:02x}-{:02x}-{:02x}-{:02x}-{:02x}", self.domain_name, self.ttl, self.class, self.eui_64[0], self.eui_64[1], self.eui_64[2], self.eui_64[3], self.eui_64[4], self.eui_64[5], self.eui_64[6], self.eui_64[7] ) } }