libdvbpsi  1.2.0
atsc_ett.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 ett.h
19 
20 */
21 
28 #ifndef _ATSC_ETT_H
29 #define _ATSC_ETT_H
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /*****************************************************************************
36  * dvbpsi_atsc_ett_t
37  *****************************************************************************/
55 typedef struct dvbpsi_atsc_ett_s
56 {
57  /* general PSI table */
58  uint8_t i_table_id;
59  uint16_t i_extension;
63  uint8_t i_version;
65  uint8_t i_protocol;
67  /* ETT specific */
68  uint32_t i_etm_id;
71  uint32_t i_etm_length;
72  uint8_t *p_etm_data;
77 
78 /*****************************************************************************
79  * dvbpsi_atsc_ett_callback
80  *****************************************************************************/
86 typedef void (* dvbpsi_atsc_ett_callback)(void* p_cb_data, dvbpsi_atsc_ett_t* p_new_ett);
87 
88 /*****************************************************************************
89  * dvbpsi_atsc_AttachETT
90  *****************************************************************************/
103 bool dvbpsi_atsc_AttachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
104  dvbpsi_atsc_ett_callback pf_callback, void* p_cb_data);
105 
106 /*****************************************************************************
107  * dvbpsi_atsc_DetachETT
108  *****************************************************************************/
118 void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
119  uint16_t i_extension);
120 
121 /*****************************************************************************
122  * dvbpsi_atsc_InitETT/dvbpsi_atsc_NewETT
123  *****************************************************************************/
137 void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t *p_ett, uint8_t i_table_id, uint16_t i_extension,
138  uint8_t i_version, uint8_t i_protocol,
139  uint32_t i_etm_id, bool b_current_next);
140 
155  uint8_t i_version, uint8_t i_protocol,
156  uint32_t i_etm_id, bool b_current_next);
157 
158 /*****************************************************************************
159  * dvbpsi_atsc_EmptyETT/dvbpsi_atsc_DeleteETT
160  *****************************************************************************/
168 
176 
177 #ifdef __cplusplus
178 };
179 #endif
180 
181 #endif