warning: assignment from incompatible pointer type (注册hook时出现了)

在<Linux/netfilter.h>中的钩子函数的签名是:

unsigned int nf_hookfn(unsigned int hooknum,struct sk_buff **skb, const struct net_device *in, const struct net_device *out, int (*okfn) (struct sk_buff *))
 
 
当我将nf_hookfn函数赋值给hook时,就出现了warning: assignment from incompatible pointer type的错误。
 
 
后来改为:
unsigned int nf_hookfn(unsigned int hooknum,struct sk_buff *skb, const struct net_device *in, const struct net_device *out, int (*okfn) (struct sk_buff *))
编译通过。说明从kernel 2.6.*开始,函数的参数值变化了。

你可能感兴趣的:(struct,hook)