frontend man page

frontend — Digital TV frontend control

Files

file dvb-fe.h
Provides interfaces to deal with DVB frontend.
file dvb-v5-std.h
Provides libdvbv5 defined properties for the frontend.

Data Structures

struct dvb_v5_fe_parms
Keeps data needed to handle the DVB frontend.

Macros

#define MAX_DELIVERY_SYSTEMS
Max number of delivery systems for a given frontend.
#define DTV_USER_COMMAND_START
Start number for libdvbv5 user commands.
#define DTV_POLARIZATION
Satellite polarization (for Satellite delivery systems)
#define DTV_AUDIO_PID
Audio PID.
#define DTV_VIDEO_PID
Video PID.
#define DTV_SERVICE_ID
MPEG TS service ID.
#define DTV_CH_NAME
Digital TV service name.
#define DTV_VCHANNEL
Digital TV channel number.
#define DTV_SAT_NUMBER
Number of the satellite (used on multi-dish Satellite systems)
#define DTV_DISEQC_WAIT
Extra time needed to wait for DiSeqC to complete, in ms.
#define DTV_DISEQC_LNB
LNBf name.
#define DTV_FREQ_BPF
SCR/Unicable band-pass filter frequency in kHz.
#define DTV_PLS_CODE
DVB-T2 PLS code.
#define DTV_PLS_MODE
DVB-T2 PLS mode.
#define DTV_COUNTRY_CODE
Country variant of international delivery system standard.
#define DTV_MAX_USER_COMMAND
Last user command.
#define DTV_USER_NAME_SIZE
Number of user commands.
#define DTV_STAT_COMMAND_START
Start number for libdvbv5 statistics commands.
#define DTV_STATUS
Lock status of a DTV frontend.
#define DTV_BER
Bit Error Rate.
#define DTV_PER
Packet Error Rate.
#define DTV_QUALITY
A quality indicator that represents if a locked channel provides a good, OK or poor signal.
#define DTV_PRE_BER
Bit Error Rate before Viterbi.
#define DTV_MAX_STAT_COMMAND
Last statistics command.
#define DTV_STAT_NAME_SIZE
Number of statistics commands.
#define DTV_NUM_KERNEL_STATS
Number of statistics commands provided by the Kernel.
#define DTV_NUM_STATS_PROPS
Total number of statistics commands.

Enumerations

enum dvb_quality { DVB_QUAL_UNKNOWN, DVB_QUAL_POOR, DVB_QUAL_OK, DVB_QUAL_GOOD } Provides an estimation about the user's experience while watching to a given MPEG stream. "

Functions

