Re: DVB Include files

Marcus Metzler (mocm@metzlerbros.de)
Wed, 25 Jun 2003 20:09:51 +0200 (CEST)


Christoph Hellwig writes:
> On Wed, Jun 25, 2003 at 07:30:38PM +0200, Marcus Metzler wrote:
> > Well, then you are wrong. You need those headers for user space
> > applications and also for the kernel. The define the communication
> > structures. If you put them into /usr/include you always risk having
> > different versions of those structures.
>
> 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

typedef struct dvb_frontend_parameters {
uint32_t frequency; /* (absolute) frequency in Hz for QAM/OFDM */
/* intermediate frequency in kHz for QPSK */
fe_spectral_inversion_t inversion;
union {
struct dvb_qpsk_parameters qpsk;
struct dvb_qam_parameters qam;
struct dvb_ofdm_parameters ofdm;
} u;
} dvb_frontend_params_t;

to

wtypedef struct dvb_frontend_parameters {
uint32_t frequency; /* (absolute) frequency in Hz for QAM/OFDM */
/* intermediate frequency in kHz for QPSK */
fe_spectral_inversion_t inversion;
union {
struct dvb_qpsk_parameters qpsk;
struct dvb_qam_parameters qam;
struct dvb_ofdm_parameters ofdm;
struct dvb_xyz_parameters xyz;
} u;
} dvb_frontend_params_t;

won't change anything for user space apps. (We are only talking about
self compiled ones here anyway, otherwise you won't need the headers.)

> have a copy in /usr/include that you can upgrade without updating libc
> also, that way you can at least get the new structures / defines in time.
>
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>.
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. Distribution users won't compile anyway and if they do they
probably need to get a kernel.org kernel.

Marcus

-- 
/--------------------------------------------------------------------\
| Dr. Marcus O.C. Metzler        |                                   |
|--------------------------------|-----------------------------------|
| mocm@metzlerbros.de            | http://www.metzlerbros.de/        |
\--------------------------------------------------------------------/

- 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/