UnixSocketExt

Trait UnixSocketExt 

Source
pub trait UnixSocketExt: Sealed {
    // Required methods
    fn local_creds_persistent(&self) -> Result<bool>;
    fn set_local_creds_persistent(
        &self,
        local_creds_persistent: bool,
    ) -> Result<()>;
    fn acceptfilter(&self) -> Result<&CStr>;
    fn set_acceptfilter(&self, name: &CStr) -> Result<()>;
}
🔬This is a nightly-only experimental API. (unix_socket_ancillary_data #76915)
Expand description

FreeBSD-specific functionality for AF_UNIX sockets UnixDatagram and UnixStream.

Required Methods§

Source

fn local_creds_persistent(&self) -> Result<bool>

🔬This is a nightly-only experimental API. (unix_socket_ancillary_data #76915)

Query the current setting of socket option LOCAL_CREDS_PERSISTENT.

Source

fn set_local_creds_persistent(&self, local_creds_persistent: bool) -> Result<()>

🔬This is a nightly-only experimental API. (unix_socket_ancillary_data #76915)

Enable or disable socket option LOCAL_CREDS_PERSISTENT.

This option enables the credentials of the sending process to be received as a control message in AncillaryData.

§Examples
#![feature(unix_socket_ancillary_data)]
use std::os::freebsd::net::UnixSocketExt;
use std::os::unix::net::UnixDatagram;

fn main() -> std::io::Result<()> {
    let sock = UnixDatagram::unbound()?;
    sock.set_local_creds_persistent(true).expect("set_local_creds_persistent failed");
    Ok(())
}
Source

fn acceptfilter(&self) -> Result<&CStr>

🔬This is a nightly-only experimental API. (acceptfilter #121891)

Gets a filter name if one had been set previously on the socket.

Source

fn set_acceptfilter(&self, name: &CStr) -> Result<()>

🔬This is a nightly-only experimental API. (acceptfilter #121891)

Set or disable a filter on the socket to filter incoming connections to defer it before accept(2)

Implementors§