This file is indexed.

/usr/include/dvbpsi/dr_45.h is in libdvbpsi-dev 1.0.0-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
139
140
141
142
143
144
145
/*****************************************************************************
 * dr_45.h
 * Copyright (C) 2004-2010 VideoLAN
 * $Id$
 *
 * Authors: Jean-Paul Saman <jpsaman@videolan.org>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 *****************************************************************************/

/*!
 * \file <dr_45.h>
 * \author Jean-Paul Saman <jpsaman@videolan.org>
 * \brief VBI data descriptor parsing.
 *
 * DVB VBI data descriptor parsing, according to ETSI EN 300 468
 * version 1.7.1 section 6.2.46
 *
 * NOTE: this descriptor is known by tag value 0x45
 */

#ifndef _DVBPSI_DR_45_H_
#define _DVBPSI_DR_45_H_

#ifdef __cplusplus
extern "C" {
#endif

/*****************************************************************************
 * dvbpsi_vbidata_line_t
 *****************************************************************************/
/*!
 * \struct dvbpsi_vbidata_line_s
 * \brief  one VBI Data line structure.
 *
 * This structure is used since vbidata_t structure will contain several
 * of these structures
 */
/*!
 * \typedef struct dvbpsi_vbidata_line_s dvbpsi_vbidata_line_t
 * \brief dvbpsi_vbidata_line_t type definition.
 */
typedef struct dvbpsi_vbidata_line_s
{
  uint8_t   i_parity;      /*!< parity bit (1 bits) */
  uint8_t   i_line_offset; /*!< line offset (5 bits) */

} dvbpsi_vbidata_line_t;

/*****************************************************************************
 * dvbpsi_vbidata_t
 *****************************************************************************/
/*!
 * \struct dvbpsi_vbidata_s
 * \brief  one VBI data structure.
 *
 * This structure is used since vbi_descriptor will contain several
 * of these structures
 */
/*!
 * \typedef struct dvbpsi_vbidata_s dvbpsi_vbidata_t
 * \brief dvbpsi_vbidata_t type definition.
 */
typedef struct dvbpsi_vbidata_s
{
  uint8_t               i_data_service_id;  /*!< data service id (8 bits) */
  uint8_t               i_lines;            /*!< number of lines */
  dvbpsi_vbidata_line_t p_lines[255];       /*!< VBI lines data */

} dvbpsi_vbidata_t;

/*****************************************************************************
 * dvbpsi_vbi_dr_t
 *****************************************************************************/
/*!
 * \struct dvbpsi_vbi_dr_s
 * \brief "teletext" descriptor structure.
 *
 * This structure is used to store a decoded "VBI data"
 * descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.46).
 */
/*!
 * \typedef struct dvbpsi_vbi_dr_s dvbpsi_vbi_dr_t
 * \brief dvbpsi_vbi_dr_t type definition.
 */
typedef struct dvbpsi_vbi_dr_s
{
  uint8_t          i_services_number;   /*!< service number */
  dvbpsi_vbidata_t p_services[85];      /*!< services table */

} dvbpsi_vbi_dr_t;


/*****************************************************************************
 * dvbpsi_DecodeVBIDataDr
 *****************************************************************************/
/*!
 * \fn dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
                                        dvbpsi_descriptor_t * p_descriptor)
 * \brief "VBI data" descriptor decoder.
 * \param p_descriptor pointer to the descriptor structure
 * \return a pointer to a new "VBI data" descriptor structure
 * which contains the decoded data.
 */
dvbpsi_vbi_dr_t* dvbpsi_DecodeVBIDataDr(
                                        dvbpsi_descriptor_t * p_descriptor);


/*****************************************************************************
 * dvbpsi_GenVBIDataDr
 *****************************************************************************/
/*!
 * \fn dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr(
                        dvbpsi_vbi_dr_t * p_decoded, bool b_duplicate)
 * \brief "VBI data" descriptor generator.
 * \param p_decoded pointer to a decoded "VBI data" descriptor
 * structure
 * \param b_duplicate if true then duplicate the p_decoded structure into
 * the descriptor
 * \return a pointer to a new descriptor structure which contains encoded data.
 */
dvbpsi_descriptor_t * dvbpsi_GenVBIDataDr(
                                        dvbpsi_vbi_dr_t * p_decoded,
                                        bool b_duplicate);

#ifdef __cplusplus
};
#endif

#else
#error "Multiple inclusions of dr_45.h"
#endif