SYNOPSIS
struct dvb_frontend_ops {
struct dvb_frontend_info info;
u8 delsys[MAX_DELSYS];
void (* release) (struct dvb_frontend* fe);
void (* release_sec) (struct dvb_frontend* fe);
int (* init) (struct dvb_frontend* fe);
int (* sleep) (struct dvb_frontend* fe);
int (* write) (struct dvb_frontend* fe, const u8 buf[], int len);
int (* tune) (struct dvb_frontend* fe,bool re_tune,unsigned int mode_flags,unsigned int *delay,enum fe_status *status);
enum dvbfe_algo (* get_frontend_algo) (struct dvb_frontend *fe);
int (* set_frontend) (struct dvb_frontend *fe);
int (* get_tune_settings) (struct dvb_frontend* fe, struct dvb_frontend_tune_settings* settings);
int (* get_frontend) (struct dvb_frontend *fe,struct dtv_frontend_properties *props);
int (* read_status) (struct dvb_frontend *fe, enum fe_status *status);
int (* read_ber) (struct dvb_frontend* fe, u32* ber);
int (* read_signal_strength) (struct dvb_frontend* fe, u16* strength);
int (* read_snr) (struct dvb_frontend* fe, u16* snr);
int (* read_ucblocks) (struct dvb_frontend* fe, u32* ucblocks);
int (* diseqc_reset_overload) (struct dvb_frontend* fe);
int (* diseqc_send_master_cmd) (struct dvb_frontend* fe, struct dvb_diseqc_master_cmd* cmd);
int (* diseqc_recv_slave_reply) (struct dvb_frontend* fe, struct dvb_diseqc_slave_reply* reply);
int (* diseqc_send_burst) (struct dvb_frontend *fe,enum fe_sec_mini_cmd minicmd);
int (* set_tone) (struct dvb_frontend *fe, enum fe_sec_tone_mode tone);
int (* set_voltage) (struct dvb_frontend *fe,enum fe_sec_voltage voltage);
int (* enable_high_lnb_voltage) (struct dvb_frontend* fe, long arg);
int (* dishnetwork_send_legacy_command) (struct dvb_frontend* fe, unsigned long cmd);
int (* i2c_gate_ctrl) (struct dvb_frontend* fe, int enable);
int (* ts_bus_ctrl) (struct dvb_frontend* fe, int acquire);
int (* set_lna) (struct dvb_frontend *);
enum dvbfe_search (* search) (struct dvb_frontend *fe);
struct dvb_tuner_ops tuner_ops;
struct analog_demod_ops analog_ops;
int (* set_property) (struct dvb_frontend* fe, struct dtv_property* tvp);
int (* get_property) (struct dvb_frontend* fe, struct dtv_property* tvp);
};
MEMBERS
info
- embedded struct dvb_tuner_info with tuner properties
delsys[MAX_DELSYS]
- Delivery systems supported by the frontend
release
- callback function called when frontend is dettached. drivers should free any allocated memory.
release_sec
- callback function requesting that the Satelite Equipment Control (SEC) driver to release and free any memory allocated by the driver.
init
- callback function used to initialize the tuner device.
sleep
- callback function used to put the tuner to sleep.
write
- callback function used by some demod legacy drivers to allow other drivers to write data into their registers. Should not be used on new drivers.
tune
- callback function used by demod drivers that use DVBFE_ALGO_HW; to tune into a frequency.
get_frontend_algo
- returns the desired hardware algorithm.
set_frontend
- callback function used to inform the demod to set the parameters for demodulating a digital TV channel. The properties to be used are stored at dvb_frontend.dtv_property_cache;. The demod can change the parameters to reflect the changes needed for the channel to be decoded, and update statistics.
get_tune_settings
- callback function
get_frontend
- callback function used to inform the parameters actuall in use. The properties to be used are stored at dvb_frontend.dtv_property_cache; and update statistics. Please notice that it should not return an error code if the statistics are not available because the demog is not locked.
read_status
- returns the locking status of the frontend.
read_ber
- legacy callback function to return the bit error rate. Newer drivers should provide such info via DVBv5 API, e. g. set_frontend;/get_frontend;, implementing this callback only if DVBv3 API compatibility is wanted.
read_signal_strength
- legacy callback function to return the signal strength. Newer drivers should provide such info via DVBv5 API, e. g. set_frontend;/get_frontend;, implementing this callback only if DVBv3 API compatibility is wanted.
read_snr
- legacy callback function to return the Signal/Noise rate. Newer drivers should provide such info via DVBv5 API, e. g. set_frontend;/get_frontend;, implementing this callback only if DVBv3 API compatibility is wanted.
read_ucblocks
- legacy callback function to return the Uncorrected Error Blocks. Newer drivers should provide such info via DVBv5 API, e. g. set_frontend;/get_frontend;, implementing this callback only if DVBv3 API compatibility is wanted.
diseqc_reset_overload
- callback function to implement the FE_DISEQC_RESET_OVERLOAD ioctl (only Satellite)
diseqc_send_master_cmd
- callback function to implement the FE_DISEQC_SEND_MASTER_CMD ioctl (only Satellite).
diseqc_recv_slave_reply
- callback function to implement the FE_DISEQC_RECV_SLAVE_REPLY ioctl (only Satellite)
diseqc_send_burst
- callback function to implement the FE_DISEQC_SEND_BURST ioctl (only Satellite).
set_tone
- callback function to implement the FE_SET_TONE ioctl (only Satellite).
set_voltage
- callback function to implement the FE_SET_VOLTAGE ioctl (only Satellite).
enable_high_lnb_voltage
- callback function to implement the FE_ENABLE_HIGH_LNB_VOLTAGE ioctl (only Satellite).
dishnetwork_send_legacy_command
- callback function to implement the FE_DISHNETWORK_SEND_LEGACY_CMD ioctl (only Satellite). Drivers should not use this, except when the DVB core emulation fails to provide proper support (e.g. if set_voltage takes more than 8ms to work), and when backward compatibility with this legacy API is required.
i2c_gate_ctrl
- controls the I2C gate. Newer drivers should use I2C mux support instead.
ts_bus_ctrl
- callback function used to take control of the TS bus.
set_lna
- callback function to power on/off/auto the LNA.
search
- callback function used on some custom algo search algos.
tuner_ops
- pointer to struct dvb_tuner_ops
analog_ops
- pointer to struct analog_demod_ops
set_property
- callback function to allow the frontend to validade incoming properties. Should not be used on new drivers.
get_property
- callback function to allow the frontend to override outcoming properties. Should not be used on new drivers.
COPYRIGHT