RobinWitch 2021-10-30 16:39 采纳率: 40%
浏览 13
已结题

linux网络编程关于nf_hookfn的形参问题

在阅读源码时尝试了解nf_hookfn函数,但是却发现不一样的原型定义,
第一种

unsigned int nf_hookfn(void *priv,  
        struct sk_buff *skb,  
            const struct nf_hook_state *state); 

第二种

typedef unsigned int nf_hookfn(const struct nf_hook_ops *ops,
                   struct sk_buff *skb,
                   const struct net_device *in,
                   const struct net_device *out,
#ifndef __GENKSYMS__
                   const struct nf_hook_state *state
#else
                   int (*okfn)(struct sk_buff *)
#endif
                   );

在linux系统中能找到第二种的代码,第一种却找不到,但用第一种写的程序可以运行,请问下为什么第一种和第二种形参都不对应,为什么用第一种写的程序可以运行?这两种定义方式有啥区别?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月7日
    • 创建了问题 10月30日