Crate neli [] [src]

Type safety for the weary netlink user

Rationale

This crate aims to be a pure Rust implementation that defines the necessary constants and wraps them in enums to distinguish between various categories of constants in the context of netlink.

Modules

err

Error module

ffi

C constants defined as types

genlhdr

Genetlink (generic netlink) header and attribute helpers

macros

Helper macros

nlattr

Netlink attribute handler Due to netlink's loose treatment of types, parsing attributes can be hard to model in Rust. neli's current solution is the following:

nlhdr

Top-level netlink header This module contains the top level netlink header code and attribute parsing.

socket

Wrapper for libc sockets

Macros

cmd_to_nl
enum_to_nl

Enums

MemRead

Enum representing sized or growable allocated memory for reading

MemWrite

Enum representing sized or growable allocated memory for writing

Constants

MAX_NL_LENGTH

Max supported message length for netlink messages supported by the kernel

Traits

Nl

Trait defining basic actions required for netlink communication