pub struct NlRouter { /* private fields */ }
Expand description
A high-level handle for sending messages and generating a handle that validates all of the received messages.
Implementations§
Source§impl NlRouter
impl NlRouter
Sourcepub fn connect(
proto: NlFamily,
pid: Option<u32>,
groups: Groups,
) -> Result<(Self, NlRouterReceiverHandle<u16, Genlmsghdr<u8, u16, NoUserHeader>>), RouterError<u16, Buffer>>
pub fn connect( proto: NlFamily, pid: Option<u32>, groups: Groups, ) -> Result<(Self, NlRouterReceiverHandle<u16, Genlmsghdr<u8, u16, NoUserHeader>>), RouterError<u16, Buffer>>
Equivalent of socket
and bind
calls.
Sourcepub fn add_mcast_membership(
&self,
groups: Groups,
) -> Result<(), RouterError<u16, Buffer>>
pub fn add_mcast_membership( &self, groups: Groups, ) -> Result<(), RouterError<u16, Buffer>>
Join multicast groups for a socket.
Sourcepub fn drop_mcast_membership(
&self,
groups: Groups,
) -> Result<(), RouterError<u16, Buffer>>
pub fn drop_mcast_membership( &self, groups: Groups, ) -> Result<(), RouterError<u16, Buffer>>
Leave multicast groups for a socket.
Sourcepub fn list_mcast_membership(
&self,
) -> Result<NetlinkBitArray, RouterError<u16, Buffer>>
pub fn list_mcast_membership( &self, ) -> Result<NetlinkBitArray, RouterError<u16, Buffer>>
List joined groups for a socket.
Sourcepub fn enable_ext_ack(
&self,
enable: bool,
) -> Result<(), RouterError<u16, Buffer>>
pub fn enable_ext_ack( &self, enable: bool, ) -> Result<(), RouterError<u16, Buffer>>
Sourcepub fn get_ext_ack_enabled(&self) -> Result<bool, RouterError<u16, Buffer>>
pub fn get_ext_ack_enabled(&self) -> Result<bool, RouterError<u16, Buffer>>
Return true
if an extended ACK is enabled for this socket.
Sourcepub fn enable_strict_checking(
&self,
enable: bool,
) -> Result<(), RouterError<u16, Buffer>>
pub fn enable_strict_checking( &self, enable: bool, ) -> Result<(), RouterError<u16, Buffer>>
Sourcepub fn get_strict_checking_enabled(
&self,
) -> Result<bool, RouterError<u16, Buffer>>
pub fn get_strict_checking_enabled( &self, ) -> Result<bool, RouterError<u16, Buffer>>
Return true
if strict checking is enabled for this socket.
Only supported by NlFamily::Route
sockets.
Requires Linux >= 4.20.
Sourcepub fn send<ST, SP, RT, RP>(
&self,
nl_type: ST,
nl_flags: NlmF,
nl_payload: NlPayload<ST, SP>,
) -> Result<NlRouterReceiverHandle<RT, RP>, RouterError<ST, SP>>
pub fn send<ST, SP, RT, RP>( &self, nl_type: ST, nl_flags: NlmF, nl_payload: NlPayload<ST, SP>, ) -> Result<NlRouterReceiverHandle<RT, RP>, RouterError<ST, SP>>
Send a message and return a handle for receiving responses from this message.
Sourcepub fn resolve_genl_family(
&self,
family_name: &str,
) -> Result<u16, RouterError<GenlId, Genlmsghdr<CtrlCmd, CtrlAttr>>>
pub fn resolve_genl_family( &self, family_name: &str, ) -> Result<u16, RouterError<GenlId, Genlmsghdr<CtrlCmd, CtrlAttr>>>
Convenience function for resolving a str
containing the
generic netlink family name to a numeric generic netlink ID.
Sourcepub fn resolve_nl_mcast_group(
&self,
family_name: &str,
mcast_name: &str,
) -> Result<u32, RouterError<GenlId, Genlmsghdr<CtrlCmd, CtrlAttr>>>
pub fn resolve_nl_mcast_group( &self, family_name: &str, mcast_name: &str, ) -> Result<u32, RouterError<GenlId, Genlmsghdr<CtrlCmd, CtrlAttr>>>
Convenience function for resolving a str
containing the
multicast group name to a numeric multicast group ID.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for NlRouter
impl !RefUnwindSafe for NlRouter
impl Send for NlRouter
impl Sync for NlRouter
impl Unpin for NlRouter
impl !UnwindSafe for NlRouter
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
Mutably borrows from an owned value. Read more