diff options
-rw-r--r-- | doxygen_libdvbv5.cfg | 1 | ||||
-rw-r--r-- | lib/include/libdvbv5/desc_sat.h | 88 |
2 files changed, 86 insertions, 3 deletions
diff --git a/doxygen_libdvbv5.cfg b/doxygen_libdvbv5.cfg index 420f9480..119ade00 100644 --- a/doxygen_libdvbv5.cfg +++ b/doxygen_libdvbv5.cfg @@ -781,6 +781,7 @@ INPUT = $(SRCDIR)/doc/libdvbv5-index.doc \ $(SRCDIR)/lib/include/libdvbv5/desc_logical_channel.h \ $(SRCDIR)/lib/include/libdvbv5/desc_network_name.h \ $(SRCDIR)/lib/include/libdvbv5/desc_partial_reception.h \ + $(SRCDIR)/lib/include/libdvbv5/desc_sat.h \ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/lib/include/libdvbv5/desc_sat.h b/lib/include/libdvbv5/desc_sat.h index fb09b4da..73724420 100644 --- a/lib/include/libdvbv5/desc_sat.h +++ b/lib/include/libdvbv5/desc_sat.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2012 - Mauro Carvalho Chehab + * Copyright (c) 2011-2014 - Mauro Carvalho Chehab * Copyright (c) 2012 - Andre Roth <neolynx@gmail.com> * * This program is free software; you can redistribute it and/or @@ -19,11 +19,48 @@ * */ +/** + * @file desc_sat.h + * @ingroup descriptors + * @brief Provides the descriptors for the satellite delivery system descriptor + * @copyright GNU General Public License version 2 (GPLv2) + * @author Mauro Carvalho Chehab + * @author Andre Roth + * + * @par Relevant specs + * The descriptor described herein is defined at: + * - ETSI EN 300 468 V1.11.1 + * + * @par Bug Report + * Please submit bug reports and patches to linux-media@vger.kernel.org + */ + #ifndef _SAT_H #define _SAT_H #include <libdvbv5/descriptors.h> +/** + * @struct dvb_desc_sat + * @ingroup descriptors + * @brief Structure containing the satellite delivery system descriptor + * + * @param type descriptor tag + * @param length descriptor length + * @param next pointer to struct dvb_desc + * @param frequency frequency in kHz + * @param orbit orbital position in degrees (multiplied by 10) + * @param west_east west east flag. 0 = west, 1 = east + * @param polarization polarization. 0 = horizontal, 1 = vertical, + * 2 = left, 3 = right. + * @param roll_off roll off alpha factor. 0 = 0.35, 1 = 0.25, + * 2 = 0.20, 3 = reserved. + * @param modulation_system modulation system. 0 = DVB-S, 1 = DVB-S2. + * @param modulation_type modulation type. 0 = auto, 1 = QPSK, 2 = 8PSK, + * 3 = 16-QAM (only for DVB-S2). + * @param symbol_rate symbol rate in Kbauds. + * @param fec inner FEC (convolutional code) + */ struct dvb_desc_sat { uint8_t type; uint8_t length; @@ -51,12 +88,57 @@ struct dvb_v5_fe_parms; extern "C" { #endif -int dvb_desc_sat_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc); -void dvb_desc_sat_print(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc); +/** + * @brief Initializes and parses the satellite delivery system descriptor + * @ingroup descriptors + * + * @param parms struct dvb_v5_fe_parms pointer to the opened device + * @param buf buffer containing the descriptor's raw data + * @param desc pointer to struct dvb_desc to be allocated and filled + * + * This function initializes and makes sure that all fields will follow the CPU + * endianness. Due to that, the content of the buffer may change. + * + * Currently, no memory is allocated internally. + * + * @return On success, it returns the size of the allocated struct. + * A negative value indicates an error. + */ +int dvb_desc_sat_init(struct dvb_v5_fe_parms *parms, + const uint8_t *buf, struct dvb_desc *desc); +/** + * @brief Prints the content of the satellite delivery system descriptor + * @ingroup descriptors + * + * @param parms struct dvb_v5_fe_parms pointer to the opened device + * @param desc pointer to struct dvb_desc + */ +void dvb_desc_sat_print(struct dvb_v5_fe_parms *parms, + const struct dvb_desc *desc); + +/** + * @brief converts from the descriptor's FEC into enum fe_code_rate, + * as defined by DVBv5 API. + */ extern const unsigned dvbs_dvbc_dvbs_freq_inner[]; + +/** + * @brief converts from the descriptor's polarization into + * enum dvb_sat_polarization, as defined at dvb-v5-std.h. + */ extern const unsigned dvbs_polarization[]; + +/** + * @brief converts from the descriptor's rolloff into enum fe_rolloff, + * as defined by DVBv5 API. + */ extern const unsigned dvbs_rolloff[]; + +/** + * @brief converts from the descriptor's modulation into enum fe_modulation, + * as defined by DVBv5 API. + */ extern const unsigned dvbs_modulation[]; #ifdef __cplusplus |