pub use core::net::{Ipv4Addr, SocketAddrV4};
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Hash, Default)]
pub struct Eui48Addr {
pub octets: [u8; 6],
}
impl Eui48Addr {
#[allow(clippy::many_single_char_names)]
pub const fn new(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8) -> Eui48Addr {
Eui48Addr {
octets: [a, b, c, d, e, f],
}
}
pub const UNSPECIFIED: Self = Eui48Addr::new(0, 0, 0, 0, 0, 0);
}
impl ::core::fmt::Display for Eui48Addr {
fn fmt(&self, fmt: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
write!(
fmt,
"{:02X}:{:02X}:{:02X}:{:02X}:{:02X}:{:02X}",
self.octets[0],
self.octets[1],
self.octets[2],
self.octets[3],
self.octets[4],
self.octets[5],
)
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for Eui48Addr {
fn format(&self, fmt: defmt::Formatter) {
defmt::write!(
fmt,
"{:02X}:{:02X}:{:02X}:{:02X}:{:02X}:{:02X}",
self.octets[0],
self.octets[1],
self.octets[2],
self.octets[3],
self.octets[4],
self.octets[5],
)
}
}
impl From<[u8; 6]> for Eui48Addr {
fn from(octets: [u8; 6]) -> Self {
Eui48Addr { octets }
}
}