nlmsg_put分析
添加netlink消息头部到netlink消息
参数
n,netlink消息
pid,netlink进程id或者NL_AUTO_PID
seq,消息的序列号或者NL_AUTO_SEQ
type,消息类型
payload,消息载体的长度
flags,消息标志
struct nlmsghdr *nlmsg_put(struct nl_msg *n, uint32_t pid, uint32_t seq, int type, int payload, int flags)
定义在lib下的msg.c中
函数的行为:
1.从nl_msg中取出头部字段
2.根据函数的参数,给头部字段赋值,除了长度域,其它都初始化了。
3.然后调用nlmsg_reserve给头部的长度域赋值。
4.最后返回头部字段。
使用例子
nlh=nlmsg_put(msg, port, seq, family, GENL_HDRLE+hdrlen, flags);