/usr/include/dvbstreamer/dvbpsi/dvbpsi.h is in dvbstreamer 2.1.0-2.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | /*****************************************************************************
* dvbpsi.h
* (c)2001-2002 VideoLAN
* $Id: dvbpsi.h 138 2007-01-22 18:03:13Z massiot $
*
* Authors: Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*****************************************************************************/
/*!
* \file <dvbpsi.h>
* \author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
* \brief Application interface for all DVB/PSI decoders.
*
* Application interface for all DVB/PSI decoders. The generic decoder
* structure is public so that external decoders are allowed.
*/
#ifndef _DVBPSI_DVBPSI_H_
#define _DVBPSI_DVBPSI_H_
#define DVBPSI_VERSION 0.1.6
#define DVBPSI_VERSION_INT ((0<<16)+(1<<8)+6)
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************
* dvbpsi_handle
*****************************************************************************/
/*!
* \typedef struct dvbpsi_decoder_s * dvbpsi_handle
* \brief Decoder abstration.
*/
typedef struct dvbpsi_decoder_s * dvbpsi_handle;
/*****************************************************************************
* dvbpsi_PushPacket
*****************************************************************************/
/*!
* \fn void dvbpsi_PushPacket(dvbpsi_handle h_dvbpsi, uint8_t* p_data)
* \brief Injection of a TS packet into a PSI decoder.
* \param h_dvbpsi handle to the decoder
* \param p_data pointer to a 188 bytes playload of a TS packet
* \return nothing.
*
* Injection of a TS packet into a PSI decoder.
*/
void dvbpsi_PushPacket(dvbpsi_handle h_dvbpsi, uint8_t* p_data);
/*****************************************************************************
* The following definitions are just here to allow external decoders but
* shouldn't be used for any other purpose.
*****************************************************************************/
/*!
* \typedef struct dvbpsi_psi_section_s dvbpsi_psi_section_t
* \brief dvbpsi_psi_section_t type definition.
*/
typedef struct dvbpsi_psi_section_s dvbpsi_psi_section_t;
/*****************************************************************************
* dvbpsi_callback
*****************************************************************************/
/*!
* \typedef void (* dvbpsi_callback)(dvbpsi_handle p_decoder,
dvbpsi_psi_section_t* p_section)
* \brief Callback type definition.
*/
typedef void (* dvbpsi_callback)(dvbpsi_handle p_decoder,
dvbpsi_psi_section_t* p_section);
/*****************************************************************************
* dvbpsi_decoder_t
*****************************************************************************/
/*!
* \struct dvbpsi_decoder_s
* \brief PSI decoder structure.
*
* This structure shouldn't be used but if you want to write an external
* decoder.
*/
/*!
* \typedef struct dvbpsi_decoder_s dvbpsi_decoder_t
* \brief dvbpsi_decoder_t type definition.
*/
typedef struct dvbpsi_decoder_s
{
dvbpsi_callback pf_callback; /*!< PSI decoder's
callback */
void * p_private_decoder; /*!< specific
decoder */
int i_section_max_size; /*!< Max size of a
section for this
decoder */
uint8_t i_continuity_counter; /*!< Continuity
counter */
int b_discontinuity; /*!< Discontinuity
flag */
dvbpsi_psi_section_t * p_free_sections; /*!< Available sections */
dvbpsi_psi_section_t * p_current_section; /*!< Current section */
int i_need; /*!< Bytes needed */
int b_complete_header; /*!< Flag for header
completion */
} dvbpsi_decoder_t;
#ifdef __cplusplus
};
#endif
#endif
|