// SPDX-License-Identifier: MIT
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh...
#endif

GO(alDopplerFactor, vFf)
GO(alDopplerVelocity, vFf)
GO(alSpeedOfSound, vFf)
GO(alDistanceModel, vFi)
GO(alEnable, vFi)
GO(alDisable, vFi)
GO(alIsEnabled, cFi)
GO(alGetString, pFi)
GO(alGetBooleanv, vFip)
GO(alGetIntegerv, vFip)
GO(alGetFloatv, vFip)
GO(alGetDoublev, vFip)
GO(alGetBoolean, cFi)
GO(alGetInteger, iFi)
GO(alGetFloat, fFi)
GO(alGetDouble, dFi)
GO(alGetError, iFv)
GO(alIsExtensionPresent, cFp)
GOM(alGetProcAddress, pFEp)
GO(alGetEnumValue, iFp)
GO(alListenerf, vFif)
GO(alListener3f, vFifff)
GO(alListenerfv, vFip)
GO(alListeneri, vFii)
GO(alListener3i, vFiiii)
GO(alListeneriv, vFip)
GO(alGetListenerf, vFip)
GO(alGetListener3f, vFippp)
GO(alGetListenerfv, vFip)
GO(alGetListeneri, vFip)
GO(alGetListener3i, vFippp)
GO(alGetListeneriv, vFip)
GO(alGenSources, vFip)
GO(alDeleteSources, vFip)
GO(alIsSource, cFu)
GO(alSourcef, vFuif)
GO(alSource3f, vFuifff)
GO(alSourcefv, vFuip)
GO(alSourcei, vFuii)
GO(alSource3i, vFuiiii)
GO(alSourceiv, vFuip)
GO(alGetSourcef, vFuip)
GO(alGetSource3f, vFuippp)
GO(alGetSourcefv, vFuip)
GO(alGetSourcei, vFuip)
GO(alGetSource3i, vFuippp)
GO(alGetSourceiv, vFuip)
GO(alSourcePlayv, vFip)
GO(alSourceStopv, vFip)
GO(alSourceRewindv, vFip)
GO(alSourcePausev, vFip)
GO(alSourcePlay, vFu)
GO(alSourceStop, vFu)
GO(alSourceRewind, vFu)
GO(alSourcePause, vFu)
GO(alSourceQueueBuffers, vFuip)
GO(alSourceUnqueueBuffers, vFuip)
GO(alGenBuffers, vFip)
GO(alDeleteBuffers, vFip)
GO(alIsBuffer, cFu)
GO(alBufferData, vFuipii)
GO(alBufferf, vFuif)
GO(alBuffer3f, vFuifff)
GO(alBufferfv, vFuip)
GO(alBufferi, vFuii)
GO(alBuffer3i, vFuiiii)
GO(alBufferiv, vFuip)
GO(alGetBufferf, vFuip)
GO(alGetBuffer3f, vFuippp)
GO(alGetBufferfv, vFuip)
GO(alGetBufferi, vFuip)
GO(alGetBuffer3i, vFuippp)
GO(alGetBufferiv, vFuip)

GO(alcCreateContext, pFpp)
GO(alcMakeContextCurrent, cFp)
GO(alcProcessContext, vFp)
GO(alcSuspendContext, vFp)
GO(alcDestroyContext, vFp)
GO(alcGetCurrentContext, pFv)
GO(alcGetContextsDevice, pFp)
GO(alcOpenDevice, pFp)
GO(alcCloseDevice, cFp)
GO(alcGetError, iFp)
GO(alcIsExtensionPresent, cFpp)
GOM(alcGetProcAddress, pFEpp)
GO(alcGetEnumValue, iFpp)
GO(alcGetString, pFpi)
GO(alcGetIntegerv, vFpiip)
GO(alcCaptureOpenDevice, pFpuii)
GO(alcCaptureCloseDevice, cFp)
GO(alcCaptureStart, vFp)
GO(alcCaptureStop, vFp)
GO(alcCaptureSamples, vFppi)

GO(alcGetThreadContext, pFv)
GO(alcSetThreadContext, cFp)
GO(alcLoopbackOpenDeviceSOFT, pFp)
GO(alcIsRenderFormatSupportedSOFT, cFpiii)
GO(alcRenderSamplesSOFT, vFppi)
GO(alcDevicePauseSOFT, vFp)
GO(alcDeviceResumeSOFT, vFp)
GO(alcGetStringiSOFT, pFpii)
GO(alcResetDeviceSOFT, cFpp)
GO(alcGetInteger64vSOFT, vFpiip)

GO(alBufferDataStatic, vFuipii)
GO(alBufferSubDataSOFT, vFuipii)
GOM(alRequestFoldbackStart, vFEiiipp)
GOM(alRequestFoldbackStop, vFEv)
GO(alBufferSamplesSOFT, vFuuiiiip)
GO(alBufferSubSamplesSOFT, vFuiiiip)
GO(alGetBufferSamplesSOFT, vFuiiiip)
GO(alIsBufferFormatSupportedSOFT, cFi)
GO(alSourcedSOFT, vFuid)
GO(alSource3dSOFT, vFuiddd)
GO(alSourcedvSOFT, vFuip)
GO(alGetSourcedSOFT, vFuip)
GO(alGetSource3dSOFT, vFuippp)
GO(alGetSourcedvSOFT, vFuip)
GO(alSourcei64SOFT, vFuiI)
GO(alSource3i64SOFT, vFuiIII)
GO(alSourcei64vSOFT, vFuip)
GO(alGetSourcei64SOFT, vFuip)
GO(alGetSource3i64SOFT, vFuippp)
GO(alGetSourcei64vSOFT, vFuip)
GO(alDeferUpdatesSOFT, vFv)
GO(alProcessUpdatesSOFT, vFv)
GO(alGetStringiSOFT, pFii)

GO(alGenEffects, vFip)
GO(alDeleteEffects, vFip)
GO(alIsEffect, cFu)
GO(alEffecti, vFuii)
GO(alEffectiv, vFuip)
GO(alEffectf, vFuif)
GO(alEffectfv, vFuip)
GO(alGetEffecti, vFuip)
GO(alGetEffectiv, vFuip)
GO(alGetEffectf, vFuip)
GO(alGetEffectfv, vFuip)
GO(alGenFilters, vFip)
GO(alDeleteFilters, vFip)
GO(alIsFilter, cFu)
GO(alFilteri, vFuii)
GO(alFilteriv, vFuip)
GO(alFilterf, vFuif)
GO(alFilterfv, vFuip)
GO(alGetFilteri, vFuip)
GO(alGetFilteriv, vFuip)
GO(alGetFilterf, vFuip)
GO(alGetFilterfv, vFuip)
GO(alGenAuxiliaryEffectSlots, vFip)
GO(alDeleteAuxiliaryEffectSlots, vFip)
GO(alIsAuxiliaryEffectSlot, cFu)
GO(alAuxiliaryEffectSloti, vFuii)
GO(alAuxiliaryEffectSlotiv, vFuip)
GO(alAuxiliaryEffectSlotf, vFuif)
GO(alAuxiliaryEffectSlotfv, vFuip)
GO(alGetAuxiliaryEffectSloti, vFuip)
GO(alGetAuxiliaryEffectSlotiv, vFuip)
GO(alGetAuxiliaryEffectSlotf, vFuip)
GO(alGetAuxiliaryEffectSlotfv, vFuip)
