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

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日

    悬赏问题

    • ¥20 access多表提取相同字段数据并合并
    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算
    • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
    • ¥20 有人知道这种图怎么画吗?
    • ¥15 pyqt6如何引用qrc文件加载里面的的资源
    • ¥15 安卓JNI项目使用lua上的问题
    • ¥20 RL+GNN解决人员排班问题时梯度消失
    • ¥60 要数控稳压电源测试数据
    • ¥15 能帮我写下这个编程吗