#[repr(C)]pub struct UnixAddr { /* private fields */ }
Expand description
A wrapper around sockaddr_un
.
Implementations§
Source§impl 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 new_unnamed() -> UnixAddr
pub fn new_unnamed() -> UnixAddr
Create a new sockaddr_un
representing an “unnamed” unix socket address.
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 is_unnamed(&self) -> bool
pub fn is_unnamed(&self) -> bool
Check if this address is an “unnamed” unix socket address.
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