#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 so
Linux下动态监测设备拔插程序
最新推荐文章于 2021-06-24 14:40:03 发布