libdvbv5: lib/include/libdvbv5/cat.h Source File

libdvbv5 1.32.0 Library to work with Digital TV devices on Linux

cat.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2013 - Andre Roth <neolynx@gmail.com>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation version 2.1 of the License.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
17 *
18 */
19
30
31#ifndef _CAT_H
32#define _CAT_H
33
34#include <stdint.h>
35#include <unistd.h> /* ssize_t */
36
37#include <libdvbv5/header.h>
38
47#define DVB_TABLE_CAT 0x01
48#define DVB_TABLE_CAT_PID 0x0001
49
57 struct dvb_table_cat {
58 struct dvb_table_header header;
59 struct dvb_desc *descriptor;
60} __attribute__((packed));
61
62struct dvb_v5_fe_parms;
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
83ssize_t dvb_table_cat_init(struct dvb_v5_fe_parms *parms, const uint8_t *buf,
84 ssize_t buflen, struct dvb_table_cat **table);
85
91 void dvb_table_cat_free(struct dvb_table_cat *table);
92
99 void dvb_table_cat_print(struct dvb_v5_fe_parms *parms,
100 struct dvb_table_cat *table);
101
102#ifdef __cplusplus
103}
104#endif
105
106#endif
dvb_table_cat_free
void dvb_table_cat_free(struct dvb_table_cat *table)
Frees all data allocated by the CAT table parser.
dvb_table_cat_init
ssize_t dvb_table_cat_init(struct dvb_v5_fe_parms *parms, const uint8_t *buf, ssize_t buflen, struct dvb_table_cat **table)
Initializes and parses CAT table.
dvb_table_cat_print
void dvb_table_cat_print(struct dvb_v5_fe_parms *parms, struct dvb_table_cat *table)
Prints the content of the CAT table.
header.h
Provides the MPEG TS table headers.
dvb_desc
Linked list containing the several descriptors found on a MPEG-TS table.
Definition descriptors.h:117
dvb_table_cat
ATSC CAT table.
Definition cat.h:57
dvb_table_cat::header
struct dvb_table_header header
Definition cat.h:58
dvb_table_cat::descriptor
struct dvb_desc * descriptor
Definition cat.h:59
dvb_table_header
Header of a MPEG-TS table.
Definition header.h:103
dvb_v5_fe_parms
Keeps data needed to handle the DVB frontend.
Definition dvb-fe.h:117