On Sun, 7 May 2006, Manu Abraham wrote: > But any way here is what you said .. > > Trent Piepho wrote: > > On Sat, 22 Apr 2006, Manu Abraham wrote: > >> After some rework landed up with a patch like this. > > > I don't get it, what is 'modcod'? There is one field named modcod, > > (dvb_frontend_params).sat.modcod, that's only for DVB-S. Do you mean > > (dvb_frontend_params).caps.delivery? So if you set .caps.delivery=0 then > > you get the union of "all the available modulation and coding types" inside > > .caps.modulation? That doesn't make sense either. But that is older! FE_DELSYS_QUERY went away between ver 2 and ver 3, that comment was about ver 1. Anyway, look at what was in that version: +/** + * Case #1 + * If we make a call FE_GET_PARAMS with modcod=0x00 + * and do a FE_GET_PARAMS, it will simply return + * all the available modulation and coding types used. + * + * Case #2 + * calling FE_GET_PARAMS with the corresponding + * MODCOD type will return the parameters + * available for the corresponding MODCOD + */ +#define FE_GET_PARAMS _IOWR('o', 82, struct dvb_frontend_params) In case #1 you say, "with modcod=0x00". Here is the defintion of struct dvb_frontend_params: struct dvb_frontend_params { __u32 frequency; fe_spectral_inversion_t inversion; struct fe_cap caps; union { struct sat_params sat; struct cab_params cab; struct ter_params ter; } delsys; } What is the field named modcod that should be set to zero? I don't see anything called modcod here. That is what I was asking. You wrote, "it will simply return all the available modulation and coding types used." I was asking what this meant. I still can't figure out what you meant! What would the kernel side code look like? xxx_get_params(struct dvb_frontend_params *p) { /* Case #1 */ if(p->????modcod???? == 0) { sat_modcod_t s = MOD_QPSK_1_4|MOD_QPSK_1_3|MOD_QPSK_2_5|...; cab_modcod_t c = MOD_QAM_64|MOD_QAM_256; ter_modcod_t t = MOD_COFDM; atsc_modcode_t a = MOD_VSB8; p->caps.modulation.sat = s | c | t | a; p->caps.delivery = FE_DELSYS_DVB_S|FE_DELSYS_DVB_C| FE_DELSYS_DVB_T|FE_DELSYS_ATSC; return 0; } /* Case #2 */ } Surely, this isn't what you meant!? How can you possible return all the available modulation and coding types at the same time, when they are in a union? _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb