]> git.jsancho.org Git - lugaru.git/blob - Dependencies/OpenAL/include/AL/alext.h
1ce1fb6a9f39617b8c970f8a9050bae98e1953d1
[lugaru.git] / Dependencies / OpenAL / include / AL / alext.h
1 /**
2  * OpenAL cross platform audio library
3  * Copyright (C) 2008 by authors.
4  * This library is free software; you can redistribute it and/or
5  *  modify it under the terms of the GNU Library General Public
6  *  License as published by the Free Software Foundation; either
7  *  version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  *  Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  *  License along with this library; if not, write to the
16  *  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  *  Boston, MA  02111-1307, USA.
18  * Or go to http://www.gnu.org/copyleft/lgpl.html
19  */
20
21 #ifndef AL_ALEXT_H
22 #define AL_ALEXT_H
23
24 #include <stddef.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 #ifndef AL_LOKI_IMA_ADPCM_format
31 #define AL_LOKI_IMA_ADPCM_format 1
32 #define AL_FORMAT_IMA_ADPCM_MONO16_EXT           0x10000
33 #define AL_FORMAT_IMA_ADPCM_STEREO16_EXT         0x10001
34 #endif
35
36 #ifndef AL_LOKI_WAVE_format
37 #define AL_LOKI_WAVE_format 1
38 #define AL_FORMAT_WAVE_EXT                       0x10002
39 #endif
40
41 #ifndef AL_EXT_vorbis
42 #define AL_EXT_vorbis 1
43 #define AL_FORMAT_VORBIS_EXT                     0x10003
44 #endif
45
46 #ifndef AL_LOKI_quadriphonic
47 #define AL_LOKI_quadriphonic 1
48 #define AL_FORMAT_QUAD8_LOKI                     0x10004
49 #define AL_FORMAT_QUAD16_LOKI                    0x10005
50 #endif
51
52 #ifndef AL_EXT_float32
53 #define AL_EXT_float32 1
54 #define AL_FORMAT_MONO_FLOAT32                   0x10010
55 #define AL_FORMAT_STEREO_FLOAT32                 0x10011
56 #endif
57
58 #ifndef AL_EXT_double
59 #define AL_EXT_double 1
60 #define AL_FORMAT_MONO_DOUBLE_EXT                0x10012
61 #define AL_FORMAT_STEREO_DOUBLE_EXT              0x10013
62 #endif
63
64 #ifndef ALC_LOKI_audio_channel
65 #define ALC_LOKI_audio_channel 1
66 #define ALC_CHAN_MAIN_LOKI                       0x500001
67 #define ALC_CHAN_PCM_LOKI                        0x500002
68 #define ALC_CHAN_CD_LOKI                         0x500003
69 #endif
70
71 #ifndef ALC_ENUMERATE_ALL_EXT
72 #define ALC_ENUMERATE_ALL_EXT 1
73 #define ALC_DEFAULT_ALL_DEVICES_SPECIFIER        0x1012
74 #define ALC_ALL_DEVICES_SPECIFIER                0x1013
75 #endif
76
77 #ifndef AL_EXT_MCFORMATS
78 #define AL_EXT_MCFORMATS 1
79 #define AL_FORMAT_QUAD8                          0x1204
80 #define AL_FORMAT_QUAD16                         0x1205
81 #define AL_FORMAT_QUAD32                         0x1206
82 #define AL_FORMAT_REAR8                          0x1207
83 #define AL_FORMAT_REAR16                         0x1208
84 #define AL_FORMAT_REAR32                         0x1209
85 #define AL_FORMAT_51CHN8                         0x120A
86 #define AL_FORMAT_51CHN16                        0x120B
87 #define AL_FORMAT_51CHN32                        0x120C
88 #define AL_FORMAT_61CHN8                         0x120D
89 #define AL_FORMAT_61CHN16                        0x120E
90 #define AL_FORMAT_61CHN32                        0x120F
91 #define AL_FORMAT_71CHN8                         0x1210
92 #define AL_FORMAT_71CHN16                        0x1211
93 #define AL_FORMAT_71CHN32                        0x1212
94 #endif
95
96 #ifndef AL_EXT_MULAW_MCFORMATS
97 #define AL_EXT_MULAW_MCFORMATS 1
98 #define AL_FORMAT_MONO_MULAW                     0x10014
99 #define AL_FORMAT_STEREO_MULAW                   0x10015
100 #define AL_FORMAT_QUAD_MULAW                     0x10021
101 #define AL_FORMAT_REAR_MULAW                     0x10022
102 #define AL_FORMAT_51CHN_MULAW                    0x10023
103 #define AL_FORMAT_61CHN_MULAW                    0x10024
104 #define AL_FORMAT_71CHN_MULAW                    0x10025
105 #endif
106
107 #ifndef AL_EXT_IMA4
108 #define AL_EXT_IMA4 1
109 #define AL_FORMAT_MONO_IMA4                      0x1300
110 #define AL_FORMAT_STEREO_IMA4                    0x1301
111 #endif
112
113 #ifndef AL_EXT_buffer_sub_data
114 #define AL_EXT_buffer_sub_data 1
115 #define AL_BYTE_RW_OFFSETS_EXT                   0x1031
116 #define AL_SAMPLE_RW_OFFSETS_EXT                 0x1032
117 typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATAEXTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei);
118 #ifdef AL_ALEXT_PROTOTYPES
119 AL_API ALvoid AL_APIENTRY alBufferSubDataEXT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length);
120 #endif
121 #endif
122
123 #ifndef AL_EXT_STATIC_BUFFER
124 #define AL_EXT_STATIC_BUFFER 1
125 typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei);
126 #ifdef AL_ALEXT_PROTOTYPES
127 AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq);
128 #endif
129 #endif
130
131 #ifndef AL_EXT_sample_buffer_object
132 #define AL_EXT_sample_buffer_object 1
133 typedef ptrdiff_t ALintptrEXT;
134 typedef ptrdiff_t ALsizeiptrEXT;
135 #define AL_SAMPLE_SOURCE_EXT                     0x1040
136 #define AL_SAMPLE_SINK_EXT                       0x1041
137 #define AL_READ_ONLY_EXT                         0x1042
138 #define AL_WRITE_ONLY_EXT                        0x1043
139 #define AL_READ_WRITE_EXT                        0x1044
140 #define AL_STREAM_WRITE_EXT                      0x1045
141 #define AL_STREAM_READ_EXT                       0x1046
142 #define AL_STREAM_COPY_EXT                       0x1047
143 #define AL_STATIC_WRITE_EXT                      0x1048
144 #define AL_STATIC_READ_EXT                       0x1049
145 #define AL_STATIC_COPY_EXT                       0x104A
146 #define AL_DYNAMIC_WRITE_EXT                     0x104B
147 #define AL_DYNAMIC_READ_EXT                      0x104C
148 #define AL_DYNAMIC_COPY_EXT                      0x104D
149 typedef ALvoid (AL_APIENTRY*PFNALGENDATABUFFERSEXTPROC)(ALsizei n,ALuint *puiBuffers);
150 typedef ALvoid (AL_APIENTRY*PFNALDELETEDATABUFFERSEXTPROC)(ALsizei n, const ALuint *puiBuffers);
151 typedef ALboolean (AL_APIENTRY*PFNALISDATABUFFEREXTPROC)(ALuint uiBuffer);
152 typedef ALvoid (AL_APIENTRY*PFNALDATABUFFERDATAEXTPROC)(ALuint buffer,const ALvoid *data,ALsizeiptrEXT size,ALenum usage);
153 typedef ALvoid (AL_APIENTRY*PFNALDATABUFFERSUBDATAEXTPROC)(ALuint buffer, ALintptrEXT start, ALsizeiptrEXT length, const ALvoid *);
154 typedef ALvoid (AL_APIENTRY*PFNALGETDATABUFFERSUBDATAEXTPROC)(ALuint buffer, ALintptrEXT start, ALsizeiptrEXT length, ALvoid *);
155 typedef ALvoid (AL_APIENTRY*PFNALDATABUFFERFEXTPROC)(ALuint buffer, ALenum eParam, ALfloat flValue);
156 typedef ALvoid (AL_APIENTRY*PFNALDATABUFFERFVEXTPROC)(ALuint buffer, ALenum eParam, const ALfloat* flValues);
157 typedef ALvoid (AL_APIENTRY*PFNALDATABUFFERIEXTPROC)(ALuint buffer, ALenum eParam, ALint lValue);
158 typedef ALvoid (AL_APIENTRY*PFNALDATABUFFERIVEXTPROC)(ALuint buffer, ALenum eParam, const ALint* plValues);
159 typedef ALvoid (AL_APIENTRY*PFNALGETDATABUFFERFEXTPROC)(ALuint buffer, ALenum eParam, ALfloat *pflValue);
160 typedef ALvoid (AL_APIENTRY*PFNALGETDATABUFFERFVEXTPROC)(ALuint buffer, ALenum eParam, ALfloat* pflValues);
161 typedef ALvoid (AL_APIENTRY*PFNALGETDATABUFFERIEXTPROC)(ALuint buffer, ALenum eParam, ALint *plValue);
162 typedef ALvoid (AL_APIENTRY*PFNALGETDATABUFFERIVEXTPROC)(ALuint buffer, ALenum eParam, ALint* plValues);
163 typedef ALvoid (AL_APIENTRY*PFNALSELECTDATABUFFEREXTPROC)(ALenum target, ALuint uiBuffer);
164 typedef ALvoid* (AL_APIENTRY*PFNALMAPDATABUFFEREXTPROC)(ALuint uiBuffer, ALintptrEXT start, ALsizeiptrEXT length, ALenum access);
165 typedef ALvoid (AL_APIENTRY*PFNALUNMAPDATABUFFEREXTPROC)(ALuint uiBuffer);
166 #ifdef AL_ALEXT_PROTOTYPES
167 AL_API ALvoid AL_APIENTRY alGenDatabuffersEXT(ALsizei n,ALuint *puiBuffers);
168 AL_API ALvoid AL_APIENTRY alDeleteDatabuffersEXT(ALsizei n, const ALuint *puiBuffers);
169 AL_API ALboolean AL_APIENTRY alIsDatabufferEXT(ALuint uiBuffer);
170 AL_API ALvoid AL_APIENTRY alDatabufferDataEXT(ALuint buffer,const ALvoid *data,ALsizeiptrEXT size,ALenum usage);
171 AL_API ALvoid AL_APIENTRY alDatabufferSubDataEXT(ALuint buffer, ALintptrEXT start, ALsizeiptrEXT length, const ALvoid *data);
172 AL_API ALvoid AL_APIENTRY alGetDatabufferSubDataEXT(ALuint buffer, ALintptrEXT start, ALsizeiptrEXT length, ALvoid *data);
173 AL_API ALvoid AL_APIENTRY alDatabufferfEXT(ALuint buffer, ALenum eParam, ALfloat flValue);
174 AL_API ALvoid AL_APIENTRY alDatabufferfvEXT(ALuint buffer, ALenum eParam, const ALfloat* flValues);
175 AL_API ALvoid AL_APIENTRY alDatabufferiEXT(ALuint buffer, ALenum eParam, ALint lValue);
176 AL_API ALvoid AL_APIENTRY alDatabufferivEXT(ALuint buffer, ALenum eParam, const ALint* plValues);
177 AL_API ALvoid AL_APIENTRY alGetDatabufferfEXT(ALuint buffer, ALenum eParam, ALfloat *pflValue);
178 AL_API ALvoid AL_APIENTRY alGetDatabufferfvEXT(ALuint buffer, ALenum eParam, ALfloat* pflValues);
179 AL_API ALvoid AL_APIENTRY alGetDatabufferiEXT(ALuint buffer, ALenum eParam, ALint *plValue);
180 AL_API ALvoid AL_APIENTRY alGetDatabufferivEXT(ALuint buffer, ALenum eParam, ALint* plValues);
181 AL_API ALvoid AL_APIENTRY alSelectDatabufferEXT(ALenum target, ALuint uiBuffer);
182 AL_API ALvoid* AL_APIENTRY alMapDatabufferEXT(ALuint uiBuffer, ALintptrEXT start, ALsizeiptrEXT length, ALenum access);
183 AL_API ALvoid AL_APIENTRY alUnmapDatabufferEXT(ALuint uiBuffer);
184 #endif
185 #endif
186
187 #ifndef ALC_EXT_EFX
188 #define ALC_EXT_EFX 1
189 #include "efx.h"
190 #endif
191
192 #ifndef ALC_EXT_disconnect
193 #define ALC_EXT_disconnect 1
194 #define ALC_CONNECTED                            0x313
195 #endif
196
197 #ifndef ALC_EXT_thread_local_context
198 #define ALC_EXT_thread_local_context 1
199 typedef ALCboolean  (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context);
200 typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void);
201 #ifdef AL_ALEXT_PROTOTYPES
202 ALC_API ALCboolean  ALC_APIENTRY alcSetThreadContext(ALCcontext *context);
203 ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void);
204 #endif
205 #endif
206
207 #ifndef AL_EXT_source_distance_model
208 #define AL_EXT_source_distance_model 1
209 #define AL_SOURCE_DISTANCE_MODEL                 0x200
210 #endif
211
212 #ifdef __cplusplus
213 }
214 #endif
215
216 #endif