aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-09-22 12:02:03 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-09-22 12:03:00 -0300
commitb81cfb8e04b097e177c2c44492dff7114ffec6f8 (patch)
tree789c846413c6898a8e9c42106c5f1958fa1ce442
parentd575cbeec02e5b0c9e1691abdb98f527df507b0a (diff)
libdvbv5: document the Satellite delivery system descriptor
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--doxygen_libdvbv5.cfg1
-rw-r--r--lib/include/libdvbv5/desc_sat.h88
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

Privacy Policy