发送到pid和组

时间:2012-07-03 12:08:24

标签: linux udp system-calls strace sendto

我试图从linux上的这个方面理解这一行:

sendto(10, "\24\0\0\0\26\0\1\3\233\274\362O\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20

我已经在网页上查看了关于sendto的内容,但我看不到pid和群组的引用。事件AF_NETLINK未提及。

pid和group参数是什么意思?我在哪里可以找到关于此功能的正确文档?

由于

2 个答案:

答案 0 :(得分:0)

正确的文档是man 7 netlink,但是netlink做了很多模糊不清的文章,这些内容没有得到很好的记录,所以祝你好运。

答案 1 :(得分:0)

根据sendto手册页,该参数为struct sockaddr *。与netlink套接字一起使用时,它实际上是struct sockaddr_nl

struct sockaddr_nl {
       sa_family_t     nl_family;  /* AF_NETLINK */
       unsigned short  nl_pad;     /* Zero. */
       pid_t           nl_pid;     /* Process ID. */
       __u32           nl_groups;  /* Multicast groups mask. */
};

这就是pidgroups必须来自的地方(手册的“地址格式”部分解释了这些字段)。