This file is indexed.

/usr/include/libvcd/sector.h is in libvcdinfo-dev 0.7.24+dfsg-0.2.

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
/*
    $Id: sector.h,v 1.3 2005/07/16 16:50:08 rocky Exp $

    Copyright (C) 2000, 2005 Herbert Valerio Riedel <hvr@gnu.org>

    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
*/

#ifndef _VCD_SECTOR_H_
#define _VCD_SECTOR_H_

#include <libvcd/types.h>

/*!
   \file sector.h 
  
\verbatim 

  SVCD 1.0
  ~~~~~~~~
 
   empty sector:  fn=0 cn=0 sm=%00100000 ci=0
   data sector:   fn=0 cn=0 sm=%x0001000 ci=0
   mpeg sector:   fn=1 cn=1 sm=%x11x001x ci=0x80
  
  VCD 2.0
  ~~~~~~~

   /MPEGAV/AVSEQyy.DAT
    empty sector: fn=yy cn=0 sm=%x11x000x ci=0
    video sector: fn=yy cn=1 sm=%x11x001x ci=0x0f
    audio sector: fn=yy cn=1 sm=%x11x010x ci=0x7f

   /SEGMENT/ITEMzzzz.DAT
    empty sector: fn=1 cn=0  sm=%x11x000x ci=0
    video sector: fn=1 cn=1  sm=%x11x001x ci=0x0f
    lores still:  fn=1 cn=2  sm=%x11x001x ci=0x1f
    hires still:  fn=1 cn=3  sm=%x11x001x ci=0x3f
    audio sector: fn=1 cn=1  sm=%x11x010x ci=0x7f
  
   /VCD/ *.VCD
    data sector:  fn=0 cn=0  sm=%x000100x ci=0

   *.*
    data sector:  fn=1 cn=0  sm=%x0001000 ci=0

 \endverbatim

*/

/* file numbers */

/* dynamic */

/** channel numbers */
#define CN_VIDEO   0x01
#define CN_STILL   0x02
#define CN_STILL2  0x03
#define CN_AUDIO   0x01
#define CN_AUDIO2  0x02
#define CN_OGT     0x02 /**< fixme -- is it 0x04 ?? */
#define CN_PAD     0x00
#define CN_EMPTY   0x00

/** submode byte */
#define SM_EOF    (1<<7)
#define SM_REALT  (1<<6)
#define SM_FORM2  (1<<5)
#define SM_TRIG   (1<<4)
#define SM_DATA   (1<<3)
#define SM_AUDIO  (1<<2)
#define SM_VIDEO  (1<<1)
#define SM_EOR    (1<<0)

/** coding information */
#define CI_VIDEO   0x0f
#define CI_STILL   0x1f
#define CI_STILL2  0x3f
#define CI_AUDIO   0x7f
#define CI_AUDIO2  0x7f
#define CI_OGT     0x0f
#define CI_PAD     0x1f
#define CI_MPEG2   0x80
#define CI_EMPTY   0x00

/** make mode 2 form 1/2 sector
 *
 * data must be a buffer of size 2048 or 2324 for SM_FORM2
 * raw_sector must be a writable buffer of size 2352
 */
void
_vcd_make_mode2 (void *raw_sector, const void *data, uint32_t extent,
                 uint8_t fnum, uint8_t cnum, uint8_t sm, uint8_t ci);

/* ...data must be a buffer of size 2336 */

void
_vcd_make_raw_mode2 (void *raw_sector, const void *data, uint32_t extent);

#endif /* _VCD_SECTOR_H_ */


/* 
 * Local variables:
 *  c-file-style: "gnu"
 *  tab-width: 8
 *  indent-tabs-mode: nil
 * End:
 */