[linux-dvb] [PATCH] Multi protocol support (stage #1)
Johannes Stezenbach
js at linuxtv.org
Thu Apr 27 15:59:30 CEST 2006
On Thu, Apr 27, 2006, Manu Abraham wrote:
> Johannes Stezenbach wrote:
> >>+struct dvb_frontend_params {
> >>+ __u32 frequency;
> >>+ enum fe_delsys delivery;
> >>+ enum fe_inversion inversion;
> >>+
> >>+ union {
> >>+ struct dvbs_params dvbs;
> >>+ struct dvbs2_params dvbs2;
> >>+ struct dss_params dss;
> >>+ struct dvbc_params dvbc;
> >>+ struct dvbt_params dvbt;
> >>+ struct dvbh_params dvbh;
> >>+ struct atsc_params atsc;
> >>+ } delsys;
> >>
> >
> >The kernel now requires gcc-3.x, so you could use anonymous unions if
> >you want.
> >But you repeat the same mistake which we already made: No room
> >for future binary compitable extension :-(
>
> What's your thought on removing the size field in the IOCTL, so that the
> size won't be an issue ?
> That way it will be binary compatible. :-) Or any other thoughts you
> have ? We can retain the size for now, but we can remove it as and when
> need arises ..
- old binaries would have less memory allocated than the
kernel wants to read -> boom
- dvb_usercopy wouldn't work
It's far better to add "u8 pad[256];" to the union.
(or some other arbitrary number instead of 256)
Johannes
More information about the linux-dvb
mailing list