《Linux设备节点创建》内核kobject上报uevent过滤规则.docx

《Linux设备节点创建》内核kobject上报uevent过滤规则.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/tankaarticle/detailsLinux设备节点创建》内核kobject上报uevent过滤规则/tankaarticle/detailstankaarticle/details明:本文基于Android2.3和Linux2.6,其余版本仅供参考。/tankaarticle/detailsndroid2.3及Linux2.6.29内核模拟器版本编译与调试阅读本文前请阅读:/tankaarticle/detailsinux总线、设备、驱动与设备节点创建、用户测试程序?一、netlink监听程序testnet.c[cpp]?/tankaarticle/detailsiew plain?/tankaarticle/detailsopy?#include?stdio.h?#include?stdlib.h?#include?string.h?#include?errno.h?#include?sys/types.h?#include?asm/types.h?//该头文件需要放在netlink.h前面防止编译出现__kernel_sa_family未定义?#include?sys/socket.h??#include?linux/netlink.h??void?MonitorNetlinkUevent()??{???int?sockfd;???struct?sockaddr_nl?sa;???int?len;???char?buf[4096];???struct?iovec?iov;???struct?msghdr?msg;???int?i;????memset(sa,0,sizeof(sa));???sa.nl_family=AF_NETLINK;???sa.nl_groups=NETLINK_KOBJECT_UEVENT;???sa.nl_pid?=?0;//getpid();?both?is?ok??memset(msg,0,sizeof(msg));???iov.iov_base=(void?*)buf;???iov.iov_len=sizeof(buf);???msg.msg_name=(void?*)sa;???msg.msg_namelen=sizeof(sa);???msg.msg_iov=iov;???msg.msg_iovlen=1;????sockfd=socket(AF_NETLINK,SOCK_RAW,NETLINK_KOBJECT_UEVENT);???if(sockfd==-1)???printf(socket?creating?failed:%s\n,strerror(errno));???if(bind(sockfd,(struct?sockaddr?*)sa,sizeof(sa))==-1)???printf(bind?error:%s\n,strerror(errno));???while(1){???memset(buf,0,sizeof(buf));???len=recvmsg(sockfd,msg,0);???if(len0){}???//printf(receive?error\n);??else?if(len32||lensizeof(buf))???printf(invalid?message);???for(i=0;ilen;i++)???if(*(buf+i)==\0)???buf[i]=\n;???printf(received?%d?bytes\n%s\n,len,buf);???}??}???int?main(int?argc,char?**argv)??{???MonitorNetlinkUevent();???return?0;??}??Android.mk[plain]?/tankaarticle/detailsiew plain?/tankaarticle/detailsopy?LOCAL_PATH:=?$(call?my-dir)??include?$(CLEAR_VARS)???LOCAL_SRC_FILES:=?\???testnet.c???LOCAL_SHARED_LIBRARIES?:=?\???libutils?LOCAL_MODULE:=?testnet???LOCAL_MODULE_TA

文档评论(0)

bbnm58850 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档