libdvbv5 1.26.1
Library to work with Digital TV devices on Linux
dvb-dev.h File Reference

Provides interfaces to handle Digital TV devices. More...

#include "dvb-fe.h"
#include "dvb-scan.h"
#include <linux/dvb/dmx.h>

Go to the source code of this file.

Data Structures

struct  dvb_dev_list
 Digital TV device node properties. More...
 
struct  dvb_device
 Digital TV list of devices. More...
 

Typedefs

typedef int(* dvb_dev_change_t) (char *sysname, enum dvb_dev_change_type type, void *priv)
 Describes a callback for dvb_dev_find()
 

Enumerations

enum  dvb_dev_type {
  DVB_DEVICE_FRONTEND , DVB_DEVICE_DEMUX , DVB_DEVICE_DVR , DVB_DEVICE_NET ,
  DVB_DEVICE_CA , DVB_DEVICE_CA_SEC , DVB_DEVICE_VIDEO , DVB_DEVICE_AUDIO
}
 
enum  dvb_dev_change_type { DVB_DEV_ADD , DVB_DEV_CHANGE , DVB_DEV_REMOVE }
 Describes the type of change to be notifier_delay. More...
 

Functions

struct dvb_devicedvb_dev_alloc (void)
 Allocate a struct dvb_device.
 
void dvb_dev_free (struct dvb_device *dvb)
 free a struct dvb_device
 
int dvb_dev_find (struct dvb_device *dvb, dvb_dev_change_t handler, void *user_priv)
 finds all DVB devices on the local machine
 
struct dvb_dev_listdvb_dev_seek_by_adapter (struct dvb_device *dvb, unsigned int adapter, unsigned int num, enum dvb_dev_type type)
 Find a device that matches the search criteria given by this functions's parameters.
 
struct dvb_dev_listdvb_get_dev_info (struct dvb_device *dvb, const char *sysname)
 Return data about a device from its sysname.
 
void dvb_dev_stop_monitor (struct dvb_device *dvb)
 Stop the dvb_dev_find loop.
 
void dvb_dev_set_logpriv (struct dvb_device *dvb, unsigned verbose, dvb_logfunc_priv logfunc, void *logpriv)
 Sets the DVB verbosity and log function with context private data.
 
void dvb_dev_set_log (struct dvb_device *dvb, unsigned verbose, dvb_logfunc logfunc)
 Sets the DVB verbosity and log function.
 
struct dvb_open_descriptordvb_dev_open (struct dvb_device *dvb, const char *sysname, int flags)
 Opens a dvb device.
 
void dvb_dev_close (struct dvb_open_descriptor *open_dev)
 Closes a dvb device.
 
int dvb_dev_get_fd (struct dvb_open_descriptor *open_dev)
 returns fd from a local device This will not work for remote devices.
 
ssize_t dvb_dev_read (struct dvb_open_descriptor *open_dev, void *buf, size_t count)
 read from a dvb demux or dvr file
 
void dvb_dev_dmx_stop (struct dvb_open_descriptor *open_dev)
 Stops the demux filter for a given file descriptor.
 
int dvb_dev_set_bufsize (struct dvb_open_descriptor *open_dev, int buffersize)
 Start a demux or dvr buffer size.
 
int dvb_dev_dmx_set_pesfilter (struct dvb_open_descriptor *open_dev, int pid, dmx_pes_type_t type, dmx_output_t output, int buffersize)
 Start a filter for a MPEG-TS Packetized Elementary Stream (PES)
 
int dvb_dev_dmx_set_section_filter (struct dvb_open_descriptor *open_dev, int pid, unsigned filtsize, unsigned char *filter, unsigned char *mask, unsigned char *mode, unsigned int flags)
 Sets a MPEG-TS section filter.
 
int dvb_dev_dmx_get_pmt_pid (struct dvb_open_descriptor *open_dev, int sid)
 read the contents of the MPEG-TS PAT table, seeking for an specific service ID
 
struct dvb_v5_descriptorsdvb_dev_scan (struct dvb_open_descriptor *open_dev, struct dvb_entry *entry, check_frontend_t *check_frontend, void *args, unsigned other_nit, unsigned timeout_multiply)
 Scans a DVB dvb_add_scaned_transponder.
 
static int dvb_dev_remote_init (struct dvb_device *d, char *server, int port)
 

Detailed Description

Provides interfaces to handle Digital TV devices.

Author
Mauro Carvalho Chehab

Digital TV device node file names depend on udev configuration. For example, while frontends are typically found at/dev/dvb/adapter?/frontend?, the actual file name can vary from system to system, depending on the udev ruleset.

The libdvbv5 provides a set of functions to allow detecting and getting the device paths in a sane way, via libudev.

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-dev.h.

Typedef Documentation

◆ dvb_dev_change_t

typedef int(* dvb_dev_change_t) (char *sysname, enum dvb_dev_change_type type, void *priv)

Describes a callback for dvb_dev_find()

sysname: Kernel's system name for the device (dvb?.frontend?, for example) type: type of change, as defined by enum dvb_dev_change_type

Note
: the returned string should be freed with free().

Definition at line 121 of file dvb-dev.h.

Enumeration Type Documentation

◆ dvb_dev_change_type

Describes the type of change to be notifier_delay.

Parameters
DVB_DEV_ADDNew device detected
DVB_DEV_CHANGEDevice has changed something
DVB_DEV_REMOVEA hot-pluggable device was removed
Enumerator
DVB_DEV_ADD 
DVB_DEV_CHANGE 
DVB_DEV_REMOVE 

Definition at line 106 of file dvb-dev.h.

◆ dvb_dev_type

Enumerator
DVB_DEVICE_FRONTEND 
DVB_DEVICE_DEMUX 
DVB_DEVICE_DVR 
DVB_DEVICE_NET 
DVB_DEVICE_CA 
DVB_DEVICE_CA_SEC 
DVB_DEVICE_VIDEO 
DVB_DEVICE_AUDIO 

Definition at line 58 of file dvb-dev.h.

Function Documentation

◆ dvb_dev_remote_init()

static int dvb_dev_remote_init ( struct dvb_device d,
char *  server,
int  port 
)
inlinestatic
Examples
dvb-fe-tool.c, and dvbv5-zap.c.

Definition at line 498 of file dvb-dev.h.

◆ dvb_dev_seek_by_adapter()

struct dvb_dev_list * dvb_dev_seek_by_adapter ( struct dvb_device dvb,
unsigned int  adapter,
unsigned int  num,
enum dvb_dev_type  type 
)

Find a device that matches the search criteria given by this functions's parameters.

Parameters
dvbpointer to struct dvb_device to be used
adapterAdapter number, as defined internally at the Kernel. Always start with 0;
numDigital TV device number (e. g. frontend0, net0, etc);
typeType of the device, as given by enum dvb_dev_type;
Returns
returns a pointer to a struct dvb_dev_list object or NULL if the desired device was not found.
Examples
dvb-fe-tool.c, dvbv5-scan.c, and dvbv5-zap.c.

◆ dvb_get_dev_info()

struct dvb_dev_list * dvb_get_dev_info ( struct dvb_device dvb,
const char *  sysname 
)

Return data about a device from its sysname.

Parameters
dvbpointer to struct dvb_device to be used
sysnameKernel's name of the device to be opened, as obtained via dvb_dev_seek_by_adapter() or via dvb_dev_find().
Returns
returns a pointer to a struct dvb_dev_list object or NULL if the desired device was not found.