免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: duanjigang
打印 上一主题 下一主题

[C] netlink socket 编程之app:在用户空间枚举系统网络设备列表 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-03-03 10:45 |只看该作者
建议楼主注明你自己使用的内核版本号  在我的内核  2.6.18-53.el5  中

extern struct sock *netlink_kernel_create(int unit, unsigned int groups, void (*input)(struct sock *sk, int len), struct module *module);

struct netlink_skb_parms
{
        struct ucred            creds;          /* Skb credentials      */
        __u32                   pid;
        __u32                   dst_pid;
        __u32                   dst_group;
        kernel_cap_t            eff_cap;
        __u32                   loginuid;       /* Login (audit) uid */
        __u32                   sid;            /* SELinux security id */
};


与楼主的不同

论坛徽章:
0
12 [报告]
发表于 2009-09-14 13:39 |只看该作者

  1.             sendmsg(sock_fd, &msg, 0);
  2.             memset(nlh, 0, NLMSG_SPACE(MAX_PAYLOAD));
  3.             recvmsg(sock_fd, &msg, 0);
复制代码

用户态发送后理解接收,这里的接收会进入阻塞状态吗?
如果会,那么如果又恰巧 kernelspace -> userspace 丢包了怎么办?

论坛徽章:
0
13 [报告]
发表于 2009-09-15 23:00 |只看该作者
原帖由 platinum 于 2009-9-14 13:39 发表

            sendmsg(sock_fd, &msg, 0);
            memset(nlh, 0, NLMSG_SPACE(MAX_PAYLOAD));
            recvmsg(sock_fd, &msg, 0);

用户态发送后理解接收,这里的接收会进入阻塞状态吗?
如果 ...

测试了下,如果内核不返回,用户态程序会阻塞住。。。
如果用户态退出或者不接收做其他事情,这个消息貌似就丢了,内核中也没有任何信息打印

论坛徽章:
0
14 [报告]
发表于 2012-09-18 21:43 |只看该作者
为啥代码好多 &nbsp 呢? 空格?

论坛徽章:
0
15 [报告]
发表于 2017-03-11 22:28 |只看该作者
好了,发现代码掉了右中括号。。补上了,七怪。

论坛徽章:
0
16 [报告]
发表于 2017-03-11 22:28 |只看该作者
hk2305621 发表于 2012-09-18 21:43
为啥代码好多 &nbsp 呢? 空格?

修好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP