diff options
author | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-09-22 07:16:08 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-09-22 07:20:03 -0300 |
commit | a189970d081ce7dd76140f75fc520ac68cde0953 (patch) | |
tree | 81a10c38fa564ffc5eadcffbe2206539983109c9 | |
parent | 1d5148834fdb0fb2b766e18c4d26a82db20c34ff (diff) |
libdvbv5: Add documentation for CA descriptor
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r-- | doxygen_libdvbv5.cfg | 1 | ||||
-rw-r--r-- | lib/include/libdvbv5/desc_ca.h | 70 |
2 files changed, 68 insertions, 3 deletions
diff --git a/doxygen_libdvbv5.cfg b/doxygen_libdvbv5.cfg index aebfe04b..7af77c97 100644 --- a/doxygen_libdvbv5.cfg +++ b/doxygen_libdvbv5.cfg @@ -768,6 +768,7 @@ INPUT = $(SRCDIR)/doc/libdvbv5-index.doc \ $(SRCDIR)/lib/include/libdvbv5/mpeg_pes.h \ $(SRCDIR)/lib/include/libdvbv5/mpeg_ts.h \ $(SRCDIR)/lib/include/libdvbv5/desc_atsc_service_location.h \ + $(SRCDIR)/lib/include/libdvbv5/desc_ca.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_ca.h b/lib/include/libdvbv5/desc_ca.h index 21ae525b..653da0c2 100644 --- a/lib/include/libdvbv5/desc_ca.h +++ b/lib/include/libdvbv5/desc_ca.h @@ -19,11 +19,41 @@ * Described at ETSI EN 300 468 V1.11.1 (2010-04) */ +/** + * @file desc_ca.h + * @ingroup descriptors + * @brief Provides the descriptors for Conditional Access + * @copyright GNU General Public License version 2 (GPLv2) + * @author Andre Roth + * + * @par Relevant specs + * The descriptor described herein is defined at: + * - ETSI EN 300 468 V1.11.1 (2010-04) + * + * @see http://www.etherguidesystems.com/help/sdos/mpeg/semantics/mpeg-2/descriptors/CA_descriptor.aspx + * + * @par Bug Report + * Please submit bug reports and patches to linux-media@vger.kernel.org + */ + #ifndef _CA_H #define _CA_H #include <libdvbv5/descriptors.h> +/** + * @struct dvb_desc_ca + * @ingroup descriptors + * @brief Contains the private data for Conditional Access + * + * @param type descriptor tag + * @param length descriptor length + * @param next pointer to struct dvb_desc + * @param ca_id Conditional Access ID + * @param ca_pid Conditional Access ID + * @param privdata pointer to private data buffer + * @param privdata_len length of the private data + */ struct dvb_desc_ca { uint8_t type; uint8_t length; @@ -44,16 +74,50 @@ struct dvb_desc_ca { struct dvb_v5_fe_parms; +/** @brief initial descriptor field at dvb_desc_ca struct */ #define dvb_desc_ca_field_first ca_id +/** @brief last descriptor field at dvb_desc_ca struct */ #define dvb_desc_ca_field_last privdata #ifdef __cplusplus extern "C" { #endif -int dvb_desc_ca_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc); -void dvb_desc_ca_print(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc); -void dvb_desc_ca_free (struct dvb_desc *desc); +/** + * @brief Initializes and parses the CA 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 allocates a the descriptor and fills the fields inside + * the struct. It also makes sure that all fields will follow the CPU + * endianness. Due to that, the content of the buffer may change. + * + * @return On success, it returns the size of the allocated struct. + * A negative value indicates an error. + */ +int dvb_desc_ca_init(struct dvb_v5_fe_parms *parms, const uint8_t *buf, + struct dvb_desc *desc); + +/** + * @brief Prints the content of the CA 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_ca_print(struct dvb_v5_fe_parms *parms, + const struct dvb_desc *desc); + +/** + * @brief Frees all data allocated by the CA descriptor + * @ingroup descriptors + * + * @param desc pointer to struct dvb_desc to be freed + */ +void dvb_desc_ca_free(struct dvb_desc *desc); #ifdef __cplusplus } |