nix::sys::socket

Struct UnixAddr

Source
pub struct UnixAddr { /* private fields */ }
Expand description

A wrapper around sockaddr_un.

Implementations§

Source§

impl UnixAddr

Source

pub fn new<P: ?Sized + NixPath>(path: &P) -> Result<UnixAddr>

Create a new sockaddr_un representing a filesystem path.

Source

pub fn new_abstract(path: &[u8]) -> Result<UnixAddr>

Create a new sockaddr_un representing an address in the “abstract namespace”.

The leading null byte for the abstract namespace is automatically added; thus the input path is expected to be the bare name, not null-prefixed. This is a Linux-specific extension, primarily used to allow chrooted processes to communicate with processes having a different filesystem view.

Source

pub fn path(&self) -> Option<&Path>

If this address represents a filesystem path, return that path.

Source

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 null byte. None is returned for unnamed or path-backed sockets.

Source

pub fn path_len(&self) -> usize

Returns the addrlen of this socket - offsetof(struct sockaddr_un, sun_path)

Source

pub fn as_ptr(&self) -> *const sockaddr_un

Returns a pointer to the raw sockaddr_un struct

Source

pub fn as_mut_ptr(&mut self) -> *mut sockaddr_un

Returns a mutable pointer to the raw sockaddr_un struct

Trait Implementations§

Source§

impl Clone for UnixAddr

Source§

fn clone(&self) -> UnixAddr

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UnixAddr

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for UnixAddr

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for UnixAddr

Source§

fn hash<H: Hasher>(&self, s: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for UnixAddr

Source§

fn eq(&self, other: &UnixAddr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for UnixAddr

Source§

impl Eq for UnixAddr

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.