file - Man Page

Channel and transponder file read/write

Synopsis

Files

file dvb-file.h
Provides interfaces to deal with DVB channel and program files.

Data Structures

struct dvb_elementary_pid
associates an elementary stream type with its PID
struct dvb_entry
Represents one entry on a DTV file.
struct dvb_parse_table
Describes the fields to parse on a file.
struct dvb_parse_struct
Describes the format to parse an specific delivery system.

Enumerations

enum dvb_file_formats { FILE_UNKNOWN, FILE_ZAP, FILE_CHANNEL, FILE_DVBV5, FILE_VDR }
Known file formats.

Functions

static void dvb_file_free (struct dvb_file *dvb_file)
Deallocates memory associated with a struct dvb_file.
struct dvb_file * dvb_read_file (const char *fname)
Read a file at libdvbv5 format.
int dvb_write_file (const char *fname, struct dvb_file *dvb_file)
Write a file at libdvbv5 format.
struct dvb_file * dvb_read_file_format (const char *fname, uint32_t delsys, enum dvb_file_formats format)
Read a file on any format natively supported by the library.
int dvb_write_file_format (const char *fname, struct dvb_file *dvb_file, uint32_t delsys, enum dvb_file_formats format)
Write a file on any format natively supported by the library.
int dvb_store_entry_prop (struct dvb_entry *entry, uint32_t cmd, uint32_t value)
Stores a key/value pair on a DVB file entry.
int dvb_retrieve_entry_prop (struct dvb_entry *entry, uint32_t cmd, uint32_t *value)
Retrieves the value associated witha key on a DVB file entry.
int dvb_store_channel (struct dvb_file **dvb_file, struct dvb_v5_fe_parms *parms, struct dvb_v5_descriptors *dvb_desc, int get_detected, int get_nit)
stored a new scanned channel into a dvb_file struct
int dvb_parse_delsys (const char *name)
Ancillary function that seeks for a delivery system.
enum dvb_file_formats dvb_parse_format (const char *name)
Ancillary function that parses the name of a file format.
struct dvb_file * dvb_parse_format_oneline (const char *fname, uint32_t delsys, const struct dvb_parse_file *parse_file)
Read and parses a one line file format.
int dvb_write_format_oneline (const char *fname, struct dvb_file *dvb_file, uint32_t delsys, const struct dvb_parse_file *parse_file)
Writes a file into an one line file format.
int dvb_write_format_vdr (const char *fname, struct dvb_file *dvb_file)
Writes a file into vdr format (compatible up to version 2.1)

Variables

const struct dvb_parse_file channel_file_format
File format definitions for dvb-apps channel format.
const struct dvb_parse_file channel_file_zap_format
File format definitions for dvb-apps zap format.

Detailed Description

Enumeration Type Documentation

enum dvb_file_formats

Known file formats. Please notice that the channel format defined here has a few optional fields that aren't part of the dvb-apps format, for DVB-S2 and for DVB-T2. They're there to match the formats found at dtv-scan-tables package up to September, 5 2014.

Enumerator

FILE_UNKNOWN

File format is unknown.

FILE_ZAP

File is at the dvb-apps 'dvbzap' format.

FILE_CHANNEL

File is at the dvb-apps output format for dvb-zap.

FILE_DVBV5

File is at libdvbv5 format.

FILE_VDR

File is at DVR format (as supported on version 2.1.6). Note: this is only supported as an output format.

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

Function Documentation

static void dvb_file_free (struct dvb_file * dvb_file) [inline], [static]

Deallocates memory associated with a struct dvb_file.

Parameters

dvb_file dvb_file struct to be deallocated

This function assumes that several functions were dynamically allocated by the library file functions.

Definition at line 255 of file dvb-file.h.

References dvb_entry::audio_pid, dvb_entry::channel, dvb_file::first_entry, dvb_entry::lnb, dvb_entry::location, dvb_entry::next, dvb_entry::other_el_pid, dvb_entry::vchannel, and dvb_entry::video_pid.

int dvb_parse_delsys (const char * name)

Ancillary function that seeks for a delivery system.

Parameters

name string containing the name of the Delivery System to seek

If the name is found, this function returns the DVBv5 property that corresponds to the string given. The function is case-insensitive, and it can check for alternate ways to write the name of a Delivery System. Currently, it supports: DVB-C, DVB-H, DVB-S, DVB-S2, DVB-T, DVB-T2, ISDB-C, ISDB-S, ISDB-T, ATSC-MH, DVBC/ANNEX_A, DVBC/ANNEX_B, DVBT, DSS, DVBS, DVBS2, DVBH, ISDBT, ISDBS, ISDBC, ATSC, ATSCMH, DTMB, CMMB, DAB, DVBT2, TURBO, DVBC/ANNEX_C. Please notice that this doesn't mean that all those standards are properly supported by the library.

Returns

Returns the Delivery System property number if success, -1 if error.

enum dvb_file_formats dvb_parse_format (const char * name)

Ancillary function that parses the name of a file format.

Parameters

name string containing the name of the format Current valid names are: ZAP, CHANNEL, VDR and DVBV5. The name is case-insensitive.

Returns

It returns FILE_ZAP, FILE_CHANNEL, FILE_VDR or FILE_DVBV5 if the name was translated. FILE_UNKNOWN otherwise.

