1

我编写了一个内核模块,我想在其中向用户空间程序发送接口向上/向下通知。我已将消息组分配为RTMGRP_LINK并包含linux/rtnetlink.h头文件。但是当我编译模块时仍然收到以下错误:

abc.c: In function âevent_handlerâ:
abc.c:63: error: âRTMGRP_LINKâ undeclared (first use in this function)
abc.c:63: error: (Each undeclared identifier is reported only once
abc.c:63: error: for each function it appears in.)

有人可以建议为什么吗?

4

1 回答 1

1

经过linux/rtnetlink.h头条后。我观察到它RTMGRP_LINK的定义#ifndef __KERNEL__意味着它只能由用户空间程序使用。对于内核模块RTNLGRP_LINK,应该使用NETLINK_ROUTENetlink Sockets 系列进行通信。

于 2014-07-24T10:52:30.777 回答