libdvbv5: lib/include/libdvbv5/dvb-fe.h File Reference

libdvbv5 1.32.0 Library to work with Digital TV devices on Linux

dvb-fe.h File Reference
Digital TV frontend control

Provides interfaces to deal with DVB frontend. More...

`#include <stdio.h>`
`#include <errno.h>`
`#include <stdint.h>`
`#include <stdlib.h>`
`#include <sys/types.h>`
`#include <sys/stat.h>`
`#include <fcntl.h>`
`#include <sys/ioctl.h>`
`#include <string.h>`
`#include "dvb-frontend.h"`
`#include "dvb-sat.h"`
`#include "dvb-log.h"`

Go to the source code of this file.

## Data Structures
struct | dvb_v5_fe_parms
| Keeps data needed to handle the DVB frontend. More...

## Macros
#define | ARRAY_SIZE(x)
| Calculates the number of elements of an array.
#define | MAX_DELIVERY_SYSTEMS
| Max number of delivery systems for a given frontend.

## 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.

## Detailed Description

Provides interfaces to deal with DVB frontend.

Copyright
  GNU Lesser General Public License version 2.1 (LGPLv2.1)

Author
  Mauro Carvalho Chehab

The libdvbv5 API works with a set of key/value properties. There are two types of properties:

- The ones defined at the Kernel's frontent API, that are found at /usr/include/linux/dvb/frontend.h (actually, it uses a local copy of that file, stored at ./include/linux/dvb/frontend.h)
- Some extra properties used by libdvbv5. Those can be found at lib/include/libdvbv5/dvb-v5-std.h and start at DTV_USER_COMMAND_START.

Just like the DTV properties, the stats are cached. That warrants that all stats are got at the same time, when dvb_fe_get_stats() is called.

Bug Report
  Please submit bug reports and patches to linux.nosp@m.-med.nosp@m.ia@vg.nosp@m.er.k.nosp@m.ernel.nosp@m..org

Definition in file dvb-fe.h.