dns_message_parser/rr/
rfc_6742.rs1use std::fmt::{Display, Formatter, Result as FmtResult};
2
3struct_u16_u64!(NID, preference, node_id);
4
5#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6pub struct L32 {
7 pub domain_name: crate::DomainName,
8 pub ttl: u32,
9 pub class: super::Class,
10 pub preference: u16,
11 pub locator_32: u32,
12}
13
14impl_to_type!(L32);
15
16impl Display for L32 {
17 fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
18 let bytes = self.locator_32.to_be_bytes();
19 write!(
20 f,
21 "{} {} {} L32 {} {}.{}.{}.{}",
22 self.domain_name,
23 self.ttl,
24 self.class,
25 self.preference,
26 bytes[0],
27 bytes[1],
28 bytes[2],
29 bytes[3],
30 )
31 }
32}
33
34struct_u16_u64!(L64, preference, locator_64);
35
36struct_u16_domain_name!(LP, preference, fqdn);