libdvbpsi  1.3.0
dr_76.h
Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2006  Adam Charrett
00003 
00004 This library is free software; you can redistribute it and/or
00005 modify it under the terms of the GNU Lesser General Public
00006 License as published by the Free Software Foundation; either
00007 version 2.1 of the License, or (at your option) any later version.
00008 
00009 This library is distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 Lesser General Public License for more details.
00013 
00014 You should have received a copy of the GNU Lesser General Public
00015 License along with this library; if not, write to the Free Software
00016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00017 
00018 dr_76.h
00019 
00020 Decode Content Identifier Descriptor.
00021 
00022 */
00023 
00030 #ifndef _DR_76_H
00031 #define _DR_76_H
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00050 #define CRID_TYPE_UNDEFINED      0
00051 #define CRID_TYPE_CONTENT        1
00052 #define CRID_TYPE_SERIES         2
00053 #define CRID_TYPE_RECOMMENDATION 3
00054 
00062 #define CRID_LOCATION_DESCRIPTOR 0
00063 #define CRID_LOCATION_CIT        1
00064 
00065 /*****************************************************************************
00066  * dvbpsi_lcn_entry_t
00067  *****************************************************************************/
00078 typedef struct dvbpsi_crid_entry_s
00079 {
00080     uint8_t i_type;         
00081     uint8_t i_location;     
00082     union
00083     {
00084         uint8_t  path[253]; 
00085         uint16_t ref;       
00086     } value;                
00087 } dvbpsi_crid_entry_t;
00088 
00094 #define DVBPSI_CRID_ENTRY_DR_MAX 85
00095 
00096 /*****************************************************************************
00097  * dvbpsi_content_id_dr_s
00098  *****************************************************************************/
00109 typedef struct dvbpsi_content_id_dr_s
00110 {
00111     uint8_t i_number_of_entries;      
00112     dvbpsi_crid_entry_t p_entries[DVBPSI_CRID_ENTRY_DR_MAX];
00113 } dvbpsi_content_id_dr_t;
00114 
00115 /*****************************************************************************
00116  * dvbpsi_DecodeLCNDr
00117  *****************************************************************************/
00125 dvbpsi_content_id_dr_t *dvbpsi_DecodeContentIdDr(dvbpsi_descriptor_t *p_descriptor);
00126 
00127 #ifdef __cplusplus
00128 };
00129 #endif
00130 
00131 #endif
00132 
00133