#[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
Trait Implementations§
source§impl AsRef<sockaddr_un> for UnixAddr
impl AsRef<sockaddr_un> for UnixAddr
source§fn as_ref(&self) -> &sockaddr_un
fn as_ref(&self) -> &sockaddr_un
source§impl SockaddrLike for UnixAddr
impl SockaddrLike for UnixAddr
source§fn len(&self) -> socklen_t
fn len(&self) -> socklen_t
source§unsafe fn from_raw(
addr: *const sockaddr,
len: Option<socklen_t>,
) -> Option<Self>where
Self: Sized,
unsafe fn from_raw(
addr: *const sockaddr,
len: Option<socklen_t>,
) -> Option<Self>where
Self: Sized,
impl Copy for UnixAddr
impl Eq for UnixAddr
Auto Trait Implementations§
impl Freeze for UnixAddr
impl RefUnwindSafe for UnixAddr
impl Send for UnixAddr
impl Sync for UnixAddr
impl Unpin for UnixAddr
impl UnwindSafe for UnixAddr
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)