pub trait GenlFamily {
// Required methods
fn family_name() -> &'static str;
fn command(&self) -> u8;
fn version(&self) -> u8;
// Provided method
fn family_id(&self) -> u16 { ... }
}
Expand description
Provide the definition for generic netlink family
Family payload type should implement this trait to provide necessary
informations in order to build the packet headers (nlmsghdr
and
genlmsghdr
).
If you are looking for an example implementation, you can refer to the
crate::ctrl
module.
Required Methods§
Sourcefn family_name() -> &'static str
fn family_name() -> &'static str
Return the unique family name registered in the kernel
Let the resolver lookup the dynamically assigned ID
Provided Methods§
Sourcefn family_id(&self) -> u16
fn family_id(&self) -> u16
Return the assigned family ID
§Note
The implementation of generic family should assign the ID to
GENL_ID_GENERATE
(0x0). So the controller can dynamically assign
the family ID.
Regarding to the reason above, you should not have to implement the function unless the family uses static ID.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.