dns_message_parser/rr/
rfc_6742.rs

1use 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);