libdvbpsi  2.0.0-git
MPEG Transport Stream PSI table parser
atsc_mgt.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2006 Adam Charrett
3 Copyright (C) 2011-2012 Michael Krufky
4 
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9 
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14 
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 mgt.h
20 
21 Decode PSIP Master Guide Table.
22 
23 */
24 
31 #ifndef _ATSC_MGT_H
32 #define _ATSC_MGT_H
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /*****************************************************************************
39  * dvbpsi_atsc_mgt_table_t
40  *****************************************************************************/
52 {
53  uint16_t i_table_type;
54  uint16_t i_table_type_pid;
56  uint32_t i_number_bytes;
62 
63 /*****************************************************************************
64  * dvbpsi_atsc_mgt_t
65  *****************************************************************************/
76 typedef struct dvbpsi_atsc_mgt_s
77 {
78  uint8_t i_table_id;
79  uint16_t i_extension;
81  uint8_t i_version;
83  uint16_t i_table_id_ext;
84  uint8_t i_protocol;
90 
91 /*****************************************************************************
92  * dvbpsi_mgt_callback
93  *****************************************************************************/
99 typedef void (* dvbpsi_atsc_mgt_callback)(void* p_priv, dvbpsi_atsc_mgt_t* p_new_mgt);
100 
101 /*****************************************************************************
102  * dvbpsi_atsc_mgt_attach
103  *****************************************************************************/
116 bool 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))
129 inline 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  *****************************************************************************/
148 void dvbpsi_atsc_mgt_detach(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
149 
158 __attribute__((deprecated,unused))
159 inline 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  *****************************************************************************/
179 void 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))
193 inline 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  *****************************************************************************/
215 dvbpsi_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))
228 inline 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))
252 inline void dvbpsi_atsc_EmptyMGT(dvbpsi_atsc_mgt_t *p_mgt)
253 {
254  dvbpsi_atsc_mgt_empty(p_mgt);
255 }
256 
257 /*****************************************************************************
258  * dvbpsi_atsc_mgt_delete
259  *****************************************************************************/
267 
274 __attribute__((deprecated,unused))
275 inline void dvbpsi_atsc_DeleteMGT(dvbpsi_atsc_mgt_t *p_mgt)
276 {
277  dvbpsi_atsc_mgt_delete(p_mgt);
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
struct dvbpsi_atsc_mgt_s dvbpsi_atsc_mgt_t
dvbpsi_atsc_mgt_t type definition.
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.
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