当前位置:  技术问答>linux和unix

编译模块时出现'struct skbuff’ 没有名为'nh'的成员的错误

    来源: 互联网  发布时间:2016-07-12

    本文导语:  本帖最后由 interlc 于 2009-10-26 09:45:42 编辑 编译模块时出现‘struct sk_buff’ 没有名为 ‘nh’ 的成员的错误       从网上找了一段关于netfilter下hook的代码,实验一下,代码如下:#include  #include  #include  #include  #i...

本帖最后由 interlc 于 2009-10-26 09:45:42 编辑
编译模块时出现‘struct sk_buff’ 没有名为 ‘nh’ 的成员的错误      
从网上找了一段关于netfilter下hook的代码,实验一下,代码如下:
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
static unsigned int icmp_srv(unsigned int hook,
                                               struct sk_buff **pskb,
                                               const struct net_device *in,
                                               const struct net_device *out,
                                               int (*okfn)(struct sk_buff *)
                                               )
{
       //printk(KERN_INFO"hook_icmp::icmp_srv()n");
       struct iphdr *iph = (*pskb)->nh.iph;
      
       if(iph->protocol == IPPROTO_ICMP)
       {
              printk(KERN_INFO"hook_icmp::icmp_srv: receive ICMP packetn");
              printk(KERN_INFO"src: ");
       }
      
       return NF_ACCEPT;
}
 
static struct nf_hook_ops icmpsrv_ops =
{
       .hook = icmp_srv,
       .pf = PF_INET,
       .hooknum = NF_IP_PRE_ROUTING,
       .priority = NF_IP_PRI_FILTER -1,
};
 
static int __init init_hook_icmp(void)
{
       return nf_register_hook(&icmpsrv_ops);
}
 
static void __exit fini_hook_icmp(void)
{
       nf_unregister_hook(&icmpsrv_ops);
}
 
MODULE_LICENSE("GPL");
 
module_init(init_hook_icmp);
module_exit(fini_hook_icmp);

然后就出现了上面讲得错误,请问怎么解决

|
源程序对应的内核版本跟你用的版本不一样。
内核更新基本不考虑内核代码的兼容性。

|
去网上找找,和看看内核的修改日志文件

    
 
 

您可能感兴趣的文章:

  • 用Jdk编译时出现提示要加 -deprecation 再编译,请教??
  • 编译内核时出现同名文件该怎么解决
  • 编译时出现的问题
  • 编译EJB时出现的问题
  • 编译内核时出现的一个问题,求助!
  • 编译openwrt时出现的问题,请指点,谢谢!
  • 用javac编译时出现不支持Enumeration类的错误.谁能帮帮我!
  • xlc编译最后链接时出现未定义的问题
  • Gcc编译时出现的问题,很急!!!
  • Redhat9下Kylix3_bcb编译时出现Linker Error?
  • XOpenDisplay为什么编译时出现:”undefined reference to XOpenDisplay"?
  • 有关netfilter编译时出现的一些小错误
  • 编译时出现的warning,要怎么才能去掉?
  • 在solaris 10上进行socket编程 编译没有问题 连接时出了错
  • 弱弱的问:编译一小程序时加载arch时出现的一个小问题
  • 编译模块时出的问题 storage size of 'wait' isn`t know
  • linux 安装交叉编译器时出现错误
  • 有关编译线程代码时出现的一些错误提示。。
  • 编译输入法时出现的问题
  • 用Makefile编译程序时出现的问题?
  • 在linux中"XXX.l"是什么文件(文件扩展名为L),用gcc怎么编译?谢谢大家!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • 编译GCC时能不能只编译C/C++的编译器?
  • 高速的网络抓包库PF_ring介绍及编译安装
  • HTML教程 iis7站长之家
  • JB下,我的程序编译得好慢!请问用什么方法编译才可以快一点?或编译顺序改变一下?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • 问:关于gcc编译器和g++编译器
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 在cygwin编译驱动程序要不要交叉编译?
  • 关于如何把编译进内核的编译成模块
  • C编译器 c++编译器 wieldylcc
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • PROC开发时 //注释编译不通过 如何设置使用cpp编译。
  • 编译失败后如何再继续编译
  • 编译qt-x11,最后编译生成可执行文件时候,make出错
  • 如何查看已编译安装软件的编译命令行
  • 请问哪里有反编译.class文件的反编译器?
  • linux下有没有能编译出16bit代码的C语言编译器?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3