struct dvb_v5_fe_parms * dvb_fe_dummy (void)
Allocates a dummy frontend structure.
struct dvb_v5_fe_parms * dvb_fe_open_flags (int adapter, int frontend, unsigned verbose, unsigned use_legacy_call, dvb_logfunc logfunc, int flags)
Opens a frontend and allocates a structure to work with.
struct dvb_v5_fe_parms * dvb_fe_open (int adapter, int frontend, unsigned verbose, unsigned use_legacy_call)
Opens a frontend and allocates a structure to work with.
struct dvb_v5_fe_parms * dvb_fe_open2 (int adapter, int frontend, unsigned verbose, unsigned use_legacy_call, dvb_logfunc logfunc)
Opens a frontend and allocates a structure to work with.
void dvb_fe_close (struct dvb_v5_fe_parms *parms)
Closes the frontend and frees allocated resources.
const char * dvb_cmd_name (int cmd)
Returns the string name associated with a DVBv5 command.
const char *const * dvb_attr_names (int cmd)
Returns an string array with the valid string values associated with a DVBv5 command.
int dvb_fe_retrieve_parm (const struct dvb_v5_fe_parms *parms, unsigned cmd, uint32_t *value)
Retrieves the value of a DVBv5/libdvbv5 property.
int dvb_fe_store_parm (struct dvb_v5_fe_parms *parms, unsigned cmd, uint32_t value)
Stores the value of a DVBv5/libdvbv5 property.
int dvb_set_sys (struct dvb_v5_fe_parms *parms, fe_delivery_system_t sys)
Sets the delivery system.
int dvb_add_parms_for_sys (struct dvb_v5_fe_parms *parms, fe_delivery_system_t sys)
Make dvb properties reflect the current standard.
int dvb_set_compat_delivery_system (struct dvb_v5_fe_parms *parms, uint32_t desired_system)
Sets the delivery system.
void dvb_fe_prt_parms (const struct dvb_v5_fe_parms *parms)
Prints all the properties at the cache.
int dvb_fe_set_parms (struct dvb_v5_fe_parms *parms)
Prints all the properties at the cache.
int dvb_fe_get_parms (struct dvb_v5_fe_parms *parms)
Prints all the properties at the cache.
struct dtv_stats * dvb_fe_retrieve_stats_layer (struct dvb_v5_fe_parms *parms, unsigned cmd, unsigned layer)
Retrieve the stats for a DTV layer from cache.
int dvb_fe_retrieve_stats (struct dvb_v5_fe_parms *parms, unsigned cmd, uint32_t *value)
Retrieve the stats for a DTV layer from cache.
int dvb_fe_get_stats (struct dvb_v5_fe_parms *parms)
Retrieve the stats from the Kernel.
float dvb_fe_retrieve_ber (struct dvb_v5_fe_parms *parms, unsigned layer, enum fecap_scale_params *scale)
Retrieve the BER stats from cache.
float dvb_fe_retrieve_per (struct dvb_v5_fe_parms *parms, unsigned layer)
Retrieve the PER stats from cache.
enum dvb_quality dvb_fe_retrieve_quality (struct dvb_v5_fe_parms *parms, unsigned layer)
Retrieve the quality stats from cache.
int dvb_fe_snprintf_eng (char *buf, int len, float val)
Ancillary function to sprintf on ENG format.
int dvb_fe_snprintf_stat (struct dvb_v5_fe_parms *parms, uint32_t cmd, char *display_name, int layer, char **buf, int *len, int *show_layer_name)
Ancillary function to sprintf on ENG format.
int dvb_fe_get_event (struct dvb_v5_fe_parms *parms)
Get both status statistics and dvb parameters.
int dvb_fe_sec_voltage (struct dvb_v5_fe_parms *parms, int on, int v18)
DVB ioctl wrapper for setting SEC voltage.
int dvb_fe_sec_tone (struct dvb_v5_fe_parms *parms, fe_sec_tone_mode_t tone)
DVB ioctl wrapper for setting SEC tone.
int dvb_fe_lnb_high_voltage (struct dvb_v5_fe_parms *parms, int on)
DVB ioctl wrapper for setting LNBf high voltage.
int dvb_fe_diseqc_burst (struct dvb_v5_fe_parms *parms, int mini_b)
DVB ioctl wrapper for setting SEC DiSeqC tone burst to select between satellite A or B.
int dvb_fe_diseqc_cmd (struct dvb_v5_fe_parms *parms, const unsigned len, const unsigned char *buf)
DVB ioctl wrapper for setting SEC DiSeqC command.
int dvb_fe_diseqc_reply (struct dvb_v5_fe_parms *parms, unsigned *len, char *buf, int timeout)
DVB ioctl wrapper for getting SEC DiSEqC reply.
int dvb_fe_is_satellite (uint32_t delivery_system)
DVB Ancillary routine to check if a given Delivery system is satellite.
int dvb_fe_set_default_country (struct dvb_v5_fe_parms *parms, const char *country)
Set default country variant of delivery systems like ISDB-T.

Macro Definition Documentation

#define DTV_AUDIO_PID

Audio PID.

Definition at line 112 of file dvb-v5-std.h.

#define DTV_BER

Bit Error Rate. This is a parameter that it is derivated from two counters at the Kernel side

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

Definition at line 201 of file dvb-v5-std.h.

#define DTV_CH_NAME

Digital TV service name.

Definition at line 114 of file dvb-v5-std.h.

#define DTV_COUNTRY_CODE

Country variant of international delivery system standard. in ISO 3166-1 two letter code.

