This file is indexed.

/usr/include/aroarfw/audio.h is in aroarfw-dev 0.1~beta5-4.

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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
//audio.h:

/*
 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2010-2013
 *
 *  This file is part of aroarfw, a RoarAudio framework for
 *  embedded systems (µControlers).
 *
 *  This file is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 3
 *  or (at your option) any later version as published by
 *  the Free Software Foundation.
 *
 *  aroarfw 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 software; see the file COPYING.  If not, write to
 *  the Free Software Foundation, 51 Franklin Street, Fifth Floor,
 *  Boston, MA 02110-1301, USA.
 */

#ifndef _AROARFW_AUDIO_H_
#define _AROARFW_AUDIO_H_

//! Channel setups for RoarAudio
typedef enum {
 //! No channels
 RCHANNELS_NONE   = 0,
 //! Mono stream (one channel)
 RCHANNELS_MONO   = 1,
 //! Stereo stream (two channels)
 RCHANNELS_STEREO = 2
} rchannels_t;

//! Codec used by streams or other audio data
typedef enum {
 //! Signed PCM data in little endian
 RCODEC_PCM_S_LE     = 0x01,
 //! Signed PCM data in big endian
 RCODEC_PCM_S_BE     = 0x02,
 //! Signed PCM data in PDP (middle) endian
 RCODEC_PCM_S_PDP    = 0x03,
 //! Unsigned PCM data in little endian
 RCODEC_PCM_U_LE     = 0x05,
 //! Unsigned PCM data in big endian
 RCODEC_PCM_U_BE     = 0x06,
 //! Unsigned PCM data in PDP (middle) endian
 RCODEC_PCM_U_PDP    = 0x07,
 //! Ogg Vorbis
 RCODEC_OGG_VORBIS   = 0x10,
 //! Native FLAC (.flac)
 RCODEC_FLAC         = 0x11,
 //! Ogg Speex (.spx)
 RCODEC_OGG_SPEEX    = 0x12,
 //! Ogg FLAC
 RCODEC_OGG_FLAC     = 0x14,
 //! Ogg CELT
 RCODEC_OGG_CELT     = 0x16,
 //! General Ogg (mixed/unknown content)
 RCODEC_OGG_GENERAL  = 0x15,
 //! Ogg container itself (to be used with virtual streams)
 RCODEC_OGG          = 0x17,
 //! Opus in Ogg
 RCODEC_OGG_OPUS     = 0x18,
 //! RoarOpus (.ro)
 RCODEC_ROAR_OPUS    = 0x19,
 //! RoarCELT (.rc)
 RCODEC_ROAR_CELT    = 0x1a,
 //! RoarSpeex (.rs)
 RCODEC_ROAR_SPEEX   = 0x1b,
 //! RIFF WAVE container (.wav) (may be used with virtual streams)
 RCODEC_RIFF_WAVE    = 0x20,
 //! Big endian RIFF WAVE file
 RCODEC_RIFX         = 0x22,
 //! Sun Audio file format (.au) (may be used with virtual streams)
 RCODEC_AU           = 0x24,
 //! Audio Interchange File Format (may be used with virtual streams)
 RCODEC_AIFF         = 0x28,
 //! A-Law
 RCODEC_ALAW         = 0x30,
 //! A-Law alike 16 bit codec in little endian (uncommon)
 RCODEC_AUTLAW_LE    = 0x31,
 //! A-Law alike 16 bit codec in big endian
 RCODEC_AUTLAW_BE    = 0x32,
 //! Alias for A-Law alike 16 bit codec
 RCODEC_AUTLAW       = RCODEC_AUTLAW_BE,
 //! mu-Law
 RCODEC_MULAW        = 0x34,
 //! mu-Law alike 16 bit codec in little endian (uncommon)
 RCODEC_MUUTLAW_LE   = 0x35,
 //! mu-Law alike 16 bit codec in big endian
 RCODEC_MUUTLAW_BE   = 0x35,
 //! Alias for mu-Law alike 16 bit codec
 RCODEC_MUUTLAW      = RCODEC_MUUTLAW_BE,
 //! GSM Codec
 RCODEC_GSM          = 0x38,
 //! GSM Codec for RIFF_WAVE files
 RCODEC_GSM49        = 0x39,
 //! SPC-700 Bit Rate Reduction of Super Nintendo Entertainment System (SNES)
 RCODEC_BRR          = 0x3c,
 //! MIDI File
 RCODEC_MIDI_FILE    = 0x08,
 //! MIDI (on-wire) protocol
 RCODEC_MIDI         = 0x60,
 //! RoarMIDI protocol
 RCODEC_ROARMIDI     = 0x64,
 //! DMX512
 RCODEC_DMX512       = 0x70,
 //! RoarDMX
 RCODEC_ROARDMX      = 0x71,

 //! RAUM Files
 RCODEC_RAUM         = 0x1c,
 //! RAUM Files with Vorbis stream
 RCODEC_RAUM_VORBIS  = 0x1d,
 //! RAUM Files with FLAC stream
 RCODEC_RAUM_FLAC    = 0x1e,
 //! Vorbis Comment Like Text
 RCODEC_META_VCLT    = 0x40,
 //! RoarAudio Like Text
 RCODEC_META_RALT    = 0x44,
 //! RoarAudio Like Binary
 RCODEC_META_RALB    = 0x4c,
 //! RoarAudio Like Binary (little endian)
 RCODEC_META_RALB_LE = 0x4d,
 //! RoarAudio Like Binary (big endian)
 RCODEC_META_RALB_BE = 0x4e,
 //! RoarAudio Like Binary (PDP (middle) endian)
 RCODEC_META_RALB_PDP= 0x4f,
 //! Null container
 RCODEC_CONT_NULL    = 0x50,
 //! GnuZIP Container
 RCODEC_CONT_GZIP    = 0x51,
 //! bzip2 container
 RCODEC_CONT_BZIP2   = 0x52,
 //! OpenPGP binary data container
 RCODEC_CONT_OPGPBIN = 0x53,
 //! OpenPGP ascii armored container
 RCODEC_CONT_OPGPASC = 0x54,
 //! TAR container
 RCODEC_CONT_TAR     = 0x55,
 //! RDS (on-wire) protocol
 RCODEC_RDS          = 0x80,
 //! User defined codec 0
 RCODEC_USER0        = 0x90,
 //! User defined codec 1
 RCODEC_USER1        = 0x91,
 //! User defined codec 2
 RCODEC_USER2        = 0x92,
 //! User defined codec 3
 RCODEC_USER3        = 0x93,
 //! User defined codec 4
 RCODEC_USER4        = 0x94,
 //! User defined codec 5
 RCODEC_USER5        = 0x95,
 //! User defined codec 6
 RCODEC_USER6        = 0x96,
 //! User defined codec 7
 RCODEC_USER7        = 0x97,
 //! User defined codec 8
 RCODEC_USER8        = 0x98,
 //! User defined codec 9
 RCODEC_USER9        = 0x99,
 //! User defined codec 10
 RCODEC_USER10       = 0x9a,
 //! User defined codec 11
 RCODEC_USER11       = 0x9b,
 //! User defined codec 12
 RCODEC_USER12       = 0x9c,
 //! User defined codec 13
 RCODEC_USER13       = 0x9d,
 //! User defined codec 14
 RCODEC_USER14       = 0x9e,
 //! User defined codec 15
 RCODEC_USER15       = 0x9f
 //! User defined codec 16
} rcodec_t;

