in src/bsd.rs [202:240]
fn from(ip: IpAddr) -> Self {
match ip {
IpAddr::V4(ip) => SockaddrStorage {
sin: sockaddr_in {
#[cfg(not(target_os = "solaris"))]
#[expect(
clippy::cast_possible_truncation,
reason = "`sockaddr_in` len is <= u8::MAX per `const_assert!` above."
)]
sin_len: size_of::<sockaddr_in>() as u8,
sin_family: AF_INET,
sin_addr: in_addr {
s_addr: u32::from_ne_bytes(ip.octets()),
},
sin_port: 0,
sin_zero: [0; 8],
},
},
IpAddr::V6(ip) => SockaddrStorage {
sin6: sockaddr_in6 {
#[cfg(not(target_os = "solaris"))]
#[expect(
clippy::cast_possible_truncation,
reason = "`sockaddr_in6` len is <= u8::MAX per `const_assert!` above."
)]
sin6_len: size_of::<sockaddr_in6>() as u8,
sin6_family: AF_INET6,
sin6_addr: in6_addr {
s6_addr: ip.octets(),
},
sin6_port: 0,
sin6_flowinfo: 0,
sin6_scope_id: 0,
#[cfg(target_os = "solaris")]
__sin6_src_id: 0,
},
},
}
}