Definition at line 122 of file dvb-v5-std.h.

#define DTV_DISEQC_LNB

LNBf name.

Definition at line 118 of file dvb-v5-std.h.

#define DTV_DISEQC_WAIT

Extra time needed to wait for DiSeqC to complete, in ms. The minimal wait time is 15 ms. The time here will be added to the minimal time.

Definition at line 117 of file dvb-v5-std.h.

#define DTV_FREQ_BPF

SCR/Unicable band-pass filter frequency in kHz.

Definition at line 119 of file dvb-v5-std.h.

#define DTV_MAX_STAT_COMMAND

Last statistics command.

Definition at line 206 of file dvb-v5-std.h.

#define DTV_MAX_USER_COMMAND

Last user command.

Definition at line 124 of file dvb-v5-std.h.

#define DTV_NUM_KERNEL_STATS

Number of statistics commands provided by the Kernel.

Definition at line 211 of file dvb-v5-std.h.

#define DTV_NUM_STATS_PROPS

Total number of statistics commands.

Definition at line 213 of file dvb-v5-std.h.

#define DTV_PER

Packet Error Rate. This is a parameter that it is derivated from two counters at the Kernel side

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

Definition at line 202 of file dvb-v5-std.h.

#define DTV_PLS_CODE

DVB-T2 PLS code. Not used internally. It is needed only for file conversion.

Definition at line 120 of file dvb-v5-std.h.

#define DTV_PLS_MODE

DVB-T2 PLS mode. Not used internally. It is needed only for file conversion.

Definition at line 121 of file dvb-v5-std.h.

#define DTV_POLARIZATION

Satellite polarization (for Satellite delivery systems)

Examples: dvbv5-scan.c.

Definition at line 110 of file dvb-v5-std.h.

#define DTV_PRE_BER

Bit Error Rate before Viterbi. This is the error rate before applying the Forward Error Correction. This is a parameter that it is derivated from two counters at the Kernel side.

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

Definition at line 204 of file dvb-v5-std.h.

#define DTV_QUALITY

A quality indicator that represents if a locked channel provides a good, OK or poor signal. This is estimated considering the error rates, signal strengh and/or S/N ratio of the carrier.

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

Definition at line 203 of file dvb-v5-std.h.

#define DTV_SAT_NUMBER

Number of the satellite (used on multi-dish Satellite systems)

Definition at line 116 of file dvb-v5-std.h.

#define DTV_SERVICE_ID

MPEG TS service ID.

Definition at line 113 of file dvb-v5-std.h.

#define DTV_STAT_COMMAND_START

Start number for libdvbv5 statistics commands.

Definition at line 198 of file dvb-v5-std.h.

#define DTV_STAT_NAME_SIZE

Number of statistics commands.

Definition at line 208 of file dvb-v5-std.h.

#define DTV_STATUS

Lock status of a DTV frontend. This actually comes from the Kernel, but it uses a separate ioctl.

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

Definition at line 200 of file dvb-v5-std.h.

#define DTV_USER_COMMAND_START

Start number for libdvbv5 user commands.

Definition at line 108 of file dvb-v5-std.h.

#define DTV_USER_NAME_SIZE

Number of user commands.

Definition at line 126 of file dvb-v5-std.h.

#define DTV_VCHANNEL

Digital TV channel number. May contain symbols

Definition at line 115 of file dvb-v5-std.h.

#define DTV_VIDEO_PID

Video PID.

Definition at line 111 of file dvb-v5-std.h.

#define MAX_DELIVERY_SYSTEMS

Max number of delivery systems for a given frontend.

Definition at line 72 of file dvb-fe.h.

Enumeration Type Documentation

enum dvb_quality

Provides an estimation about the user's experience while watching to a given MPEG stream.

Parameters:

DVB_QUAL_UNKNOWN Quality could not be estimated, as the Kernel driver doesn't provide enough statistics
DVB_QUAL_POOR The signal reception is poor. Signal loss or packets can be lost too frequently.
DVB_QUAL_OK The signal reception is ok. Eventual artifacts could be expected, but it should work.
DVB_QUAL_GOOD The signal is good, and not many errors are happening. The user should have a good experience watching the stream.

