Linux下动态监测设备拔插程序

来源:互联网 发布:卖家加入淘宝客要求 编辑:程序博客网 时间:2024/05/16 11:20
#include <stdio.h>#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <sys/un.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <linux/types.h> #include <linux/netlink.h> #include <errno.h> #include <unistd.h> #include <arpa/inet.h> #include <netinet/in.h> int main(){int netlink_fd = -1, ret = -1;const int buffersize = 1024;struct sockaddr_nl addr;char buf[1024];netlink_fd =  socket(PF_NETLINK,SOCK_DGRAM,NETLINK_KOBJECT_UEVENT);if(netlink_fd < 0){perror("socket");exit(1);}setsockopt(netlink_fd, SOL_SOCKET, SO_RCVBUF,                      &buffersize, sizeof(buffersize));bzero(&addr,sizeof(struct sockaddr));addr.nl_family = AF_NETLINK;addr.nl_pid = getpid();addr.nl_groups = 1;ret = bind(netlink_fd,(struct sockaddr *) &addr,                sizeof(struct sockaddr_nl));if(ret < 0){perror("bind");exit(1);}while(1){memset(buf,'\0',1024);recv(netlink_fd, &buf, 1024, 0);printf("recv buf:%s\r\n",buf);}printf("hello\r\n");return 0;}

原创粉丝点击