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

descriptor.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * descriptor.h
00003  * Copyright (C) 2001-2010 VideoLAN
00004  * $Id: descriptor.h,v 1.5 2002/05/08 13:00:40 bozo Exp $
00005  *
00006  * Authors: Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
00007  *
00008  * This library is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public
00010  * License as published by the Free Software Foundation; either
00011  * version 2.1 of the License, or (at your option) any later version.
00012  *
00013  * This library is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  * Lesser General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU Lesser General Public
00019  * License along with this library; if not, write to the Free Software
00020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  *
00022  *****************************************************************************/
00023 
00035 #ifndef _DVBPSI_DESCRIPTOR_H_
00036 #define _DVBPSI_DESCRIPTOR_H_
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 /*****************************************************************************
00043  * common definitions
00044  *****************************************************************************/
00049 typedef uint8_t iso_639_language_code_t[3];
00050 
00051 /*****************************************************************************
00052  * dvbpsi_descriptor_t
00053  *****************************************************************************/
00078 typedef struct dvbpsi_descriptor_s
00079 {
00080   uint8_t                       i_tag;          
00081   uint8_t                       i_length;       
00083   uint8_t *                     p_data;         
00085   struct dvbpsi_descriptor_s *  p_next;         
00088   void *                        p_decoded;      
00090 } dvbpsi_descriptor_t;
00091 
00092 /*****************************************************************************
00093  * dvbpsi_NewDescriptor
00094  *****************************************************************************/
00105 dvbpsi_descriptor_t* dvbpsi_NewDescriptor(uint8_t i_tag, uint8_t i_length,
00106                                           uint8_t* p_data);
00107 
00108 
00109 /*****************************************************************************
00110  * dvbpsi_DeleteDescriptors
00111  *****************************************************************************/
00119 void dvbpsi_DeleteDescriptors(dvbpsi_descriptor_t* p_descriptor);
00120 
00121 /*****************************************************************************
00122  * dvbpsi_AddDescriptor
00123  *****************************************************************************/
00132 dvbpsi_descriptor_t *dvbpsi_AddDescriptor(dvbpsi_descriptor_t *p_list,
00133                                           dvbpsi_descriptor_t *p_descriptor);
00134 
00135 /*****************************************************************************
00136  * dvbpsi_CanDecodeAsDescriptor
00137  *****************************************************************************/
00145 bool dvbpsi_CanDecodeAsDescriptor(dvbpsi_descriptor_t *p_descriptor, const uint8_t i_tag);
00146 
00147 /*****************************************************************************
00148  * dvbpsi_IsDescriptorDecoded
00149  *****************************************************************************/
00156 bool dvbpsi_IsDescriptorDecoded(dvbpsi_descriptor_t *p_descriptor);
00157 
00158 /*****************************************************************************
00159  * dvbpsi_DuplicateDecodedDescriptor
00160  *****************************************************************************/
00168 void *dvbpsi_DuplicateDecodedDescriptor(void *p_decoded, ssize_t i_size);
00169 
00170 #ifdef __cplusplus
00171 };
00172 #endif
00173 
00174 #else
00175 #error "Multiple inclusions of descriptor.h"
00176 #endif
00177 

Generated on Sat May 25 2013 07:57:41 for libdvbpsi by  doxygen 1.7.1