Enumerator

DVB_QUAL_UNKNOWN

DVB_QUAL_POOR

DVB_QUAL_OK

DVB_QUAL_GOOD

Definition at line 232 of file dvb-v5-std.h.

Function Documentation

int dvb_add_parms_for_sys (struct dvb_v5_fe_parms * parms, fe_delivery_system_t sys)

Make dvb properties reflect the current standard.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
sys delivery system to be selected

This function prepares the properties cache for a given delivery system.

It is automatically called by dvb_set_sys(), and should not be normally called, except when dvb_fe_dummy() is used.

Returns:

Return 0 if success, EINVAL otherwise.

const char* const* dvb_attr_names (int cmd)

Returns an string array with the valid string values associated with a DVBv5 command.

Parameters:

cmd DVBv5 or libdvbv5 property

Returns:

it returns a string array that corresponds to the names associated with the possible values for that property, when available. For example: dvb_cmd_name(DTV_CODE_RATE_HP) would return an array with the possible values for the code rates: { '1/2', '2/3', ... NULL }

Note:

The array always ends with NULL.

const char* dvb_cmd_name (int cmd)

Returns the string name associated with a DVBv5 command.

Parameters:

cmd DVBv5 or libdvbv5 property

This function gets an integer argument (cmd) and returns a string that corresponds to the name of that property.

Returns:

it returns a string that corresponds to the property name. For example: dvb_cmd_name(DTV_GUARD_INTERVAL) would return 'GUARD_INTERVAL' It also returns names for the properties used internally by libdvbv5.

void dvb_fe_close (struct dvb_v5_fe_parms * parms)

Closes the frontend and frees allocated resources.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

int dvb_fe_diseqc_burst (struct dvb_v5_fe_parms * parms, int mini_b)

DVB ioctl wrapper for setting SEC DiSeqC tone burst to select between satellite A or B.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
mini_b if different than zero, sends a 22 KHz tone burst to select satellite B. Otherwise, sends tone to select satellite A.

Valid only on certain DISEqC arrangements.

If dvb_v5_fe_parms::lnb is set, this is controlled automatically.

int dvb_fe_diseqc_cmd (struct dvb_v5_fe_parms * parms, const unsigned len, const unsigned char * buf)

DVB ioctl wrapper for setting SEC DiSeqC command.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
len size of the DiSEqC command
buf DiSEqC command to be sent

If dvb_v5_fe_parms::lnb is set, this is controlled automatically.

int dvb_fe_diseqc_reply (struct dvb_v5_fe_parms * parms, unsigned * len, char * buf, int timeout)

DVB ioctl wrapper for getting SEC DiSEqC reply.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
len size of the DiSEqC command
buf DiSEqC command to be sent
timeout maximum time to receive the command, in ms.

If dvb_v5_fe_parms::lnb is set, this is controlled automatically.

struct dvb_v5_fe_parms* dvb_fe_dummy (void)

Allocates a dummy frontend structure. This is useful for some applications that may want to just use the frontend structure internally, without associating it with a real hardware

Returns:

Returns a pointer to a dummy struct, or NULL if no memory.

int dvb_fe_get_event (struct dvb_v5_fe_parms * parms)

Get both status statistics and dvb parameters.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device

That's similar of calling both dvb_fe_get_parms() and dvb_fe_get_stats().

Returns:

It returns 0 if success or an errorno otherwise.

int dvb_fe_get_parms (struct dvb_v5_fe_parms * parms)

Prints all the properties at the cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device

Gets the properties from the DVB hardware. The values will only reflect what's set at the hardware if the frontend is locked.

Returns:

Return 0 if success, EINVAL otherwise.

Examples: dvb-fe-tool.c.

int dvb_fe_get_stats (struct dvb_v5_fe_parms * parms)

Retrieve the stats from the Kernel.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device

Updates the stats cache from the available stats at the Kernel.

Returns:

The returned value is 0 if success, EINVAL otherwise.

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

int dvb_fe_is_satellite (uint32_t delivery_system)

