diff options
author | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-09-22 07:29:11 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-09-22 07:29:11 -0300 |
commit | 04599a8eb60276e24f94ba4ce97ed9580e292b03 (patch) | |
tree | 4edb23277d60ebdaaf38695bcd174c81935cd2f4 | |
parent | a189970d081ce7dd76140f75fc520ac68cde0953 (diff) |
libdvbv5: Add documentation for CA identifier 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_identifier.h | 70 |
2 files changed, 68 insertions, 3 deletions
diff --git a/doxygen_libdvbv5.cfg b/doxygen_libdvbv5.cfg index 7af77c97..367b7d79 100644 --- a/doxygen_libdvbv5.cfg +++ b/doxygen_libdvbv5.cfg @@ -769,6 +769,7 @@ INPUT = $(SRCDIR)/doc/libdvbv5-index.doc \ $(SRCDIR)/lib/include/libdvbv5/mpeg_ts.h \ $(SRCDIR)/lib/include/libdvbv5/desc_atsc_service_location.h \ $(SRCDIR)/lib/include/libdvbv5/desc_ca.h \ + $(SRCDIR)/lib/include/libdvbv5/desc_ca_identifier.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_identifier.h b/lib/include/libdvbv5/desc_ca_identifier.h index f09baff7..c774f59b 100644 --- a/lib/include/libdvbv5/desc_ca_identifier.h +++ b/lib/include/libdvbv5/desc_ca_identifier.h @@ -19,11 +19,41 @@ * Described at ETSI EN 300 468 V1.11.1 (2010-04) */ +/** + * @file desc_ca_identifier.h + * @ingroup descriptors + * @brief Provides the descriptors for the Conditional Access identifier + * @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 (2010-04) + * + * @see + * + * @par Bug Report + * Please submit bug reports and patches to linux-media@vger.kernel.org + */ + #ifndef _CA_IDENTIFIER_H #define _CA_IDENTIFIER_H #include <libdvbv5/descriptors.h> +/** + * @struct dvb_desc_ca_identifier + * @ingroup descriptors + * @brief Indicates if a particular bouquet, service or event is associated + * with a CA system + * + * @param type descriptor tag + * @param length descriptor length + * @param next pointer to struct dvb_desc + * @param caid_count Number of CA IDs + * @param caids CA Identifier IDs + */ struct dvb_desc_ca_identifier { uint8_t type; uint8_t length; @@ -36,16 +66,50 @@ struct dvb_desc_ca_identifier { struct dvb_v5_fe_parms; +/** @brief initial descriptor field at dvb_desc_ca_identifier struct */ #define dvb_desc_ca_identifier_field_first ca_id +/** @brief last descriptor field at dvb_desc_ca_identifier struct */ #define dvb_desc_ca_identifier_field_last privdata #ifdef __cplusplus extern "C" { #endif -int dvb_desc_ca_identifier_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc); -void dvb_desc_ca_identifier_print(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc); -void dvb_desc_ca_identifier_free (struct dvb_desc *desc); +/** + * @brief Initializes and parses the CA identifier 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_identifier_init(struct dvb_v5_fe_parms *parms, + const uint8_t *buf, struct dvb_desc *desc); + +/** + * @brief Prints the content of the CA identifier 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_identifier_print(struct dvb_v5_fe_parms *parms, + const struct dvb_desc *desc); + +/** + * @brief Frees all data allocated by the CA identifier descriptor + * @ingroup descriptors + * + * @param desc pointer to struct dvb_desc to be freed + */ +void dvb_desc_ca_identifier_free(struct dvb_desc *desc); #ifdef __cplusplus } |