libdvbpsi  1.3.0
dr_4a.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * dr_4a.h
00003  * Copyright (C) 2012 VideoLAN
00004  *
00005  * Authors: Corno Roberto <corno.roberto@gmail.com>
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00020  *
00021  *****************************************************************************/
00022 
00034 #ifndef DR_4A_H_
00035 #define DR_4A_H_
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040 
00041 /*****************************************************************************
00042  * dvbpsi_linkage_dr_t
00043  *****************************************************************************/
00059 typedef struct dvbpsi_linkage_dr_s
00060 {
00061   uint16_t       i_transport_stream_id;         
00062   uint16_t       i_original_network_id;         
00063   uint16_t       i_service_id;                  
00064   uint8_t        i_linkage_type;                
00066   /* used if i_linkage_type ==0x08 */
00067   uint8_t        i_handover_type;               
00068   uint8_t        i_origin_type;                 
00069   /* used if i_linkage_type ==0x08 &&
00070    * (i_handover_type ==0x01 || i_handover_type ==0x02|| i_handover_type ==0x03)
00071    */
00072   uint16_t       i_network_id;                  
00073   /* used if i_linkage_type ==0x08 && i_origin_type ==0 */
00074   uint16_t       i_initial_service_id;          
00076   /* used if i_linkage_type ==0x0D */
00077   uint16_t       i_target_event_id;             
00078   bool           b_target_listed;               
00079   bool           b_event_simulcast;             
00081   uint8_t       i_private_data_length;         
00083   uint8_t       i_private_data[248];           
00085 } dvbpsi_linkage_dr_t;
00086 
00087 /*****************************************************************************
00088  * dvbpsi_DecodeLinkageDr
00089  *****************************************************************************/
00098 dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor);
00099 
00100 /*****************************************************************************
00101  * dvbpsi_GenLinkageDr
00102  *****************************************************************************/
00112 dvbpsi_descriptor_t *dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t * p_decoded,
00113                                          bool b_duplicate);
00114 
00115 #ifdef __cplusplus
00116 };
00117 #endif
00118 
00119 #else
00120 #error "Multiple inclusions of dr_4a.h"
00121 #endif /* DR_4A_H_ */