0
我正在尝试编写一个netfilter模块。我的第一次尝试。
我的Makefile是:
obj-m += someModule.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
我得到编译时错误清楚地表明typedefs的structs nf_hookfn,nf_hook_ops等是不是采摘或错误采摘。
我知道钩子函数的参数列表在以后的内核中已更改。无论哪种方式,我都根本看不到typedefs我需要的任何内容/usr/include/linux/netfilter.h。
我尝试了什么?
如果您的内核模块包括from的标头/usr/include/linux,那确实确实出了问题:其中的文件/usr/include/linux供用户态应用程序使用(请参阅/ usr / include / linux和linux内核源代码中的include文件夹有什么区别?),而不是内核模块。
相反,您的模块应在内核源代码中包含头文件。
对于它的价值,这似乎是我系统上的默认值。如果我编译此非内核模块:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。