Avoid using ATOMIC macros
[openal-soft.git] / Alc / inprogext.h
blob3025abe2ff8b874025799aaf7a092fd40578d748
1 #ifndef INPROGEXT_H
2 #define INPROGEXT_H
4 #include "AL/al.h"
5 #include "AL/alc.h"
6 #include "AL/alext.h"
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
12 #ifndef ALC_SOFT_loopback2
13 #define ALC_SOFT_loopback2 1
14 #define ALC_AMBISONIC_LAYOUT_SOFT 0xfff0
15 #define ALC_AMBISONIC_SCALING_SOFT 0xfff1
16 #define ALC_AMBISONIC_ORDER_SOFT 0xfff2
17 #define ALC_MAX_AMBISONIC_ORDER_SOFT 0xfff3
19 #define ALC_BFORMAT3D_SOFT 0x1508
21 /* Ambisonic layouts */
22 #define ALC_ACN_SOFT 0xfff4
23 #define ALC_FUMA_SOFT 0xfff5
25 /* Ambisonic scalings (normalization) */
26 /*#define ALC_FUMA_SOFT*/
27 #define ALC_SN3D_SOFT 0xfff6
28 #define ALC_N3D_SOFT 0xfff7
29 #endif
31 #ifndef AL_SOFT_map_buffer
32 #define AL_SOFT_map_buffer 1
33 typedef unsigned int ALbitfieldSOFT;
34 #define AL_MAP_READ_BIT_SOFT 0x00000001
35 #define AL_MAP_WRITE_BIT_SOFT 0x00000002
36 #define AL_MAP_PERSISTENT_BIT_SOFT 0x00000004
37 #define AL_PRESERVE_DATA_BIT_SOFT 0x00000008
38 typedef void (AL_APIENTRY*LPALBUFFERSTORAGESOFT)(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq, ALbitfieldSOFT flags);
39 typedef void* (AL_APIENTRY*LPALMAPBUFFERSOFT)(ALuint buffer, ALsizei offset, ALsizei length, ALbitfieldSOFT access);
40 typedef void (AL_APIENTRY*LPALUNMAPBUFFERSOFT)(ALuint buffer);
41 typedef void (AL_APIENTRY*LPALFLUSHMAPPEDBUFFERSOFT)(ALuint buffer, ALsizei offset, ALsizei length);
42 #ifdef AL_ALEXT_PROTOTYPES
43 AL_API void AL_APIENTRY alBufferStorageSOFT(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq, ALbitfieldSOFT flags);
44 AL_API void* AL_APIENTRY alMapBufferSOFT(ALuint buffer, ALsizei offset, ALsizei length, ALbitfieldSOFT access);
45 AL_API void AL_APIENTRY alUnmapBufferSOFT(ALuint buffer);
46 AL_API void AL_APIENTRY alFlushMappedBufferSOFT(ALuint buffer, ALsizei offset, ALsizei length);
47 #endif
48 #endif
50 #ifndef AL_SOFT_events
51 #define AL_SOFT_events 1
52 #define AL_EVENT_CALLBACK_FUNCTION_SOFT 0x1220
53 #define AL_EVENT_CALLBACK_USER_PARAM_SOFT 0x1221
54 #define AL_EVENT_TYPE_BUFFER_COMPLETED_SOFT 0x1222
55 #define AL_EVENT_TYPE_SOURCE_STATE_CHANGED_SOFT 0x1223
56 #define AL_EVENT_TYPE_ERROR_SOFT 0x1224
57 #define AL_EVENT_TYPE_PERFORMANCE_SOFT 0x1225
58 #define AL_EVENT_TYPE_DEPRECATED_SOFT 0x1226
59 #define AL_EVENT_TYPE_DISCONNECTED_SOFT 0x1227
60 typedef void (AL_APIENTRY*ALEVENTPROCSOFT)(ALenum eventType, ALuint object, ALuint param,
61 ALsizei length, const ALchar *message,
62 void *userParam);
63 typedef void (AL_APIENTRY*LPALEVENTCONTROLSOFT)(ALsizei count, const ALenum *types, ALboolean enable);
64 typedef void (AL_APIENTRY*LPALEVENTCALLBACKSOFT)(ALEVENTPROCSOFT callback, void *userParam);
65 typedef void* (AL_APIENTRY*LPALGETPOINTERSOFT)(ALenum pname);
66 typedef void (AL_APIENTRY*LPALGETPOINTERVSOFT)(ALenum pname, void **values);
67 #ifdef AL_ALEXT_PROTOTYPES
68 AL_API void AL_APIENTRY alEventControlSOFT(ALsizei count, const ALenum *types, ALboolean enable);
69 AL_API void AL_APIENTRY alEventCallbackSOFT(ALEVENTPROCSOFT callback, void *userParam);
70 AL_API void* AL_APIENTRY alGetPointerSOFT(ALenum pname);
71 AL_API void AL_APIENTRY alGetPointervSOFT(ALenum pname, void **values);
72 #endif
73 #endif
75 #ifndef AL_SOFT_buffer_layers
76 #define AL_SOFT_buffer_layers
77 typedef void (AL_APIENTRY*LPALSOURCEQUEUEBUFFERLAYERSSOFT)(ALuint src, ALsizei nb, const ALuint *buffers);
78 #ifdef AL_ALEXT_PROTOTYPES
79 AL_API void AL_APIENTRY alSourceQueueBufferLayersSOFT(ALuint src, ALsizei nb, const ALuint *buffers);
80 #endif
81 #endif
83 #ifdef __cplusplus
84 } /* extern "C" */
85 #endif
87 #endif /* INPROGEXT_H */