#ifndef ROUTER_ROUTER_H #define ROUTER_ROUTER_H #define WIN32_LEAN_AND_MEAN #include #include #include "AL/alc.h" #include "AL/al.h" #include "atomic.h" typedef struct DriverIface { WCHAR Name[32]; HMODULE Module; LPALCCREATECONTEXT alcCreateContext; LPALCMAKECONTEXTCURRENT alcMakeContextCurrent; LPALCPROCESSCONTEXT alcProcessContext; LPALCSUSPENDCONTEXT alcSuspendContext; LPALCDESTROYCONTEXT alcDestroyContext; LPALCGETCURRENTCONTEXT alcGetCurrentContext; LPALCGETCONTEXTSDEVICE alcGetContextsDevice; LPALCOPENDEVICE alcOpenDevice; LPALCCLOSEDEVICE alcCloseDevice; LPALCGETERROR alcGetError; LPALCISEXTENSIONPRESENT alcIsExtensionPresent; LPALCGETPROCADDRESS alcGetProcAddress; LPALCGETENUMVALUE alcGetEnumValue; LPALCGETSTRING alcGetString; LPALCGETINTEGERV alcGetIntegerv; LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice; LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice; LPALCCAPTURESTART alcCaptureStart; LPALCCAPTURESTOP alcCaptureStop; LPALCCAPTURESAMPLES alcCaptureSamples; LPALENABLE alEnable; LPALDISABLE alDisable; LPALISENABLED alIsEnabled; LPALGETSTRING alGetString; LPALGETBOOLEANV alGetBooleanv; LPALGETINTEGERV alGetIntegerv; LPALGETFLOATV alGetFloatv; LPALGETDOUBLEV alGetDoublev; LPALGETBOOLEAN alGetBoolean; LPALGETINTEGER alGetInteger; LPALGETFLOAT alGetFloat; LPALGETDOUBLE alGetDouble; LPALGETERROR alGetError; LPALISEXTENSIONPRESENT alIsExtensionPresent; LPALGETPROCADDRESS alGetProcAddress; LPALGETENUMVALUE alGetEnumValue; LPALLISTENERF alListenerf; LPALLISTENER3F alListener3f; LPALLISTENERFV alListenerfv; LPALLISTENERI alListeneri; LPALLISTENER3I alListener3i; LPALLISTENERIV alListeneriv; LPALGETLISTENERF alGetListenerf; LPALGETLISTENER3F alGetListener3f; LPALGETLISTENERFV alGetListenerfv; LPALGETLISTENERI alGetListeneri; LPALGETLISTENER3I alGetListener3i; LPALGETLISTENERIV alGetListeneriv; LPALGENSOURCES alGenSources; LPALDELETESOURCES alDeleteSources; LPALISSOURCE alIsSource; LPALSOURCEF alSourcef; LPALSOURCE3F alSource3f; LPALSOURCEFV alSourcefv; LPALSOURCEI alSourcei; LPALSOURCE3I alSource3i; LPALSOURCEIV alSourceiv; LPALGETSOURCEF alGetSourcef; LPALGETSOURCE3F alGetSource3f; LPALGETSOURCEFV alGetSourcefv; LPALGETSOURCEI alGetSourcei; LPALGETSOURCE3I alGetSource3i; LPALGETSOURCEIV alGetSourceiv; LPALSOURCEPLAYV alSourcePlayv; LPALSOURCESTOPV alSourceStopv; LPALSOURCEREWINDV alSourceRewindv; LPALSOURCEPAUSEV alSourcePausev; LPALSOURCEPLAY alSourcePlay; LPALSOURCESTOP alSourceStop; LPALSOURCEREWIND alSourceRewind; LPALSOURCEPAUSE alSourcePause; LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers; LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers; LPALGENBUFFERS alGenBuffers; LPALDELETEBUFFERS alDeleteBuffers; LPALISBUFFER alIsBuffer; LPALBUFFERF alBufferf; LPALBUFFER3F alBuffer3f; LPALBUFFERFV alBufferfv; LPALBUFFERI alBufferi; LPALBUFFER3I alBuffer3i; LPALBUFFERIV alBufferiv; LPALGETBUFFERF alGetBufferf; LPALGETBUFFER3F alGetBuffer3f; LPALGETBUFFERFV alGetBufferfv; LPALGETBUFFERI alGetBufferi; LPALGETBUFFER3I alGetBuffer3i; LPALGETBUFFERIV alGetBufferiv; LPALBUFFERDATA alBufferData; LPALDOPPLERFACTOR alDopplerFactor; LPALDOPPLERVELOCITY alDopplerVelocity; LPALSPEEDOFSOUND alSpeedOfSound; LPALDISTANCEMODEL alDistanceModel; } DriverIface; extern DriverIface *DriverList; extern int DriverListSize; extern ATOMIC(DriverIface*) CurrentCtxDriver; #endif /* ROUTER_ROUTER_H */