On Wed, Feb 22, 2006, Marcel Siegert wrote: > once again same topic. > after short discussion with felix domke on irc, > we found that the attached solution is more suitable. > added the FE_SET_MODE ioctl that is needed to differ between DVB-S and DVB-S2 tuning modes > as on DVB-S2 frontends both modes are supported. > this ioctl is ONLY needed that we can use the same dvb_frontend_parameters struct, > also extended for the dvbs2_params but with backwards compatibility. > on normal "old" frontends (DVB-S/C/T/ATSC) the FE_SET_MODE ioctl is not needed, > because these frontend drivers do know about the actual size they will receive/send via the > FE_SET_FRONTEND/FE_GET_FRONTEND ioctl's. > so backwards compatibility is kept. only an application that has dvb-s2 support will > have to use the FE_SET_MODE ioctl explicit to tell the driver what type it should be. I'd actually prefer an extended definition of struct dvb_frontend_parameters with room for more parameters (e.g. to query DVB-T cell ids etc.), plus some padding to allow for future extensions. FE_SET_FRONTEND would be redefined to use the new struct, however it must be source code compatible (i.e. no changes to apps necessary, they should continue to work with identical capabilites if compiled against the new frontend.h). Binary compatibility can be retained by adding *_OLD cruft, see dvb/net.h for an example. What do you think? Johannes _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb