netlink_sys

Struct Socket

Source
pub struct Socket(/* private fields */);

Implementations§

Source§

impl Socket

Source

pub fn new(protocol: Protocol) -> Result<Self>

Source

pub fn bind(&mut self, addr: &SocketAddr) -> Result<()>

Source

pub fn bind_auto(&mut self) -> Result<SocketAddr>

Source

pub fn get_address(&self, addr: &mut SocketAddr) -> Result<()>

Source

pub fn set_non_blocking(&self, non_blocking: bool) -> Result<()>

Source

pub fn connect(&self, remote_addr: &SocketAddr) -> Result<()>

Source

pub fn recv_from( &self, buf: &mut [u8], flags: c_int, ) -> Result<(usize, SocketAddr)>

Source

pub fn recv(&self, buf: &mut [u8], flags: c_int) -> Result<usize>

Source

pub fn send_to( &self, buf: &[u8], addr: &SocketAddr, flags: c_int, ) -> Result<usize>

Source

pub fn send(&self, buf: &[u8], flags: c_int) -> Result<usize>

Source

pub fn set_pktinfo(&mut self, value: bool) -> Result<()>

Source

pub fn get_pktinfo(&self) -> Result<bool>

Source

pub fn add_membership(&mut self, group: u32) -> Result<()>

Source

pub fn drop_membership(&mut self, group: u32) -> Result<()>

Source

pub fn list_membership(&self) -> Vec<u32>

Source

pub fn set_broadcast_error(&mut self, value: bool) -> Result<()>

NETLINK_BROADCAST_ERROR (since Linux 2.6.30). When not set, netlink_broadcast() only reports ESRCH errors and silently ignore NOBUFS errors.

Source

pub fn get_broadcast_error(&self) -> Result<bool>

Source

pub fn set_no_enobufs(&mut self, value: bool) -> Result<()>

NETLINK_NO_ENOBUFS (since Linux 2.6.30). This flag can be used by unicast and broadcast listeners to avoid receiving ENOBUFS errors.

Source

pub fn get_no_enobufs(&self) -> Result<bool>

Source

pub fn set_listen_all_namespaces(&mut self, value: bool) -> Result<()>

NETLINK_LISTEN_ALL_NSID (since Linux 4.2). When set, this socket will receive netlink notifications from all network namespaces that have an nsid assigned into the network namespace where the socket has been opened. The nsid is sent to user space via an ancillary data.

Source

pub fn get_listen_all_namespaces(&self) -> Result<bool>

Source

pub fn set_cap_ack(&mut self, value: bool) -> Result<()>

NETLINK_CAP_ACK (since Linux 4.2). The kernel may fail to allocate the necessary room for the acknowledgment message back to user space. This option trims off the payload of the original netlink message. The netlink message header is still included, so the user can guess from the sequence number which message triggered the acknowledgment.

Source

pub fn get_cap_ack(&self) -> Result<bool>

Trait Implementations§

Source§

impl AsRawFd for Socket

Source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
Source§

impl Clone for Socket

Source§

fn clone(&self) -> Socket

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 Socket

Source§

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

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

impl Drop for Socket

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for Socket

§

impl RefUnwindSafe for Socket

§

impl Send for Socket

§

impl Sync for Socket

§

impl Unpin for Socket

§

impl UnwindSafe for Socket

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 T)

🔬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, 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.