struct nlattr
时间: 2024-05-14 12:20:04 浏览: 251
struct nlattr 是 Linux 内核中用于表示 netlink 协议消息中属性的结构体。其定义如下:
```c
struct nlattr {
uint16_t nla_len; // 属性的长度
uint16_t nla_type; // 属性的类型
// 属性值数据
};
```
其中,`nla_len` 表示属性的长度,包括 `nla_type` 和属性值数据的长度。`nla_type` 表示属性的类型。属性值数据的具体内容由各个属性类型决定。
在 netlink 协议中,一个消息可以包含多个属性,每个属性可以有不同的类型和长度,通过使用 `struct nlattr` 可以方便地表示这些属性。在内核代码中,我们可以使用 `nla_type` 来区分不同的属性类型,并使用相应的处理函数来解析属性值数据。
阅读全文