struct dvb_file * dvb_parse_format_oneline (const char * fname, uint32_t delsys, const struct dvb_parse_file * parse_file)

Read and parses a one line file format.

Parameters

fname file name
delsys delivery system
parse_file pointer struct dvb_parse_file

Returns

It a pointer to struct dvb_file on success, NULL otherwise.

This function is called internally by dvb_read_file_format.

struct dvb_file * dvb_read_file (const char * fname)

Read a file at libdvbv5 format.

Parameters

fname file name

Returns

It returns a pointer to struct dvb_file describing the entries that were read from the file. If it fails, NULL is returned.

struct dvb_file * dvb_read_file_format (const char * fname, uint32_t delsys, enum dvb_file_formats format)

Read a file on any format natively supported by the library.

Parameters

fname file name
delsys Delivery system, as specified by enum fe_delivery_system
format Name of the format to be read

Returns

It returns a pointer to struct dvb_file describing the entries that were read from the file. If it fails, NULL is returned.

int dvb_retrieve_entry_prop (struct dvb_entry * entry, uint32_t cmd, uint32_t * value)

Retrieves the value associated witha key on a DVB file entry.

Parameters

entry entry to be used
cmd key for the property to be found. It be one of the DVBv5 properties, plus the libdvbv5 ones, as defined at dvb-v5-std.h
value pointer to store the value associated with the property.

This function seeks for a property with the name specified by cmd and fills value with its contents.

Returns

Returns 0 if success, or, -1 if the entry doesn't exist.

int dvb_store_channel (struct dvb_file ** dvb_file, struct dvb_v5_fe_parms * parms, struct dvb_v5_descriptors * dvb_desc, int get_detected, int get_nit)

stored a new scanned channel into a dvb_file struct

Parameters

dvb_file file struct to be filled
parms struct dvb_v5_fe_parms used by libdvbv5 frontend
dvb_desc struct dvb_desc as described at descriptors.h, filled with the descriptors associated with a DVB channel. those descriptors can be filled by calling one of the scan functions defined at dvb-sat.h.
get_detected if different than zero, uses the frontend parameters obtained from the device driver (such as modulation, FEC, etc)
get_nit if true, uses the parameters obtained from the MPEG-TS NIT table to add newly detected transponders.

This function should be used to store the services found on a scanned transponder. Initially, it copies the same parameters used to set the frontend, that came from a file where the Service ID and Elementary Stream PIDs are unknown. At tuning time, it is common to set the device to tune on auto-detection mode (e. g. using QAM/AUTO, for example, to autodetect the QAM modulation). The libdvbv5's logic will be to check the detected values. So, the modulation might, for example, have changed to QAM/256. In such case, if get_detected is 0, it will store QAM/AUTO at the struct. If get_detected is different than zero, it will store QAM/256. If get_nit is different than zero, and if the MPEG-TS has info about other physical channels/transponders, this function will add newer entries to dvb_file, for it to seek for new transponders. This is very useful especially for DVB-C, where all transponders belong to the same operator. Knowing one frequency is generally enough to get all DVB-C transponders.

Returns

Returns 0 if success, or, -1 if error.

int dvb_store_entry_prop (struct dvb_entry * entry, uint32_t cmd, uint32_t value)

Stores a key/value pair on a DVB file entry.

Parameters

entry entry to be filled
cmd key for the property to be used. It be one of the DVBv5 properties, plus the libdvbv5 ones, as defined at dvb-v5-std.h
value value for the property.

This function seeks for a property with the name specified by cmd and fills it with value. If the entry doesn't exist, it creates a new key.

Returns

Returns 0 if success, or, if the entry has already DTV_MAX_COMMAND properties, it returns -1.

int dvb_write_file (const char * fname, struct dvb_file * dvb_file)

Write a file at libdvbv5 format.

Parameters

fname file name
dvb_file contents of the file to be written

Returns

It returns zero if success, or a positive error number if it fails.

int dvb_write_file_format (const char * fname, struct dvb_file * dvb_file, uint32_t delsys, enum dvb_file_formats format)

Write a file on any format natively supported by the library.

Parameters

fname file name
dvb_file contents of the file to be written
delsys Delivery system, as specified by enum fe_delivery_system
format Name of the format to be read

Returns

It a pointer to struct dvb_file on success, NULL otherwise.

int dvb_write_format_oneline (const char * fname, struct dvb_file * dvb_file, uint32_t delsys, const struct dvb_parse_file * parse_file)

Writes a file into an one line file format.

Parameters

fname file name
dvb_file contents of the file to be written
delsys delivery system
parse_file pointer struct dvb_parse_file

Returns

It returns zero if success, or a positive error number if it fails.

This function is called internally by dvb_write_file_format.

int dvb_write_format_vdr (const char * fname, struct dvb_file * dvb_file)

Writes a file into vdr format (compatible up to version 2.1)

Parameters

fname file name
dvb_file contents of the file to be written

Returns

It returns zero if success, or a positive error number if it fails.

This function is called internally by dvb_write_file_format.

Variable Documentation

const struct dvb_parse_file channel_file_format [extern]

File format definitions for dvb-apps channel format.

const struct dvb_parse_file channel_file_zap_format [extern]

File format definitions for dvb-apps zap format.

Author

Generated automatically by Doxygen for libdvbv5 from the source code.

Referenced By

kernel(6).

Version 1.28.1 libdvbv5