libdvbpsi 2.0.0-git
MPEG Transport Stream PSI table parser
atsc_mgt.h
Go to the documentation of this file.
1/*
2Copyright (C) 2006 Adam Charrett
3Copyright (C) 2011-2012 Michael Krufky
4
5This library is free software; you can redistribute it and/or
6modify it under the terms of the GNU Lesser General Public
7License as published by the Free Software Foundation; either
8version 2.1 of the License, or (at your option) any later version.
9
10This library is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public
16License along with this library; if not, write to the Free Software
17Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
19mgt.h
20
21Decode PSIP Master Guide Table.
22
23*/
24
31#ifndef _ATSC_MGT_H
32#define _ATSC_MGT_H
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38/*****************************************************************************
39 * dvbpsi_atsc_mgt_table_t
40 *****************************************************************************/
62
63/*****************************************************************************
64 * dvbpsi_atsc_mgt_t
65 *****************************************************************************/
90
91/*****************************************************************************
92 * dvbpsi_mgt_callback
93 *****************************************************************************/
99typedef void (* dvbpsi_atsc_mgt_callback)(void* p_priv, dvbpsi_atsc_mgt_t* p_new_mgt);
100
101/*****************************************************************************
102 * dvbpsi_atsc_mgt_attach
103 *****************************************************************************/
116bool dvbpsi_atsc_mgt_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
117 dvbpsi_atsc_mgt_callback pf_callback, void* p_priv);
118
128__attribute__((deprecated,unused))
129inline bool dvbpsi_atsc_AttachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
130 uint16_t i_extension, dvbpsi_atsc_mgt_callback pf_callback, void* p_priv)
131{
132 return dvbpsi_atsc_mgt_attach(p_dvbpsi, i_table_id, i_extension,
133 pf_callback, p_priv);
134}
135
136/*****************************************************************************
137 * dvbpsi_atsc_mgt_detach
138 *****************************************************************************/
148void dvbpsi_atsc_mgt_detach(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
149
158__attribute__((deprecated,unused))
159inline void dvbpsi_atsc_DetachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
160{
161 dvbpsi_atsc_mgt_detach(p_dvbpsi, i_table_id, i_extension);
162}
163
164/*****************************************************************************
165 * dvbpsi_atsc_mgt_init
166 *****************************************************************************/
179void dvbpsi_atsc_mgt_init(dvbpsi_atsc_mgt_t* p_mgt, uint8_t i_table_id, uint16_t i_extension,
180 uint8_t i_version, uint8_t i_protocol, bool b_current_next);
181
192__attribute__((deprecated,unused))
193inline void dvbpsi_atsc_InitMGT(dvbpsi_atsc_mgt_t* p_mgt, uint8_t i_table_id,
194 uint16_t i_extension, uint8_t i_version,
195 uint8_t i_protocol, bool b_current_next)
196{
197 dvbpsi_atsc_mgt_init(p_mgt, i_table_id, i_extension,
198 i_version, i_protocol,b_current_next);
199}
200
201/*****************************************************************************
202 * dvbpsi_atsc_mgt_new
203 *****************************************************************************/
215dvbpsi_atsc_mgt_t *dvbpsi_atsc_mgt_new(uint8_t i_table_id, uint16_t i_extension,
216 uint8_t i_version, uint8_t i_protocol, bool b_current_next);
217
227__attribute__((deprecated,unused))
228inline dvbpsi_atsc_mgt_t *dvbpsi_atsc_NewMGT(uint8_t i_table_id, uint16_t i_extension,
229 uint8_t i_version, uint8_t i_protocol, bool b_current_next)
230{
231 return dvbpsi_atsc_mgt_new(i_table_id, i_extension,
232 i_version, i_protocol, b_current_next);
233}
234
235/*****************************************************************************
236 * dvbpsi_atsc_mgt_empty
237 *****************************************************************************/
245
251__attribute__((deprecated,unused))
252inline void dvbpsi_atsc_EmptyMGT(dvbpsi_atsc_mgt_t *p_mgt)
253{
255}
256
257/*****************************************************************************
258 * dvbpsi_atsc_mgt_delete
259 *****************************************************************************/
267
274__attribute__((deprecated,unused))
275inline void dvbpsi_atsc_DeleteMGT(dvbpsi_atsc_mgt_t *p_mgt)
276{
278}
279
280#ifdef __cplusplus
281};
282#endif
283
284#endif
struct dvbpsi_atsc_mgt_table_s dvbpsi_atsc_mgt_table_t
dvbpsi_atsc_mgt_table_t type definition.
void(* dvbpsi_atsc_mgt_callback)(void *p_priv, dvbpsi_atsc_mgt_t *p_new_mgt)
Callback type definition.
Definition atsc_mgt.h:99
void dvbpsi_atsc_mgt_init(dvbpsi_atsc_mgt_t *p_mgt, uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, uint8_t i_protocol, bool b_current_next)
Initialize a user-allocated dvbpsi_atsc_mgt_t structure.
void dvbpsi_atsc_mgt_delete(dvbpsi_atsc_mgt_t *p_mgt)
Clean and free a dvbpsi_mgt_t structure.
dvbpsi_atsc_mgt_t * dvbpsi_atsc_mgt_new(uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, uint8_t i_protocol, bool b_current_next)
Allocate and initialize a new dvbpsi_mgt_t structure.
__attribute__((deprecated, unused)) inline bool dvbpsi_atsc_AttachMGT(dvbpsi_t *p_dvbpsi
dvbpsi_atsc_AttachMGT is deprecated use
Definition atsc_mgt.h:251
void dvbpsi_atsc_mgt_empty(dvbpsi_atsc_mgt_t *p_mgt)
Clean a dvbpsi_mgt_t structure.
struct dvbpsi_atsc_mgt_s dvbpsi_atsc_mgt_t
dvbpsi_atsc_mgt_t type definition.
bool dvbpsi_atsc_mgt_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_atsc_mgt_callback pf_callback, void *p_priv)
Creation and initialization of a MGT decoder.
void dvbpsi_atsc_mgt_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
Destroy a MGT decoder.
MGT structure.
Definition atsc_mgt.h:77
dvbpsi_atsc_mgt_table_t * p_first_table
Definition atsc_mgt.h:86
uint8_t i_version
Definition atsc_mgt.h:81
dvbpsi_descriptor_t * p_first_descriptor
Definition atsc_mgt.h:88
uint16_t i_table_id_ext
Definition atsc_mgt.h:83
uint8_t i_protocol
Definition atsc_mgt.h:84
uint8_t i_table_id
Definition atsc_mgt.h:78
bool b_current_next
Definition atsc_mgt.h:82
uint16_t i_extension
Definition atsc_mgt.h:79
MGT table structure.
Definition atsc_mgt.h:52
uint32_t i_number_bytes
Definition atsc_mgt.h:56
uint16_t i_table_type_pid
Definition atsc_mgt.h:54
struct dvbpsi_atsc_mgt_table_s * p_next
Definition atsc_mgt.h:60
dvbpsi_descriptor_t * p_first_descriptor
Definition atsc_mgt.h:58
uint8_t i_table_type_version
Definition atsc_mgt.h:55
uint16_t i_table_type
Definition atsc_mgt.h:53
Descriptor structure.
Definition descriptor.h:83
DVBPSI handle structure.
Definition dvbpsi.h:143