libdvbpsi 2.0.0-git
MPEG Transport Stream PSI table parser
atsc_vct.h
Go to the documentation of this file.
1/*
2Copyright (C) 2006 Adam Charrett
3
4This library is free software; you can redistribute it and/or
5modify it under the terms of the GNU Lesser General Public
6License as published by the Free Software Foundation; either
7version 2.1 of the License, or (at your option) any later version.
8
9This library is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12Lesser General Public License for more details.
13
14You should have received a copy of the GNU Lesser General Public
15License along with this library; if not, write to the Free Software
16Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
18vct.h
19
20Decode PSIP Virtual Channel Table.
21
22*/
23
30#ifndef _ATSC_VCT_H
31#define _ATSC_VCT_H
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37/*****************************************************************************
38 * dvbpsi_atsc_vct_channel_t
39 *****************************************************************************/
75
76/*****************************************************************************
77 * dvbpsi_atsc_vct_t
78 *****************************************************************************/
103
104/*****************************************************************************
105 * dvbpsi_vct_callback
106 *****************************************************************************/
112typedef void (* dvbpsi_atsc_vct_callback)(void* p_priv, dvbpsi_atsc_vct_t* p_new_vct);
113
114/*****************************************************************************
115 * dvbpsi_atsc_vct_attach
116 *****************************************************************************/
129bool dvbpsi_atsc_vct_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
130 uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback,
131 void* p_priv);
132
142__attribute__((deprecated,unused))
143inline bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
144 uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback,
145 void* p_priv)
146{
147 return dvbpsi_atsc_vct_attach(p_dvbpsi, i_table_id, i_extension,
148 pf_vct_callback, p_priv);
149}
150
151/*****************************************************************************
152 * dvbpsi_atsc_vct_detach
153 *****************************************************************************/
164void dvbpsi_atsc_vct_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
165
173__attribute__((deprecated,unused))
174inline void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
175{
176 dvbpsi_atsc_vct_detach(p_dvbpsi, i_table_id, i_extension);
177}
178
179/*****************************************************************************
180 * dvbpsi_atsc_vct_init
181 *****************************************************************************/
196void dvbpsi_atsc_vct_init(dvbpsi_atsc_vct_t* p_vct, uint8_t i_table_id,
197 uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct,
198 uint8_t i_version, bool b_current_next);
199
210__attribute__((deprecated,unused))
211inline void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_table_id,
212 uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct,
213 uint8_t i_version, bool b_current_next)
214{
215 dvbpsi_atsc_vct_init(p_vct, i_table_id, i_extension, i_protocol, b_cable_vct,
216 i_version, b_current_next);
217}
218
219/*****************************************************************************
220 * dvbpsi_atsc_vct_new
221 *****************************************************************************/
235dvbpsi_atsc_vct_t *dvbpsi_atsc_vct_new(uint8_t i_table_id, uint16_t i_extension,
236 uint8_t i_protocol, bool b_cable_vct, uint8_t i_version,
237 bool b_current_next);
238
249__attribute__((deprecated,unused))
250inline dvbpsi_atsc_vct_t *dvbpsi_atsc_NewVCT(uint8_t i_table_id, uint16_t i_extension,
251 uint8_t i_protocol, bool b_cable_vct, uint8_t i_version, bool b_current_next)
252{
253 return dvbpsi_atsc_vct_new(i_table_id, i_extension, i_protocol,
254 b_cable_vct, i_version, b_current_next);
255}
256
257/*****************************************************************************
258 * dvbpsi_atsc_vct_empty
259 *****************************************************************************/
267
274__attribute__((deprecated,unused))
275inline void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct)
276{
278}
279
280/*****************************************************************************
281 * dvbpsi_atsc_vct_delete
282 *****************************************************************************/
290
297__attribute__((deprecated,unused))
298inline void dvbpsi_atsc_DeleteVCT(dvbpsi_atsc_vct_t *p_vct)
299{
301}
302#ifdef __cplusplus
303};
304#endif
305
306#endif
void dvbpsi_atsc_vct_delete(dvbpsi_atsc_vct_t *p_vct)
Clean and free a dvbpsi_vct_t structure.
struct dvbpsi_atsc_vct_s dvbpsi_atsc_vct_t
dvbpsi_atsc_vct_t type definition.
void dvbpsi_atsc_vct_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
Destroy a VCT decoder.
void dvbpsi_atsc_vct_empty(dvbpsi_atsc_vct_t *p_vct)
Clean a dvbpsi_vct_t structure.
void dvbpsi_atsc_vct_init(dvbpsi_atsc_vct_t *p_vct, uint8_t i_table_id, uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct, uint8_t i_version, bool b_current_next)
Initialize a user-allocated dvbpsi_atsc_vct_t structure.
bool dvbpsi_atsc_vct_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback, void *p_priv)
Creation and initialization of a VCT decoder.
void(* dvbpsi_atsc_vct_callback)(void *p_priv, dvbpsi_atsc_vct_t *p_new_vct)
Callback type definition.
Definition atsc_vct.h:112
dvbpsi_atsc_vct_t * dvbpsi_atsc_vct_new(uint8_t i_table_id, uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct, uint8_t i_version, bool b_current_next)
Allocate and initialize a new dvbpsi_vct_t structure.
struct dvbpsi_atsc_vct_channel_s dvbpsi_atsc_vct_channel_t
dvbpsi_atsc_vct_channel_t type definition.
__attribute__((deprecated, unused)) inline bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi
dvbpsi_atsc_AttachVCT is deprecated use
Definition atsc_vct.h:274
VCT channel structure.
Definition atsc_vct.h:51
uint8_t i_short_name[14]
Definition atsc_vct.h:52
struct dvbpsi_atsc_vct_channel_s * p_next
Definition atsc_vct.h:73
bool b_access_controlled
Definition atsc_vct.h:61
uint8_t i_modulation
Definition atsc_vct.h:56
bool b_path_select
Definition atsc_vct.h:62
uint16_t i_source_id
Definition atsc_vct.h:69
dvbpsi_descriptor_t * p_first_descriptor
Definition atsc_vct.h:71
uint8_t i_etm_location
Definition atsc_vct.h:60
bool b_hidden
Definition atsc_vct.h:65
uint16_t i_program_number
Definition atsc_vct.h:59
bool b_out_of_band
Definition atsc_vct.h:63
uint32_t i_carrier_freq
Definition atsc_vct.h:57
uint16_t i_channel_tsid
Definition atsc_vct.h:58
bool b_hide_guide
Definition atsc_vct.h:66
uint8_t i_service_type
Definition atsc_vct.h:68
uint16_t i_major_number
Definition atsc_vct.h:53
uint16_t i_minor_number
Definition atsc_vct.h:54
VCT structure.
Definition atsc_vct.h:90
uint8_t i_table_id
Definition atsc_vct.h:91
dvbpsi_atsc_vct_channel_t * p_first_channel
Definition atsc_vct.h:100
uint8_t i_protocol
Definition atsc_vct.h:96
bool b_current_next
Definition atsc_vct.h:95
uint8_t i_version
Definition atsc_vct.h:94
uint16_t i_extension
Definition atsc_vct.h:92
bool b_cable_vct
Definition atsc_vct.h:97
dvbpsi_descriptor_t * p_first_descriptor
Definition atsc_vct.h:99
Descriptor structure.
Definition descriptor.h:83
DVBPSI handle structure.
Definition dvbpsi.h:143