Trait uds::UnixStreamExt
source · [−]pub trait UnixStreamExt: AsRawFd + FromRawFd + Sized {
fn connect_to_unix_addr(addr: &UnixSocketAddr) -> Result<Self, Error>;
fn connect_from_to_unix_addr(
from: &UnixSocketAddr,
to: &UnixSocketAddr
) -> Result<Self, Error>;
fn local_unix_addr(&self) -> Result<UnixSocketAddr, Error> { ... }
fn peer_unix_addr(&self) -> Result<UnixSocketAddr, Error> { ... }
fn send_fds(&self, bytes: &[u8], fds: &[RawFd]) -> Result<usize, Error> { ... }
fn recv_fds(
&self,
buf: &mut [u8],
fd_buf: &mut [RawFd]
) -> Result<(usize, usize), Error> { ... }
fn initial_peer_credentials(&self) -> Result<ConnCredentials, Error> { ... }
fn initial_peer_selinux_context(
&self,
buffer: &mut [u8]
) -> Result<usize, Error> { ... }
}
Expand description
Extension trait for std::os::unix::net::UnixDatagram
and nonblocking equivalents.
Required Methods
sourcefn connect_to_unix_addr(addr: &UnixSocketAddr) -> Result<Self, Error>
fn connect_to_unix_addr(addr: &UnixSocketAddr) -> Result<Self, Error>
Creates a connection to a listening path-based or abstract named socket.
sourcefn connect_from_to_unix_addr(
from: &UnixSocketAddr,
to: &UnixSocketAddr
) -> Result<Self, Error>
fn connect_from_to_unix_addr(
from: &UnixSocketAddr,
to: &UnixSocketAddr
) -> Result<Self, Error>
Creates a path-based or abstract-named socket and connects to a listening socket.
Provided Methods
sourcefn local_unix_addr(&self) -> Result<UnixSocketAddr, Error>
fn local_unix_addr(&self) -> Result<UnixSocketAddr, Error>
Get the address of this socket, as a type that fully supports abstract addresses.
sourcefn peer_unix_addr(&self) -> Result<UnixSocketAddr, Error>
fn peer_unix_addr(&self) -> Result<UnixSocketAddr, Error>
Returns the address of the other end of this stream, as a type that fully supports abstract addresses.
sourcefn send_fds(&self, bytes: &[u8], fds: &[RawFd]) -> Result<usize, Error>
fn send_fds(&self, bytes: &[u8], fds: &[RawFd]) -> Result<usize, Error>
Sends file descriptors in addition to bytes.
sourcefn recv_fds(
&self,
buf: &mut [u8],
fd_buf: &mut [RawFd]
) -> Result<(usize, usize), Error>
fn recv_fds(
&self,
buf: &mut [u8],
fd_buf: &mut [RawFd]
) -> Result<(usize, usize), Error>
Receives file descriptors in addition to bytes.
sourcefn initial_peer_credentials(&self) -> Result<ConnCredentials, Error>
fn initial_peer_credentials(&self) -> Result<ConnCredentials, Error>
Returns the credentials of the process that created the other end of this stream.
sourcefn initial_peer_selinux_context(&self, buffer: &mut [u8]) -> Result<usize, Error>
fn initial_peer_selinux_context(&self, buffer: &mut [u8]) -> Result<usize, Error>
Returns the SELinux security context of the process that created the other end of this stream.
Will return an error on other operating systems than Linux or Android,
and also if running under kubernetes.
On success the number of bytes used is returned. (like Read
)
The default security context is unconfined
, without any trailing NUL.
A buffor of 50 bytes is probably always big enough.