日期:2014-05-16  浏览次数:20659 次

用netlink进行用户态和内核态通信,想传两个整数进去,该如何操作,我只会发个字符串进去,求关键部位代码
看了很多网上的例子,很多都是只简单的strcpy(NLMSG_DATA(nlh),"hello form usr");
就sendmsg了,我想内核态传两个整数进去改怎么传啊,内核态怎么提取出来这连个整数?
求关键代码,这个我工作要完成的第一个任务,请各位大神帮忙啊!!

------解决方案--------------------
其实,cpu哪里认得什么是整数 什么是字符串
lz还是没有领悟到指针的精髓

方法有2
1、内核也有字符串转换api,诸如atoi simple_strtoul 什么的,
见lib/vsprintf.c

2、传递结构体


------解决方案--------------------
memcpy(NLMSG_DATA(nlh),nl_msgdata, sizeof(lightap_parm_t));
nlh->nlmsg_len = NLMSG_LENGTH(sizeof(lightap_parm_t);

lightap_parm_t是我自己定义的结构!nl_msgdata是我按结构赋好值的数据!