• Main Page
  • Related Pages
  • Data Structures
  • Files
  • File List
  • Globals

tot.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * tot.h
00003  * Copyright (C) 2001-2011 VideoLAN
00004  * $Id$
00005  *
00006  * Authors: Johann Hanne
00007  *          heavily based on pmt.c which was written by
00008  *          Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
00009  *          Jean-Paul Saman <jpsaman@videolan.org>
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Lesser General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2.1 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public
00022  * License along with this library; if not, write to the Free Software
00023  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00024  *
00025  *****************************************************************************/
00026 
00037 #ifndef _DVBPSI_TOT_H_
00038 #define _DVBPSI_TOT_H_
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00044 /*****************************************************************************
00045  * dvbpsi_tot_t
00046  *****************************************************************************/
00058 typedef struct dvbpsi_tot_s
00059 {
00060   uint64_t                  i_utc_time;         
00062   dvbpsi_descriptor_t *     p_first_descriptor; 
00064   uint32_t      i_crc;                          
00066 } dvbpsi_tot_t;
00067 
00068 /*****************************************************************************
00069  * dvbpsi_tot_callback
00070  *****************************************************************************/
00076 typedef void (* dvbpsi_tot_callback)(void* p_cb_data, dvbpsi_tot_t* p_new_tot);
00077 
00078 /*****************************************************************************
00079  * dvbpsi_AttachTOT
00080  *****************************************************************************/
00092 bool dvbpsi_AttachTOT(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
00093                       dvbpsi_tot_callback pf_callback, void* p_cb_data);
00094 
00095 /*****************************************************************************
00096  * dvbpsi_DetachTOT
00097  *****************************************************************************/
00106 void dvbpsi_DetachTOT(dvbpsi_t* p_dvbpsi, uint8_t i_table_id,
00107                       uint16_t i_extension);
00108 
00109 /*****************************************************************************
00110  * dvbpsi_InitTOT/dvbpsi_NewTOT
00111  *****************************************************************************/
00119 void dvbpsi_InitTOT(dvbpsi_tot_t* p_tot, uint64_t i_utc_time);
00120 
00127 dvbpsi_tot_t *dvbpsi_NewTOT(uint64_t i_utc_time);
00128 
00129 /*****************************************************************************
00130  * dvbpsi_EmptyTOT/dvbpsi_DeleteTOT
00131  *****************************************************************************/
00138 void dvbpsi_EmptyTOT(dvbpsi_tot_t* p_tot);
00139 
00146 void dvbpsi_DeleteTOT(dvbpsi_tot_t* p_tot);
00147 
00148 /*****************************************************************************
00149  * dvbpsi_TOTAddDescriptor
00150  *****************************************************************************/
00163 dvbpsi_descriptor_t* dvbpsi_TOTAddDescriptor(dvbpsi_tot_t* p_tot,
00164                                              uint8_t i_tag, uint8_t i_length,
00165                                              uint8_t* p_data);
00166 
00167 /*****************************************************************************
00168  * dvbpsi_GenTOTSections
00169  *****************************************************************************/
00179 dvbpsi_psi_section_t* dvbpsi_GenTOTSections(dvbpsi_t* p_dvbpsi, dvbpsi_tot_t* p_tot);
00180 
00181 #ifdef __cplusplus
00182 };
00183 #endif
00184 
00185 #else
00186 #error "Multiple inclusions of tot.h"
00187 #endif
00188 

Generated on Sat May 19 2012 07:56:18 for libdvbpsi by  doxygen 1.7.1