[linux-dvb] DVB API update

Manu Abraham abraham.manu at gmail.com
Mon Sep 17 16:24:54 CEST 2007


Wolfgang Wegner wrote:
> On Mon, Sep 17, 2007 at 03:38:12PM +0400, Manu Abraham wrote:
>> Right.
>>
>> Do you think we can generalize it to a DUMMY frontend where some fields
>> are just queried ?
>>
>> If so it would be a matter of just defining a "dummy name" for the
>> general category of headless devices where some statistics can be
>> queried. Or do you think it would be right to have it called as DVB-ASI
>> frontend itself ?
>>
>> (In my thoughts it would be incorrect probably to call it DVB-ASI, since
>> DVB-ASI doesn't get specified as a delivery system as defined by a
>> frontend, but just as a transport method only)
>>
>> But in that case each of those headless devices will need to have a
>> specific name. Though not too many headless devices come to my mind though.
> 
> Right, at the moment I can only think of the parallel (LVDS) interface
> and ASI, where the ASI "frontend" might have some more capabilities due
> to the encapsulation.
> 
> Apart from that, i am totally fine with the dummy approach. And, as you
> mentioned, it is more in-line with the delivery system definition.

Ok, something like this would help ?

Regards,
Manu

/*
 * Capability bit field for DVB-ASI
 * References:
 * Cenelec EN 50083-9
 */
enum dvbfe_dvbasi_transmission {
	DVBFE_DVBASI_SERIAL	= (1 << 31),
	DVBFE_DVBASI_PARALLEL	= (1 << 30)
};

struct dvbfe_dvbasi_info {
	enum dvbfe_asi_transmission		transmission;

	__u8					pad[32];
};

/* DVB Frontend related Information	*/
struct dvbfe_info {
	char				name[128];

	/* For Multi Standard tuners, set "delivery"
	 * to the relevant delivery system to retrieve the
	 * relevant delivery system related information.
	 */
	enum dvbfe_delsys		delivery;

	union {
		struct dvbfe_dvbs_info		dvbs;
		struct dvbfe_dss_info		dss;
		struct dvbfe_dvbs2_info		dvbs2;
		struct dvbfe_dvbc_info		dvbc;
		struct dvbfe_dvbt_info		dvbt;
		struct dvbfe_dvbh_info		dvbh;
		struct dvbfe_atsc_info		atsc;
		struct dvbfe_dvbasi_info	asi;

		__u8				pad[128];
	} delsys;

	__u32				frequency_min;
	__u32				frequency_max;
	__u32				frequency_step;
	__u32				frequency_tolerance;
	__u32				symbol_rate_min;
	__u32				symbol_rate_max;
	__u32				symbol_rate_tolerance;

	enum fe_spectral_inversion	inversion;

	__u8				pad[128];
};
#define DVBFE_GET_INFO			_IOWR('o', 85, struct dvbfe_info)




More information about the linux-dvb mailing list