libdvbv5  1.11.0
Library to work with Digital TV devices on Linux
desc_logical_channel.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 - Mauro Carvalho Chehab <m.chehab@samsung.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  * Described on IEC/CENELEC DS/EN 62216-1:2011
19  *
20  * I couldn't find the original version, so I used what's there at:
21  * http://tdt.telecom.pt/recursos/apresentacoes/Signalling Specifications for DTT deployment in Portugal.pdf
22  */
23 
41 #ifndef _LCN_DESC_H
42 #define _LCN_DESC_H
43 
44 #include <libdvbv5/descriptors.h>
45 
57  uint16_t service_id;
58  union {
59  uint16_t bitfield;
60  struct {
62  uint16_t reserved:5;
64  } __attribute__((packed));
65  } __attribute__((packed));
66 } __attribute__((packed));
67 
79  uint8_t type;
80  uint8_t length;
81  struct dvb_desc *next;
82 
84 } __attribute__((packed));
85 
86 struct dvb_v5_fe_parms;
87 
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91 
108  const uint8_t *buf, struct dvb_desc *desc);
109 
118  const struct dvb_desc *desc);
119 
126 void dvb_desc_logical_channel_free(struct dvb_desc *desc);
127 
128 #ifdef __cplusplus
129 }
130 #endif
131 
132 #endif
Structure containing the logical channel number descriptor.
Structure containing the logical channel number entires.
void dvb_desc_logical_channel_print(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc)
Prints the content of the logical channel number descriptor.
Keeps data needed to handle the DVB frontend.
Definition: dvb-fe.h:117
int dvb_desc_logical_channel_init(struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc)
Initializes and parses the logical channel number descriptor.
Linked list containing the several descriptors found on a MPEG-TS table.
Definition: descriptors.h:117
struct dvb_desc_logical_channel_number * lcn
Provides a way to handle MPEG-TS descriptors found on Digital TV streams.
void dvb_desc_logical_channel_free(struct dvb_desc *desc)
Frees all data allocated by the logical channel number descriptor.