#[repr(C)]pub struct UnixAddr { /* private fields */ }
Expand description
A wrapper around sockaddr_un
.
Implementations
sourceimpl UnixAddr
impl UnixAddr
sourcepub fn new<P: ?Sized + NixPath>(path: &P) -> Result<UnixAddr>
pub fn new<P: ?Sized + NixPath>(path: &P) -> Result<UnixAddr>
Create a new sockaddr_un representing a filesystem path.
sourcepub fn new_abstract(path: &[u8]) -> Result<UnixAddr>
pub fn new_abstract(path: &[u8]) -> Result<UnixAddr>
Create a new sockaddr_un
representing an address in the “abstract namespace”.
The leading nul byte for the abstract namespace is automatically added;
thus the input path
is expected to be the bare name, not NUL-prefixed.
This is a Linux-specific extension, primarily used to allow chrooted
processes to communicate with processes having a different filesystem view.
sourcepub fn path(&self) -> Option<&Path>
pub fn path(&self) -> Option<&Path>
If this address represents a filesystem path, return that path.
sourcepub fn as_abstract(&self) -> Option<&[u8]>
pub fn as_abstract(&self) -> Option<&[u8]>
If this address represents an abstract socket, return its name.
For abstract sockets only the bare name is returned, without the
leading NUL byte. None
is returned for unnamed or path-backed sockets.
sourcepub fn path_len(&self) -> usize
pub fn path_len(&self) -> usize
Returns the addrlen of this socket - offsetof(struct sockaddr_un, sun_path)
sourcepub fn as_ptr(&self) -> *const sockaddr_un
pub fn as_ptr(&self) -> *const sockaddr_un
Returns a pointer to the raw sockaddr_un
struct
sourcepub fn as_mut_ptr(&mut self) -> *mut sockaddr_un
pub fn as_mut_ptr(&mut self) -> *mut sockaddr_un
Returns a mutable pointer to the raw sockaddr_un
struct