libdvbpsi  1.2.0
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  *****************************************************************************/
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  *****************************************************************************/
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