From: Sam Ravnborg <sam@ravnborg.org>
To: Patrick McHardy <kaber@trash.net>
Cc: David Miller <davem@davemloft.net>,
greg@nest.cx, linux-kernel@vger.kernel.org,
netfilter-devel@vger.kernel.org
Subject: Re: include/linux/netfilter.h after make headers_install is incomplete
Date: Wed, 21 May 2008 12:04:43 +0200 [thread overview]
Message-ID: <20080521100443.GA7976@uranus.ravnborg.org> (raw)
In-Reply-To: <4833F1E7.5050700@trash.net>
On Wed, May 21, 2008 at 11:56:55AM +0200, Patrick McHardy wrote:
> David Miller wrote:
> >From: "Greg Steuck" <greg@nest.cx>
> >Date: Tue, 20 May 2008 11:44:56 -0700
> >
> >>I ran make headers_install in 2.6.25 tree and the installed netfilter.h is
> >>not complete. Namely, it declares
> >>union nf_inet_addr {
> >> __u32 all[4];
> >> __be32 ip;
> >> __be32 ip6[4];
> >>...
> >>}
> >>
> >>The __u32, __be32 types are declared in <linux/types.h> and the #include
> >>directive is removed by the installation process. This in turn makes some
> >>applications unbuildable against such an exported tree, e.g.
> >>
> >>busybox-1.10.1/networking/tcpudp.c:#include <linux/netfilter_ipv4.h>
> >>
> >>If I correctly understand the purpose of make headers_install, it is
> >>supposed to generate an API for applications. I could certainly
> >>make tcpudp.c include linux/types.h, but given that the application
> >>does not even use nf_inet_addr, this would be the wrong place for
> >>the fix.
>
> These types are used by countless header files. I don't know
> why types.h is stripped, I guess this question can be best
> answered by whoever maintains the header-install stuff (Sam?
> I don't know).
Everything inside
#ifdef __KERNEL__
...
#endif
are stripped.
>From netfilter.h:
#ifdef __KERNEL__
#include <linux/init.h>
#include <linux/types.h>
#include <linux/skbuff.h>
#include <linux/net.h>
#include <linux/netdevice.h>
#include <linux/if.h>
#include <linux/in.h>
#include <linux/in6.h>
#include <linux/wait.h>
#include <linux/list.h>
#include <net/net_namespace.h>
#endif
Include of types.h should be outside the #ifdef block.
Sam
next prev parent reply other threads:[~2008-05-21 10:04 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <a27c0c970805161521k332fba8cg808d52396b5cdce5@mail.gmail.com>
[not found] ` <a27c0c970805201139i38e12d15ue807fc0239b1c10e@mail.gmail.com>
2008-05-20 18:44 ` Fwd: include/linux/netfilter.h after make headers_install is incomplete Greg Steuck
2008-05-20 21:21 ` David Miller
2008-05-21 9:56 ` Patrick McHardy
2008-05-21 10:04 ` Sam Ravnborg [this message]
2008-05-21 10:31 ` Patrick McHardy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080521100443.GA7976@uranus.ravnborg.org \
--to=sam@ravnborg.org \
--cc=davem@davemloft.net \
--cc=greg@nest.cx \
--cc=kaber@trash.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox