Enum nix::sys::socket::SockAddr [−][src]
pub enum SockAddr {
Inet(InetAddr),
Unix(UnixAddr),
Netlink(NetlinkAddr),
Link(LinkAddr),
}Represents a socket address
Variants
Inet(InetAddr)Unix(UnixAddr)Netlink(NetlinkAddr)Link(LinkAddr)Datalink address (MAC)
Methods
impl SockAddr[src]
impl SockAddrpub fn new_inet(addr: InetAddr) -> SockAddr[src]
pub fn new_inet(addr: InetAddr) -> SockAddrpub fn new_unix<P: ?Sized + NixPath>(path: &P) -> Result<SockAddr>[src]
pub fn new_unix<P: ?Sized + NixPath>(path: &P) -> Result<SockAddr>pub fn new_netlink(pid: u32, groups: u32) -> SockAddr[src]
pub fn new_netlink(pid: u32, groups: u32) -> SockAddrpub fn family(&self) -> AddressFamily[src]
pub fn family(&self) -> AddressFamilypub fn to_str(&self) -> String[src]
pub fn to_str(&self) -> Stringpub unsafe fn from_libc_sockaddr(addr: *const sockaddr) -> Option<SockAddr>[src]
pub unsafe fn from_libc_sockaddr(addr: *const sockaddr) -> Option<SockAddr>Creates a SockAddr struct from libc's sockaddr.
Supports only the following address families: Unix, Inet (v4 & v6), Netlink and System. Returns None for unsupported families.
pub unsafe fn as_ffi_pair(&self) -> (&sockaddr, socklen_t)[src]
pub unsafe fn as_ffi_pair(&self) -> (&sockaddr, socklen_t)Conversion from nix's SockAddr type to the underlying libc sockaddr type.
This is useful for interfacing with other libc functions that don't yet have nix wrappers. Returns a reference to the underlying data type (as a sockaddr reference) along with the size of the actual data type. sockaddr is commonly used as a proxy for a superclass as C doesn't support inheritance, so many functions that take a sockaddr * need to take the size of the underlying type as well and then internally cast it back.
Trait Implementations
impl Copy for SockAddr[src]
impl Copy for SockAddrimpl Debug for SockAddr[src]
impl Debug for SockAddrfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl PartialEq for SockAddr[src]
impl PartialEq for SockAddrfn eq(&self, other: &SockAddr) -> bool[src]
fn eq(&self, other: &SockAddr) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl Eq for SockAddr[src]
impl Eq for SockAddrimpl Hash for SockAddr[src]
impl Hash for SockAddrfn hash<H: Hasher>(&self, s: &mut H)[src]
fn hash<H: Hasher>(&self, s: &mut H)Feeds this value into the given [Hasher]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, Feeds a slice of this type into the given [Hasher]. Read more
impl Clone for SockAddr[src]
impl Clone for SockAddrfn clone(&self) -> SockAddr[src]
fn clone(&self) -> SockAddrReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Display for SockAddr[src]
impl Display for SockAddr