Add forwarding for the AL functions
[openal-soft.git] / router / router.h
blob57a32d9a97289f41988a3afa3687cfbacbcbaaf5
1 #ifndef ROUTER_ROUTER_H
2 #define ROUTER_ROUTER_H
4 #define WIN32_LEAN_AND_MEAN
5 #include <windows.h>
6 #include <winnt.h>
8 #include "AL/alc.h"
9 #include "AL/al.h"
10 #include "atomic.h"
13 typedef struct DriverIface {
14 WCHAR Name[32];
15 HMODULE Module;
17 LPALCCREATECONTEXT alcCreateContext;
18 LPALCMAKECONTEXTCURRENT alcMakeContextCurrent;
19 LPALCPROCESSCONTEXT alcProcessContext;
20 LPALCSUSPENDCONTEXT alcSuspendContext;
21 LPALCDESTROYCONTEXT alcDestroyContext;
22 LPALCGETCURRENTCONTEXT alcGetCurrentContext;
23 LPALCGETCONTEXTSDEVICE alcGetContextsDevice;
24 LPALCOPENDEVICE alcOpenDevice;
25 LPALCCLOSEDEVICE alcCloseDevice;
26 LPALCGETERROR alcGetError;
27 LPALCISEXTENSIONPRESENT alcIsExtensionPresent;
28 LPALCGETPROCADDRESS alcGetProcAddress;
29 LPALCGETENUMVALUE alcGetEnumValue;
30 LPALCGETSTRING alcGetString;
31 LPALCGETINTEGERV alcGetIntegerv;
32 LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice;
33 LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice;
34 LPALCCAPTURESTART alcCaptureStart;
35 LPALCCAPTURESTOP alcCaptureStop;
36 LPALCCAPTURESAMPLES alcCaptureSamples;
38 LPALENABLE alEnable;
39 LPALDISABLE alDisable;
40 LPALISENABLED alIsEnabled;
41 LPALGETSTRING alGetString;
42 LPALGETBOOLEANV alGetBooleanv;
43 LPALGETINTEGERV alGetIntegerv;
44 LPALGETFLOATV alGetFloatv;
45 LPALGETDOUBLEV alGetDoublev;
46 LPALGETBOOLEAN alGetBoolean;
47 LPALGETINTEGER alGetInteger;
48 LPALGETFLOAT alGetFloat;
49 LPALGETDOUBLE alGetDouble;
50 LPALGETERROR alGetError;
51 LPALISEXTENSIONPRESENT alIsExtensionPresent;
52 LPALGETPROCADDRESS alGetProcAddress;
53 LPALGETENUMVALUE alGetEnumValue;
54 LPALLISTENERF alListenerf;
55 LPALLISTENER3F alListener3f;
56 LPALLISTENERFV alListenerfv;
57 LPALLISTENERI alListeneri;
58 LPALLISTENER3I alListener3i;
59 LPALLISTENERIV alListeneriv;
60 LPALGETLISTENERF alGetListenerf;
61 LPALGETLISTENER3F alGetListener3f;
62 LPALGETLISTENERFV alGetListenerfv;
63 LPALGETLISTENERI alGetListeneri;
64 LPALGETLISTENER3I alGetListener3i;
65 LPALGETLISTENERIV alGetListeneriv;
66 LPALGENSOURCES alGenSources;
67 LPALDELETESOURCES alDeleteSources;
68 LPALISSOURCE alIsSource;
69 LPALSOURCEF alSourcef;
70 LPALSOURCE3F alSource3f;
71 LPALSOURCEFV alSourcefv;
72 LPALSOURCEI alSourcei;
73 LPALSOURCE3I alSource3i;
74 LPALSOURCEIV alSourceiv;
75 LPALGETSOURCEF alGetSourcef;
76 LPALGETSOURCE3F alGetSource3f;
77 LPALGETSOURCEFV alGetSourcefv;
78 LPALGETSOURCEI alGetSourcei;
79 LPALGETSOURCE3I alGetSource3i;
80 LPALGETSOURCEIV alGetSourceiv;
81 LPALSOURCEPLAYV alSourcePlayv;
82 LPALSOURCESTOPV alSourceStopv;
83 LPALSOURCEREWINDV alSourceRewindv;
84 LPALSOURCEPAUSEV alSourcePausev;
85 LPALSOURCEPLAY alSourcePlay;
86 LPALSOURCESTOP alSourceStop;
87 LPALSOURCEREWIND alSourceRewind;
88 LPALSOURCEPAUSE alSourcePause;
89 LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers;
90 LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers;
91 LPALGENBUFFERS alGenBuffers;
92 LPALDELETEBUFFERS alDeleteBuffers;
93 LPALISBUFFER alIsBuffer;
94 LPALBUFFERF alBufferf;
95 LPALBUFFER3F alBuffer3f;
96 LPALBUFFERFV alBufferfv;
97 LPALBUFFERI alBufferi;
98 LPALBUFFER3I alBuffer3i;
99 LPALBUFFERIV alBufferiv;
100 LPALGETBUFFERF alGetBufferf;
101 LPALGETBUFFER3F alGetBuffer3f;
102 LPALGETBUFFERFV alGetBufferfv;
103 LPALGETBUFFERI alGetBufferi;
104 LPALGETBUFFER3I alGetBuffer3i;
105 LPALGETBUFFERIV alGetBufferiv;
106 LPALBUFFERDATA alBufferData;
107 LPALDOPPLERFACTOR alDopplerFactor;
108 LPALDOPPLERVELOCITY alDopplerVelocity;
109 LPALSPEEDOFSOUND alSpeedOfSound;
110 LPALDISTANCEMODEL alDistanceModel;
111 } DriverIface;
113 extern DriverIface *DriverList;
114 extern int DriverListSize;
116 extern ATOMIC(DriverIface*) CurrentCtxDriver;
119 #endif /* ROUTER_ROUTER_H */