libdvbpsi  2.0.0-git
atsc_vct.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2006 Adam Charrett
3 
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8 
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13 
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 
18 vct.h
19 
20 Decode PSIP Virtual Channel Table.
21 
22 */
23 
30 #ifndef _ATSC_VCT_H
31 #define _ATSC_VCT_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /*****************************************************************************
38  * dvbpsi_atsc_vct_channel_t
39  *****************************************************************************/
51 {
52  uint8_t i_short_name[14];
53  uint16_t i_major_number;
54  uint16_t i_minor_number;
56  uint8_t i_modulation;
57  uint32_t i_carrier_freq;
58  uint16_t i_channel_tsid;
59  uint16_t i_program_number;
60  uint8_t i_etm_location;
65  bool b_hidden;
66  bool b_hide_guide;
68  uint8_t i_service_type;
69  uint16_t i_source_id;
75 
76 /*****************************************************************************
77  * dvbpsi_atsc_vct_t
78  *****************************************************************************/
89 typedef struct dvbpsi_atsc_vct_s
90 {
91  uint8_t i_table_id;
92  uint16_t i_extension;
94  uint8_t i_version;
96  uint8_t i_protocol;
97  bool b_cable_vct;
103 
104 /*****************************************************************************
105  * dvbpsi_vct_callback
106  *****************************************************************************/
112 typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_new_vct);
113 
114 /*****************************************************************************
115  * dvbpsi_atsc_AttachVCT
116  *****************************************************************************/
129 bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
130  uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback,
131  void* p_cb_data);
132 
133 /*****************************************************************************
134  * dvbpsi_DetachVCT
135  *****************************************************************************/
146 void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
147 
148 /*****************************************************************************
149  * dvbpsi_atsc_InitVCT
150  *****************************************************************************/
165 void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_table_id,
166  uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct,
167  uint8_t i_version, bool b_current_next);
168 
169 /*****************************************************************************
170  * dvbpsi_atsc_NewVCT
171  *****************************************************************************/
185 dvbpsi_atsc_vct_t *dvbpsi_atsc_NewVCT(uint8_t i_table_id, uint16_t i_extension,
186  uint8_t i_protocol, bool b_cable_vct, uint8_t i_version,
187  bool b_current_next);
188 
189 /*****************************************************************************
190  * dvbpsi_atsc_EmptyVCT
191  *****************************************************************************/
199 
200 /*****************************************************************************
201  * dvbpsi_atsc_DeleteVCT
202  *****************************************************************************/
210 
211 #ifdef __cplusplus
212 };
213 #endif
214 
215 #endif
struct dvbpsi_atsc_vct_s dvbpsi_atsc_vct_t
dvbpsi_atsc_vct_t type definition.
dvbpsi_descriptor_t * p_first_descriptor
Definition: atsc_vct.h:99
bool b_hide_guide
Definition: atsc_vct.h:66
bool b_current_next
Definition: sis.h:107
bool b_hidden
Definition: atsc_vct.h:65
struct dvbpsi_atsc_vct_channel_s * p_next
Definition: atsc_vct.h:73
uint16_t i_program_number
Definition: atsc_vct.h:59
uint16_t i_minor_number
Definition: atsc_vct.h:54
bool b_cable_vct
Definition: atsc_vct.h:97
uint16_t i_source_id
Definition: atsc_vct.h:69
dvbpsi_atsc_vct_t * dvbpsi_atsc_NewVCT(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.
uint8_t i_version
Definition: atsc_vct.h:94
uint8_t i_protocol
Definition: atsc_vct.h:96
uint8_t i_table_id
Definition: atsc_vct.h:91
uint32_t i_carrier_freq
Definition: atsc_vct.h:57
void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
Destroy a VCT decoder.
uint8_t i_short_name[14]
Definition: atsc_vct.h:52
void dvbpsi_atsc_InitVCT(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.
dvbpsi_atsc_vct_channel_t * p_first_channel
Definition: atsc_vct.h:100
bool b_path_select
Definition: atsc_vct.h:62
void dvbpsi_atsc_DeleteVCT(dvbpsi_atsc_vct_t *p_vct)
Clean and free a dvbpsi_vct_t structure.
dvbpsi_descriptor_t * p_first_descriptor
Definition: atsc_vct.h:71
void(* dvbpsi_atsc_vct_callback)(void *p_cb_data, dvbpsi_atsc_vct_t *p_new_vct)
Callback type definition.
Definition: atsc_vct.h:112
uint16_t i_channel_tsid
Definition: atsc_vct.h:58
VCT channel structure.
Definition: atsc_vct.h:50
void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct)
Clean a dvbpsi_vct_t structure.
bool b_current_next
Definition: atsc_vct.h:95
VCT structure.
Definition: atsc_vct.h:89
bool b_out_of_band
Definition: atsc_vct.h:63
struct dvbpsi_atsc_vct_channel_s dvbpsi_atsc_vct_channel_t
dvbpsi_atsc_vct_channel_t type definition.
uint8_t i_etm_location
Definition: atsc_vct.h:60
uint8_t i_service_type
Definition: atsc_vct.h:68
uint8_t i_modulation
Definition: atsc_vct.h:56
DVBPSI handle structure.
Definition: dvbpsi.h:142
Descriptor structure.
Definition: descriptor.h:82
uint16_t i_major_number
Definition: atsc_vct.h:53
uint16_t i_extension
Definition: atsc_vct.h:92
bool b_access_controlled
Definition: atsc_vct.h:61
bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback, void *p_cb_data)
Creation and initialization of a VCT decoder.
uint8_t i_version
Definition: sis.h:104