DVB Ancillary routine to check if a given Delivery system is satellite.

Parameters:

delivery_system delivery system to be selected

int dvb_fe_lnb_high_voltage (struct dvb_v5_fe_parms * parms, int on)

DVB ioctl wrapper for setting LNBf high voltage.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
on a value different than zero indicates to produce lightly higher voltages instead of 13/18V, in order to compensate for long cables.

struct dvb_v5_fe_parms* dvb_fe_open (int adapter, int frontend, unsigned verbose, unsigned use_legacy_call)

Opens a frontend and allocates a structure to work with.

Parameters:

adapter Number of the adapter to open
frontend Number of the frontend to open
verbose Verbosity level of the messages that will be printed
use_legacy_call Force to use the DVBv3 calls, instead of using the DVBv5 API

This function should be called before using any other function at the frontend library (or the other alternatives: dvb_fe_open2() or dvb_fe_dummy().

Returns:

Returns a pointer to an allocated data pointer or NULL on error.

Examples: dvbv5-scan.c, and dvbv5-zap.c.

struct dvb_v5_fe_parms* dvb_fe_open2 (int adapter, int frontend, unsigned verbose, unsigned use_legacy_call, dvb_logfunc logfunc)

Opens a frontend and allocates a structure to work with.

Parameters:

adapter Number of the adapter to open
frontend Number of the frontend to open
verbose Verbosity level of the messages that will be printed
use_legacy_call Force to use the DVBv3 calls, instead of using the DVBv5 API
logfunc Callback function to be called when a log event happens. Can either store the event into a file or to print it at the TUI/GUI.

This function should be called before using any other function at the frontend library (or the other alternatives: dvb_fe_open() or dvb_fe_dummy().

Returns:

Returns a pointer to an allocated data pointer or NULL on error.

struct dvb_v5_fe_parms* dvb_fe_open_flags (int adapter, int frontend, unsigned verbose, unsigned use_legacy_call, dvb_logfunc logfunc, int flags)

Opens a frontend and allocates a structure to work with.

Parameters:

adapter Number of the adapter to open
frontend Number of the frontend to open
verbose Verbosity level of the messages that will be printed
use_legacy_call Force to use the DVBv3 calls, instead of using the DVBv5 API
logfunc Callback function to be called when a log event happens. Can either store the event into a file or to print it at the TUI/GUI. If NULL, the library will use its internal handler.
flags Flags to be passed to open. Currently only two flags are supported: O_RDONLY or O_RDWR. Using O_NONBLOCK may hit unexpected issues.

Todo

Add/check support for O_NONBLOCK at the scan routines.

This function should be called before using any other function at the frontend library (or the other alternatives: dvb_fe_open() or dvb_fe_dummy().

In general, this is called using O_RDWR, except if all that it is wanted is to check the DVB frontend statistics.

Returns:

Returns a pointer to an allocated data pointer or NULL on error.

Examples: dvb-fe-tool.c.

void dvb_fe_prt_parms (const struct dvb_v5_fe_parms * parms)

Prints all the properties at the cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device

Used mostly for debugging issues.

Examples: dvb-fe-tool.c.

float dvb_fe_retrieve_ber (struct dvb_v5_fe_parms * parms, unsigned layer, enum fecap_scale_params * scale)

Retrieve the BER stats from cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
layer DTV layer
scale retrieves the scale

Gets the value for BER stats from stats cache, on a given layer. Layer 0 is always present. On DTV standards that doesn't have layers, it returns the same value as dvb_fe_retrieve_stats() for layer = 0.

For DTV standards with multiple layers, like ISDB, layer=1 is layer 'A', layer=2 is layer 'B' and layer=3 is layer 'C'. Please notice that not all frontends support per-layer stats. Also, the layer value is only valid if the layer exists at the original stream. Also, on such standards, layer 0 is typically a mean value of the layers, or a sum of events (if FE_SCALE_COUNTER).

For it to be valid, dvb_fe_get_stats() should be called first.

Returns:

It returns a float number for the BER value. If the statistics is not available for any reason, scale will be equal to FE_SCALE_NOT_AVAILABLE.

int dvb_fe_retrieve_parm (const struct dvb_v5_fe_parms * parms, unsigned cmd, uint32_t * value)

Retrieves the value of a DVBv5/libdvbv5 property.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
cmd DVBv5 or libdvbv5 property
value Pointer to an uint32_t where the value will be stored.

This reads the value of a property stored at the cache. Before using it, a dvb_fe_get_parms() is likely required.

Returns:

Return 0 if success, EINVAL otherwise.

Examples: dvbv5-zap.c.

float dvb_fe_retrieve_per (struct dvb_v5_fe_parms * parms, unsigned layer)

Retrieve the PER stats from cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
layer DTV layer

Gets the value for BER stats from stats cache, on a given layer. Layer 0 is always present. On DTV standards that doesn't have layers, it returns the same value as dvb_fe_retrieve_stats() for layer = 0.

For DTV standards with multiple layers, like ISDB, layer=1 is layer 'A', layer=2 is layer 'B' and layer=3 is layer 'C'. Please notice that not all frontends support per-layer stats. Also, the layer value is only valid if the layer exists at the original stream. Also, on such standards, layer 0 is typically a mean value of the layers, or a sum of events (if FE_SCALE_COUNTER).

For it to be valid, dvb_fe_get_stats() should be called first.

Returns:

A negative value indicates error.

enum dvb_quality dvb_fe_retrieve_quality (struct dvb_v5_fe_parms * parms, unsigned layer)

Retrieve the quality stats from cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
layer DTV layer

Gets a quality measure for a given layer. Layer 0 is always present. On DTV standards that doesn't have layers, it returns the same value as dvb_fe_retrieve_stats() for layer = 0.

For DTV standards with multiple layers, like ISDB, layer=1 is layer 'A', layer=2 is layer 'B' and layer=3 is layer 'C'. Please notice that not all frontends support per-layer stats. Also, the layer value is only valid if the layer exists at the original stream. Also, on such standards, layer 0 is typically a mean value of the layers, or a sum of events (if FE_SCALE_COUNTER).

For it to be valid, dvb_fe_get_stats() should be called first.

Returns:

returns an enum dvb_quantity, where DVB_QUAL_UNKNOWN means that the stat isnot available.

Examples: dvb-fe-tool.c.

int dvb_fe_retrieve_stats (struct dvb_v5_fe_parms * parms, unsigned cmd, uint32_t * value)

Retrieve the stats for a DTV layer from cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
cmd DVBv5 or libdvbv5 property
value DTV value pointer

Gets the value for one stats property for layer = 0.

For it to be valid, dvb_fe_get_stats() should be called first.

Returns:

The returned value is 0 if success, EINVAL otherwise.

Examples: dvbv5-scan.c, and dvbv5-zap.c.

struct dtv_stats* dvb_fe_retrieve_stats_layer (struct dvb_v5_fe_parms * parms, unsigned cmd, unsigned layer)

Retrieve the stats for a DTV layer from cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
cmd DVBv5 or libdvbv5 property
layer DTV layer

Gets the value for one stats cache, on a given layer. Layer 0 is always present. On DTV standards that doesn't have layers, it returns the same value as dvb_fe_retrieve_stats() for layer = 0.

For DTV standards with multiple layers, like ISDB, layer=1 is layer 'A', layer=2 is layer 'B' and layer=3 is layer 'C'. Please notice that not all frontends support per-layer stats. Also, the layer value is only valid if the layer exists at the original stream. Also, on such standards, layer 0 is typically a mean value of the layers, or a sum of events (if FE_SCALE_COUNTER).

For it to be valid, dvb_fe_get_stats() should be called first.

Returns:

It returns a struct dtv_stats if succeed or NULL otherwise.

int dvb_fe_sec_tone (struct dvb_v5_fe_parms * parms, fe_sec_tone_mode_t tone)

DVB ioctl wrapper for setting SEC tone.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
tone tone setting, as defined by DVB fe_sec_tone_mode_t type

If dvb_v5_fe_parms::lnb is set, this is controlled automatically.

int dvb_fe_sec_voltage (struct dvb_v5_fe_parms * parms, int on, int v18)

DVB ioctl wrapper for setting SEC voltage.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
on a value different than zero indicates to enable voltage on a Satellite Equipment Control (SEC)
v18 if on != 0, a value different than zero means 18 Volts; zero means 13 Volts.

If dvb_v5_fe_parms::lnb is set, this is controlled automatically.

int dvb_fe_set_default_country (struct dvb_v5_fe_parms * parms, const char * country)

Set default country variant of delivery systems like ISDB-T.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
country default country, in ISO 3166-1 two letter code. If NULL, default charset is guessed from locale environment variables.

Returns:

0 if success or an errorno otherwise.

'COUNTRY' property in dvb_fe_set_parm() overrides the setting.

Examples: dvbv5-scan.c, and dvbv5-zap.c.

int dvb_fe_set_parms (struct dvb_v5_fe_parms * parms)

Prints all the properties at the cache.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device

Writes the properties stored at the DVB cache at the DVB hardware. At return, some properties could have a different value, as the frontend may not support the values set.

Returns:

Return 0 if success, EINVAL otherwise.

Examples: dvbv5-zap.c.

int dvb_fe_snprintf_eng (char * buf, int len, float val)

Ancillary function to sprintf on ENG format.

Parameters:

buf buffer to store the value
len buffer length
val value to be printed

On ENG notation, the exponential value should be multiple of 3. This is good to display some values, like BER.

Returns:

At return, it shows the actual size of the print. A negative value indicates an error.

int dvb_fe_snprintf_stat (struct dvb_v5_fe_parms * parms, uint32_t cmd, char * display_name, int layer, char ** buf, int * len, int * show_layer_name)

Ancillary function to sprintf on ENG format.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
cmd DVBv5 or libdvbv5 property
display_name String with the name of the property to be shown
layer DTV Layer
buf buffer to store the value
len buffer length
show_layer_name a value different than zero shows the layer name, if the layer is bigger than zero.

This function calls internally dvb_fe_retrieve_stats_layer(). It allows to print a DVBv5 statistics value into a string. An extra property is available (DTV_QUALITY) with prints either one of the values: Poor, Ok or Good, depending on the overall measures.

Returns:

: It returns the length of the printed data. A negative value indicates an error.

Examples: dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

int dvb_fe_store_parm (struct dvb_v5_fe_parms * parms, unsigned cmd, uint32_t value)

Stores the value of a DVBv5/libdvbv5 property.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
cmd DVBv5 or libdvbv5 property
value Pointer to an uint32_t where the value will be stored.

This stores the value of a property at the cache. The value will only be send to the hardware after calling dvb_fe_set_parms().

Returns:

Return 0 if success, EINVAL otherwise.

Examples: dvbv5-zap.c.

int dvb_set_compat_delivery_system (struct dvb_v5_fe_parms * parms, uint32_t desired_system)

Sets the delivery system.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
desired_system delivery system to be selected

This function changes the delivery system of the frontend. By default, the libdvbv5 will use the first available delivery system. If another delivery system is desirable, this function should be called before being able to store the properties for the new delivery system via dvb_fe_store_parm().

This function is an enhanced version of dvb_set_sys(). It has an special logic inside to work with Kernels that supports only DVBv3.

Returns:

Return 0 if success, EINVAL otherwise.

Examples: dvbv5-zap.c.

int dvb_set_sys (struct dvb_v5_fe_parms * parms, fe_delivery_system_t sys)

Sets the delivery system.

Parameters:

parms struct dvb_v5_fe_parms pointer to the opened device
sys delivery system to be selected

This function changes the delivery system of the frontend. By default, the libdvbv5 will use the first available delivery system. If another delivery system is desirable, this function should be called before being able to store the properties for the new delivery system via dvb_fe_store_parm().

Returns:

Return 0 if success, EINVAL otherwise.

Examples: dvb-fe-tool.c.

Author

Generated automatically by Doxygen for libdvbv5 from the source code.

Info

Tue Mar 1 2016 Version 1.10.0 libdvbv5