summaryrefslogtreecommitdiffstats
path: root/deps/salad/include/AL/alc.h
diff options
context:
space:
mode:
authoruntodesu <kirill@untode.su>2025-06-28 01:59:49 +0500
committeruntodesu <kirill@untode.su>2025-06-28 01:59:49 +0500
commit61e5bcef2629e2d68b805a956a96fff264d4f74d (patch)
treebca3a94bac79d34e3c0db57c77604f5a823ecbda /deps/salad/include/AL/alc.h
parent88c01588aa0830e219eaa62588839e4d1e2883ce (diff)
downloadvoxelius-61e5bcef2629e2d68b805a956a96fff264d4f74d.tar.bz2
voxelius-61e5bcef2629e2d68b805a956a96fff264d4f74d.zip
Restructure dependencies and update to C++20
- Nuked static_assert from almost everywhere in the project - Nuked binary dependency support. Might add one later though - Separated dependency headers into a separate include subdirectory - Grafted a thirdpartylegalnotices.txt generator from RITEG - Pushed development snapshot version to 2126 (26th week of 2025)
Diffstat (limited to 'deps/salad/include/AL/alc.h')
-rw-r--r--deps/salad/include/AL/alc.h147
1 files changed, 147 insertions, 0 deletions
diff --git a/deps/salad/include/AL/alc.h b/deps/salad/include/AL/alc.h
new file mode 100644
index 0000000..4f28de8
--- /dev/null
+++ b/deps/salad/include/AL/alc.h
@@ -0,0 +1,147 @@
+/*
+ * alc.h - Context OpenAL functions
+ * Copyright (C) 2021-2025, Kirill Dmtirievich
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef AL_ALC_H
+#define AL_ALC_H 1
+#include <AL/salad.h>
+
+#define ALC_VERSION_0_1 1
+
+#define ALC_APIENTRY SALAD_ALX_APIENTRY
+
+typedef salad_float32_type ALCfloat;
+typedef salad_float64_type ALCdouble;
+typedef salad_int16_type ALCshort;
+typedef salad_int32_type ALCint;
+typedef salad_int32_type ALCsizei;
+typedef salad_int8_type ALCbyte;
+typedef salad_uint16_type ALCushort;
+typedef salad_uint32_type ALCenum;
+typedef salad_uint32_type ALCuint;
+typedef salad_uint8_type ALCboolean;
+typedef salad_uint8_type ALCchar;
+typedef salad_uint8_type ALCubyte;
+typedef void ALCvoid;
+
+struct ALCdevice;
+struct ALCcontext;
+
+typedef struct ALCdevice ALCdevice;
+typedef struct ALCcontext ALCcontext;
+
+#define ALC_INVALID (0x0000)
+#define ALC_FALSE (0x0000)
+#define ALC_TRUE (0x0001)
+
+#define ALC_ALL_ATTRIBUTES (0x1003)
+#define ALC_ALL_DEVICES_SPECIFIER (0x1013)
+#define ALC_ATTRIBUTES_SIZE (0x1002)
+#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER (0x0311)
+#define ALC_CAPTURE_DEVICE_SPECIFIER (0x0310)
+#define ALC_CAPTURE_SAMPLES (0x0312)
+#define ALC_DEFAULT_ALL_DEVICES_SPECIFIER (0x1012)
+#define ALC_DEFAULT_DEVICE_SPECIFIER (0x1004)
+#define ALC_DEVICE_SPECIFIER (0x1005)
+#define ALC_ENUMERATE_ALL_EXT (0x0001)
+#define ALC_EXT_CAPTURE (0x0001)
+#define ALC_EXTENSIONS (0x1006)
+#define ALC_FREQUENCY (0x1007)
+#define ALC_INVALID_CONTEXT (0xA002)
+#define ALC_INVALID_DEVICE (0xA001)
+#define ALC_INVALID_ENUM (0xA003)
+#define ALC_INVALID_VALUE (0xA004)
+#define ALC_MAJOR_VERSION (0x1000)
+#define ALC_MINOR_VERSION (0x1001)
+#define ALC_MONO_SOURCES (0x1010)
+#define ALC_NO_ERROR (0x0000)
+#define ALC_OUT_OF_MEMORY (0xA005)
+#define ALC_REFRESH (0x1008)
+#define ALC_STEREO_SOURCES (0x1011)
+#define ALC_SYNC (0x1009)
+
+typedef ALCboolean(ALC_APIENTRY *PFN_alcCaptureCloseDevice)(ALCdevice *device);
+typedef ALCboolean(ALC_APIENTRY *PFN_alcCloseDevice)(ALCdevice *device);
+typedef ALCboolean(ALC_APIENTRY *PFN_alcIsExtensionPresent)(ALCdevice *device, const ALCchar *extname);
+typedef ALCboolean(ALC_APIENTRY *PFN_alcMakeContextCurrent)(ALCcontext *context);
+typedef ALCcontext *(ALC_APIENTRY *PFN_alcCreateContext)(ALCdevice *device, const ALCint *attrlist);
+typedef ALCcontext *(ALC_APIENTRY *PFN_alcGetCurrentContext)(void);
+typedef ALCdevice *(ALC_APIENTRY *PFN_alcCaptureOpenDevice)(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize);
+typedef ALCdevice *(ALC_APIENTRY *PFN_alcGetContextsDevice)(ALCcontext *context);
+typedef ALCdevice *(ALC_APIENTRY *PFN_alcOpenDevice)(const ALCchar *devicename);
+typedef ALCenum(ALC_APIENTRY *PFN_alcGetEnumValue)(ALCdevice *device, const ALCchar *enumname);
+typedef ALCenum(ALC_APIENTRY *PFN_alcGetError)(ALCdevice *device);
+typedef ALCvoid *(ALC_APIENTRY *PFN_alcGetProcAddress)(ALCdevice *device, const ALCchar *funcname);
+typedef const ALCchar *(ALC_APIENTRY *PFN_alcGetString)(ALCdevice *device, ALCenum param);
+typedef void(ALC_APIENTRY *PFN_alcCaptureSamples)(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
+typedef void(ALC_APIENTRY *PFN_alcCaptureStart)(ALCdevice *device);
+typedef void(ALC_APIENTRY *PFN_alcCaptureStop)(ALCdevice *device);
+typedef void(ALC_APIENTRY *PFN_alcDestroyContext)(ALCcontext *context);
+typedef void(ALC_APIENTRY *PFN_alcGetIntegerv)(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values);
+typedef void(ALC_APIENTRY *PFN_alcProcessContext)(ALCcontext *context);
+typedef void(ALC_APIENTRY *PFN_alcSuspendContext)(ALCcontext *context);
+
+SALAD_EXTERN PFN_alcCaptureCloseDevice SALAD_alcCaptureCloseDevice;
+SALAD_EXTERN PFN_alcCaptureOpenDevice SALAD_alcCaptureOpenDevice;
+SALAD_EXTERN PFN_alcCaptureSamples SALAD_alcCaptureSamples;
+SALAD_EXTERN PFN_alcCaptureStart SALAD_alcCaptureStart;
+SALAD_EXTERN PFN_alcCaptureStop SALAD_alcCaptureStop;
+SALAD_EXTERN PFN_alcCloseDevice SALAD_alcCloseDevice;
+SALAD_EXTERN PFN_alcCreateContext SALAD_alcCreateContext;
+SALAD_EXTERN PFN_alcDestroyContext SALAD_alcDestroyContext;
+SALAD_EXTERN PFN_alcGetContextsDevice SALAD_alcGetContextsDevice;
+SALAD_EXTERN PFN_alcGetCurrentContext SALAD_alcGetCurrentContext;
+SALAD_EXTERN PFN_alcGetEnumValue SALAD_alcGetEnumValue;
+SALAD_EXTERN PFN_alcGetError SALAD_alcGetError;
+SALAD_EXTERN PFN_alcGetIntegerv SALAD_alcGetIntegerv;
+SALAD_EXTERN PFN_alcGetProcAddress SALAD_alcGetProcAddress;
+SALAD_EXTERN PFN_alcGetString SALAD_alcGetString;
+SALAD_EXTERN PFN_alcIsExtensionPresent SALAD_alcIsExtensionPresent;
+SALAD_EXTERN PFN_alcMakeContextCurrent SALAD_alcMakeContextCurrent;
+SALAD_EXTERN PFN_alcOpenDevice SALAD_alcOpenDevice;
+SALAD_EXTERN PFN_alcProcessContext SALAD_alcProcessContext;
+SALAD_EXTERN PFN_alcSuspendContext SALAD_alcSuspendContext;
+
+#define alcCaptureCloseDevice SALAD_alcCaptureCloseDevice
+#define alcCaptureOpenDevice SALAD_alcCaptureOpenDevice
+#define alcCaptureSamples SALAD_alcCaptureSamples
+#define alcCaptureStart SALAD_alcCaptureStart
+#define alcCaptureStop SALAD_alcCaptureStop
+#define alcCloseDevice SALAD_alcCloseDevice
+#define alcCreateContext SALAD_alcCreateContext
+#define alcDestroyContext SALAD_alcDestroyContext
+#define alcGetContextsDevice SALAD_alcGetContextsDevice
+#define alcGetCurrentContext SALAD_alcGetCurrentContext
+#define alcGetEnumValue SALAD_alcGetEnumValue
+#define alcGetError SALAD_alcGetError
+#define alcGetIntegerv SALAD_alcGetIntegerv
+#define alcGetProcAddress SALAD_alcGetProcAddress
+#define alcGetString SALAD_alcGetString
+#define alcIsExtensionPresent SALAD_alcIsExtensionPresent
+#define alcMakeContextCurrent SALAD_alcMakeContextCurrent
+#define alcOpenDevice SALAD_alcOpenDevice
+#define alcProcessContext SALAD_alcProcessContext
+#define alcSuspendContext SALAD_alcSuspendContext
+
+#endif /* AL_ALC_H */