Re: DVB Include files

Christoph Hellwig (hch@infradead.org)
Wed, 25 Jun 2003 19:15:32 +0100


On Wed, Jun 25, 2003 at 08:09:51PM +0200, Marcus Metzler wrote:
> > If the structures change incompatibly you're fucked anyway. Better
>
> Not necessarily, e.g. changing
>
> #define AUDIO_SET_ATTRIBUTES _IOW('o', 17, audio_attributes_t)
> #define AUDIO_SET_KARAOKE _IOW('o', 18, audio_karaoke_t)
>
> to
>
> #define AUDIO_SET_ATTRIBUTES _IOW('o', 47, audio_attributes_t)
> #define AUDIO_SET_KARAOKE _IOW('o', 48, audio_karaoke_t)
>
> or

In that case yes, you are screwed. Your ABI just changed incompatibly.

> Anyway, even in user/include it should be under linux/dvb because
> that's just what it is Linux DVB. So the app has to include
> <linux/dvb/xxx.h>.

No! <linux/*.h> is the namesapce for kernelheaders. Currently they're
still in the the user includes, too (due to legacy reasons). The
DVD API must move to a directory outside <linux/dvb>.

If you userland packages add headers to /usr/include/linux/ they
are totally bogus.

> I don't care what distributions do. When I get a new kernel (no
> packages), I use the includes from that kernel and compile my apps
> with that.

And that's wrong. You must always compile against the kernel headers
that your libc was compiled against.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/