1 #ifndef ROUTER_ROUTER_H
2 #define ROUTER_ROUTER_H
4 #define WIN32_LEAN_AND_MEAN
14 typedef struct DriverIface
{
18 LPALCCREATECONTEXT alcCreateContext
;
19 LPALCMAKECONTEXTCURRENT alcMakeContextCurrent
;
20 LPALCPROCESSCONTEXT alcProcessContext
;
21 LPALCSUSPENDCONTEXT alcSuspendContext
;
22 LPALCDESTROYCONTEXT alcDestroyContext
;
23 LPALCGETCURRENTCONTEXT alcGetCurrentContext
;
24 LPALCGETCONTEXTSDEVICE alcGetContextsDevice
;
25 LPALCOPENDEVICE alcOpenDevice
;
26 LPALCCLOSEDEVICE alcCloseDevice
;
27 LPALCGETERROR alcGetError
;
28 LPALCISEXTENSIONPRESENT alcIsExtensionPresent
;
29 LPALCGETPROCADDRESS alcGetProcAddress
;
30 LPALCGETENUMVALUE alcGetEnumValue
;
31 LPALCGETSTRING alcGetString
;
32 LPALCGETINTEGERV alcGetIntegerv
;
33 LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice
;
34 LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice
;
35 LPALCCAPTURESTART alcCaptureStart
;
36 LPALCCAPTURESTOP alcCaptureStop
;
37 LPALCCAPTURESAMPLES alcCaptureSamples
;
40 LPALDISABLE alDisable
;
41 LPALISENABLED alIsEnabled
;
42 LPALGETSTRING alGetString
;
43 LPALGETBOOLEANV alGetBooleanv
;
44 LPALGETINTEGERV alGetIntegerv
;
45 LPALGETFLOATV alGetFloatv
;
46 LPALGETDOUBLEV alGetDoublev
;
47 LPALGETBOOLEAN alGetBoolean
;
48 LPALGETINTEGER alGetInteger
;
49 LPALGETFLOAT alGetFloat
;
50 LPALGETDOUBLE alGetDouble
;
51 LPALGETERROR alGetError
;
52 LPALISEXTENSIONPRESENT alIsExtensionPresent
;
53 LPALGETPROCADDRESS alGetProcAddress
;
54 LPALGETENUMVALUE alGetEnumValue
;
55 LPALLISTENERF alListenerf
;
56 LPALLISTENER3F alListener3f
;
57 LPALLISTENERFV alListenerfv
;
58 LPALLISTENERI alListeneri
;
59 LPALLISTENER3I alListener3i
;
60 LPALLISTENERIV alListeneriv
;
61 LPALGETLISTENERF alGetListenerf
;
62 LPALGETLISTENER3F alGetListener3f
;
63 LPALGETLISTENERFV alGetListenerfv
;
64 LPALGETLISTENERI alGetListeneri
;
65 LPALGETLISTENER3I alGetListener3i
;
66 LPALGETLISTENERIV alGetListeneriv
;
67 LPALGENSOURCES alGenSources
;
68 LPALDELETESOURCES alDeleteSources
;
69 LPALISSOURCE alIsSource
;
70 LPALSOURCEF alSourcef
;
71 LPALSOURCE3F alSource3f
;
72 LPALSOURCEFV alSourcefv
;
73 LPALSOURCEI alSourcei
;
74 LPALSOURCE3I alSource3i
;
75 LPALSOURCEIV alSourceiv
;
76 LPALGETSOURCEF alGetSourcef
;
77 LPALGETSOURCE3F alGetSource3f
;
78 LPALGETSOURCEFV alGetSourcefv
;
79 LPALGETSOURCEI alGetSourcei
;
80 LPALGETSOURCE3I alGetSource3i
;
81 LPALGETSOURCEIV alGetSourceiv
;
82 LPALSOURCEPLAYV alSourcePlayv
;
83 LPALSOURCESTOPV alSourceStopv
;
84 LPALSOURCEREWINDV alSourceRewindv
;
85 LPALSOURCEPAUSEV alSourcePausev
;
86 LPALSOURCEPLAY alSourcePlay
;
87 LPALSOURCESTOP alSourceStop
;
88 LPALSOURCEREWIND alSourceRewind
;
89 LPALSOURCEPAUSE alSourcePause
;
90 LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers
;
91 LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers
;
92 LPALGENBUFFERS alGenBuffers
;
93 LPALDELETEBUFFERS alDeleteBuffers
;
94 LPALISBUFFER alIsBuffer
;
95 LPALBUFFERF alBufferf
;
96 LPALBUFFER3F alBuffer3f
;
97 LPALBUFFERFV alBufferfv
;
98 LPALBUFFERI alBufferi
;
99 LPALBUFFER3I alBuffer3i
;
100 LPALBUFFERIV alBufferiv
;
101 LPALGETBUFFERF alGetBufferf
;
102 LPALGETBUFFER3F alGetBuffer3f
;
103 LPALGETBUFFERFV alGetBufferfv
;
104 LPALGETBUFFERI alGetBufferi
;
105 LPALGETBUFFER3I alGetBuffer3i
;
106 LPALGETBUFFERIV alGetBufferiv
;
107 LPALBUFFERDATA alBufferData
;
108 LPALDOPPLERFACTOR alDopplerFactor
;
109 LPALDOPPLERVELOCITY alDopplerVelocity
;
110 LPALSPEEDOFSOUND alSpeedOfSound
;
111 LPALDISTANCEMODEL alDistanceModel
;
114 extern DriverIface
*DriverList
;
115 extern int DriverListSize
;
117 extern ATOMIC(DriverIface
*) CurrentCtxDriver
;
120 typedef struct PtrIntMap
{
122 /* Shares memory with keys. */
129 #define PTRINTMAP_STATIC_INITIALIZE { NULL, NULL, 0, 0, RWLOCK_STATIC_INITIALIZE }
131 void InitPtrIntMap(PtrIntMap
*map
);
132 void ResetPtrIntMap(PtrIntMap
*map
);
133 ALenum
InsertPtrIntMapEntry(PtrIntMap
*map
, ALvoid
*key
, ALint value
);
134 ALint
RemovePtrIntMapKey(PtrIntMap
*map
, ALvoid
*key
);
135 ALint
LookupPtrIntMapKey(PtrIntMap
*map
, ALvoid
*key
);
137 #endif /* ROUTER_ROUTER_H */