联合体nf_inet_addr是在linux/netfilter.h下定义的吗?

zhangqiu1989 2012-11-12 06:58:02
今天老大让我把项目编译一下,运行试试,但是一直遇到问题,就是union nf_inet_addr定义的变量都在编译期间报错:

.../net1/ip_vs.h:58: error: field 'saddr' has incomplete type

我看包含的头文件中有注释

#include <linux/netfilter.h> /*for union nf_inet_addr */

但是我在/usr/src/include/netfilter.h 以及这个文件夹里用grep怎么也找不到这个联合体的定义。

请各位大大们给我指明一下方向谢谢啦,只有20分可以散了~~
...全文
517 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangqiu1989 2012-11-14
  • 打赏
  • 举报
回复
好的,谢谢啦~
zhangqiu1989 2012-11-13
  • 打赏
  • 举报
回复
但是在我的centOS 5 里面的头文件netfilter.h 里面没有这个联合体的定义啊?也不知道什么情况。我的kernel是2.6.18版本的
wintree 2012-11-13
  • 打赏
  • 举报
回复
找不到,看看具体的位置在哪里!!!!到官网看看这个文件在哪里,看看的版本,version
qq120848369 2012-11-13
  • 打赏
  • 举报
回复
用你版本的manpage自己查一下就知道了。
samqsu_amba 2012-11-13
  • 打赏
  • 举报
回复
引用 3 楼 zhangqiu1989 的回复:
但是在我的centOS 5 里面的头文件netfilter.h 里面没有这个联合体的定义啊?也不知道什么情况。我的kernel是2.6.18版本的
那你的版本低了点,2.6.36就有这个定义了。
samqsu_amba 2012-11-12
  • 打赏
  • 举报
回复
include\linux\Netfilter.h union nf_inet_addr { __u32 all[4]; __be32 ip; __be32 ip6[4]; struct in_addr in; struct in6_addr in6; };
armsword 2012-11-12
  • 打赏
  • 举报
回复
这个好像是Linux内核里面的吧。 在ipv4里面定义的。 windows下没见过。

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