1 /*****************************************************************************
2  * nit_private.h: private NIT structures
3  *----------------------------------------------------------------------------
4  * Copyright (C) 2001-2011 VideoLAN
5  * $Id$
6  *
7  * Authors: Johann Hanne
8  *          heavily based on pmt.c which was written by
9  *          Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
10  *          Jean-Paul Saman <jpsaman@videolan.org>
11  *
12  * This library is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU Lesser General Public
14  * License as published by the Free Software Foundation; either
15  * version 2.1 of the License, or (at your option) any later version.
16  *
17  * This library is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20  * Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with this library; if not, write to the Free Software
24  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
25  *
26  *----------------------------------------------------------------------------
27  *
28  *****************************************************************************/
29 
30 #ifndef _DVBPSI_NIT_PRIVATE_H_
31 #define _DVBPSI_NIT_PRIVATE_H_
32 
33 /*****************************************************************************
34  * dvbpsi_nit_decoder_t
35  *****************************************************************************
36  * NIT decoder.
37  *****************************************************************************/
38 typedef struct dvbpsi_nit_decoder_s
39 {
40     DVBPSI_DECODER_COMMON
41 
42     dvbpsi_nit_callback           pf_nit_callback;
43     void *                        p_cb_data;
44 
45     dvbpsi_nit_t                  current_nit;
46     dvbpsi_nit_t *                p_building_nit;
47 
48     uint16_t                      i_network_id;
49 
50 } dvbpsi_nit_decoder_t;
51 
52 /*****************************************************************************
53  * dvbpsi_nit_sections_gather
54  *****************************************************************************
55  * Callback for the PSI decoder.
56  *****************************************************************************/
57 void dvbpsi_nit_sections_gather(dvbpsi_t* p_dvbpsi,
58                               dvbpsi_decoder_t* p_private_decoder,
59                               dvbpsi_psi_section_t* p_section);
60 
61 /*****************************************************************************
62  * dvbpsi_nit_sections_decode
63  *****************************************************************************
64  * NIT decoder.
65  *****************************************************************************/
66 void dvbpsi_nit_sections_decode(dvbpsi_nit_t* p_nit,
67                                dvbpsi_psi_section_t* p_section);
68 
69 #else
70 #error "Multiple inclusions of nit_private.h"
71 #endif
72 
73