//! RoarSpeex mode
typedef enum {
 //! Narrowband (8 kHz)
 RSPEEX_MODE_NB  = 1,
 //! Wideband (16 kHz)
 RSPEEX_MODE_WB  = 2,
 //! Ultra-wideband (32 kHz)
 RSPEEX_MODE_UWB = 3
} rspeex_mode_t;

//! Default sample rate for audio streams
#define RDEFAULT_AU_RATE         44100

//! Default number of bits per sample for audio streams
#define RDEFAULT_AU_BITS            16

//! Default channel setup for audio streams
#define RDEFAULT_AU_CHANNELS     RCHANNELS_STEREO

//! RoarSpeex file magic string
#define RSPEEX_MAGIC           "RoarSpeex"
//! Length of RoarSpeex file magic string
#define RSPEEX_MAGIC_LEN       9
//! RoarCELT file magic string
#define RCELT_MAGIC            "RoarCELT0"
//! Length of RoarCELT file magic string
#define RCELT_MAGIC_LEN        9

//! Struct to store Audio Signal information
typedef struct raudio_info {
 //! Sample rate
 unsigned int rate;
 //! Number of bits per sample
 unsigned int bits;
 //! Number of channels per frame
 rchannels_t channels;
 //! Used codec
 rcodec_t codec;
} raudio_info_t;

#endif

//ll