This file is indexed.

/usr/include/k3btrack.h is in libk3b-dev 2.0.2-7ubuntu1.

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
146
147
148
149
150
151
/*
 *
 * Copyright (C) 2003-2009 Sebastian Trueg <trueg@k3b.org>
 *
 * This file is part of the K3b project.
 * Copyright (C) 1998-2009 Sebastian Trueg <trueg@k3b.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.
 * See the file "COPYING" for the exact licensing terms.
 */



#ifndef K3BTRACK_H
#define K3BTRACK_H

#include "k3bmsf.h"
#include "k3bdevice_export.h"

#include <QtCore/QSharedDataPointer>

namespace K3b {
    namespace Device
    {
        class LIBK3BDEVICE_EXPORT Track
        {
        public:
            enum TrackType {
                TYPE_AUDIO,
                TYPE_DATA,
                TYPE_UNKNOWN = -1
            };

            enum DataMode {
                MODE1,
                MODE2,
                XA_FORM1,
                XA_FORM2,
                DVD,
                UNKNOWN
            };

            Track();
            Track( const Track& );
            Track( const K3b::Msf& firstSector,
                   const K3b::Msf& lastSector,
                   TrackType type,
                   DataMode mode = UNKNOWN );
            ~Track();

            Track& operator=( const Track& );

            TrackType type() const;

            void setType( TrackType );

            /**
             * UNKNOWN for DVDs and Audio CDs
             */
            DataMode mode() const;

            void setMode( DataMode );

            /**
             * Invalid for DVDs
             */
            bool copyPermitted() const;
            void setCopyPermitted( bool b );

            /**
             * Only valid for audio tracks
             */
            bool preEmphasis() const;
            void setPreEmphasis( bool b );

            bool recordedIncremental() const;
            bool recordedUninterrupted() const;

            QByteArray isrc() const;
            void setIsrc( const QByteArray& s );

            K3b::Msf firstSector() const;
            K3b::Msf lastSector() const;
            void setFirstSector( const K3b::Msf& msf );
            void setLastSector( const K3b::Msf& msf );

            K3b::Msf nextWritableAddress() const;
            void setNextWritableAddress( const K3b::Msf& );

            K3b::Msf freeBlocks() const;
            void setFreeBlocks( const K3b::Msf& );

            K3b::Msf length() const;

            /**
             * This takes index0 into account
             */
            K3b::Msf realAudioLength() const;

            /**
             * 0 if unknown
             */
            int session() const;
            void setSession( int s );

            /**
             * @return number of indices. This does not include index 0.
             */
            int indexCount() const;

            /**
             * Returns the index relative to the track's start.
             * If it is zero there is no index0.
             */
            K3b::Msf index0() const;

            /**
             * Set the track's index0 value.
             * @param msf offset relative to track start.
             */
            void setIndex0( const K3b::Msf& msf );

            /**
             * All indices. Normally this list is empty as indices are rarely used.
             * Starts with index 2 (since index 1 are all other sectors FIXME)
             */
            QList<K3b::Msf> indices() const;

            void setIndices( const QList<K3b::Msf>& );

            bool operator==( const Track& ) const;
            bool operator!=( const Track& ) const;

        private:
            class Private;
            QSharedDataPointer<Private> d;
        };
    }
}

LIBK3BDEVICE_EXPORT QDebug operator<<( QDebug s, const K3b::Device::Track& track );

/**
 * Dummy implementation to allow compilation on Windows
 */
uint qHash( const K3b::Device::Track& key );

#endif