#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,iFp)
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,vFiipii)
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, vFuil)
GO(alSource3i64SOFT, vFuilll)
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)
