pub trait InternetProtocolHostAddress: Sized + Debug + Display + PartialOrd + Ord + PartialEq + Eq + Hash + Serialize + Clone
{
type BigEndianValue: Debug;
type RustAddress: Debug;
type LibCAddress;
type MaskBits: InternetProtocolMaskBits;
type Octets: Sized;
const Size: usize;
const SizeU8: u8;
#[inline(always)]
fn from_network_endian(big_endian_value: Self::BigEndianValue) -> Self;
#[inline(always)]
fn from_octets(octets: Self::Octets) -> Self;
#[inline(always)]
fn from_rust_address_to_libc_address(rust_address: &Self::RustAddress) -> Self::LibCAddress;
#[inline(always)]
fn from_rust_address(rust_address: &Self::RustAddress) -> Self;
#[inline(always)]
fn to_rust_address(&self) -> Self::RustAddress;
#[inline(always)]
fn to_libc_address(self) -> Self::LibCAddress;
#[inline(always)]
fn as_native_endian(&self) -> Self::BigEndianValue;
#[inline(always)]
fn as_network_endian(&self) -> Self::BigEndianValue;
#[inline(always)]
fn to_media_access_control_address(&self) -> Result<MediaAccessControlAddress, ()>;
}