1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2021 年 8 月 31 日 |
---|
#16 在 #netfilter
用于 rsmnl-linux
84KB
1K SLoC
rslmnl
一个模仿 libmnl 的纯 Rust netlink 库。倾向于成为 crslmnl 的继任者,并且(我认为)更加 Rust 风格。
示例
查看示例,也可以查看 rsmnl-linux 的。
链接
差异
-
nlmsghdr 可以用两种方式表示,通过其角色
-
msgvec::Header 用于写入(放置属性)。你可以设置 nlmsg_ 成员,但不能设置 nlmsg_len,这由 put 函数处理。
-
nlmsg::Msghdr 用于读取(获取属性)。你不能处理可变的一个,只能从回调中获取它。
我认为你无法直接指定 msgvec::Header 类型。
-
-
属性验证是在获取值时进行的,而不是在解析时。因为 get fn (value(), value_ref()..)。是模仿原始的 get_..._safe()。
-
没有特定的批处理结构。使用 msgvec::MsgVec,类似于原始的批处理结构,来构建 nlmsg。
-
要放置属性,请使用 MesVec.put(),而不是 Nlmsg.put()