11
#define ALC_VERSION_0_1 1
14
typedef struct ALCdevice_struct ALCdevice;
15
typedef struct ALCcontext_struct ALCcontext;
18
#define ALCAPI __declspec(dllexport)
20
#define ALCAPI __declspec(dllimport)
22
#define ALCAPIENTRY __cdecl
41
#ifndef ALC_NO_PROTOTYPES
46
ALCAPI ALCcontext * ALCAPIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist );
48
ALCAPI ALCboolean ALCAPIENTRY alcMakeContextCurrent( ALCcontext *context );
50
ALCAPI void ALCAPIENTRY alcProcessContext( ALCcontext *context );
52
ALCAPI void ALCAPIENTRY alcSuspendContext( ALCcontext *context );
54
ALCAPI void ALCAPIENTRY alcDestroyContext( ALCcontext *context );
56
ALCAPI ALCcontext * ALCAPIENTRY alcGetCurrentContext( ALCvoid );
58
ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice( ALCcontext *context );
64
ALCAPI ALCdevice * ALCAPIENTRY alcOpenDevice( const ALchar *devicename );
66
ALCAPI ALCboolean ALCAPIENTRY alcCloseDevice( ALCdevice *device );
71
* Obtain the most recent Context error
73
ALCAPI ALCenum ALCAPIENTRY alcGetError( ALCdevice *device );
78
* Query for the presence of an extension, and obtain any appropriate
79
* function pointers and enum values.
81
ALCAPI ALCboolean ALCAPIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname );
83
ALCAPI void * ALCAPIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname );
85
ALCAPI ALCenum ALCAPIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname );
91
ALCAPI const ALCchar * ALCAPIENTRY alcGetString( ALCdevice *device, ALCenum param );
93
ALCAPI void ALCAPIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data );
99
ALCAPI ALCdevice* ALCAPIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
101
ALCAPI ALCboolean ALCAPIENTRY alcCaptureCloseDevice( ALCdevice *device );
103
ALCAPI void ALCAPIENTRY alcCaptureStart( ALCdevice *device );
105
ALCAPI void ALCAPIENTRY alcCaptureStop( ALCdevice *device );
107
ALCAPI void ALCAPIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
109
#else /* ALC_NO_PROTOTYPES */
111
ALCAPI ALCcontext * (ALCAPIENTRY *alcCreateContext)( ALCdevice *device, const ALCint* attrlist );
112
ALCAPI ALCboolean (ALCAPIENTRY *alcMakeContextCurrent)( ALCcontext *context );
113
ALCAPI void (ALCAPIENTRY *alcProcessContext)( ALCcontext *context );
114
ALCAPI void (ALCAPIENTRY *alcSuspendContext)( ALCcontext *context );
115
ALCAPI void (ALCAPIENTRY *alcDestroyContext)( ALCcontext *context );
116
ALCAPI ALCcontext * (ALCAPIENTRY *alcGetCurrentContext)( ALCvoid );
117
ALCAPI ALCdevice * (ALCAPIENTRY *alcGetContextsDevice)( ALCcontext *context );
118
ALCAPI ALCdevice * (ALCAPIENTRY *alcOpenDevice)( const ALCchar *devicename );
119
ALCAPI ALCboolean (ALCAPIENTRY *alcCloseDevice)( ALCdevice *device );
120
ALCAPI ALCenum (ALCAPIENTRY *alcGetError)( ALCdevice *device );
121
ALCAPI ALCboolean (ALCAPIENTRY *alcIsExtensionPresent)( ALCdevice *device, const ALCchar *extname );
122
ALCAPI void * (ALCAPIENTRY *alcGetProcAddress)( ALCdevice *device, const ALCchar *funcname );
123
ALCAPI ALCenum (ALCAPIENTRY *alcGetEnumValue)( ALCdevice *device, const ALCchar *enumname );
124
ALCAPI const ALCchar* (ALCAPIENTRY *alcGetString)( ALCdevice *device, ALCenum param );
125
ALCAPI void (ALCAPIENTRY *alcGetIntegerv)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest );
126
ALCAPI ALCdevice * (ALCAPIENTRY *alcCaptureOpenDevice)( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
127
ALCAPI ALCboolean (ALCAPIENTRY *alcCaptureCloseDevice)( ALCdevice *device );
128
ALCAPI void (ALCAPIENTRY *alcCaptureStart)( ALCdevice *device );
129
ALCAPI void (ALCAPIENTRY *alcCaptureStop)( ALCdevice *device );
130
ALCAPI void (ALCAPIENTRY *alcCaptureSamples)( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
132
/* Type definitions */
133
typedef ALCcontext * (ALCAPIENTRY *LPALCCREATECONTEXT) (ALCdevice *device, const ALCint *attrlist);
134
typedef ALCboolean (ALCAPIENTRY *LPALCMAKECONTEXTCURRENT)( ALCcontext *context );
135
typedef void (ALCAPIENTRY *LPALCPROCESSCONTEXT)( ALCcontext *context );
136
typedef void (ALCAPIENTRY *LPALCSUSPENDCONTEXT)( ALCcontext *context );
137
typedef void (ALCAPIENTRY *LPALCDESTROYCONTEXT)( ALCcontext *context );
138
typedef ALCcontext * (ALCAPIENTRY *LPALCGETCURRENTCONTEXT)( ALCvoid );
139
typedef ALCdevice * (ALCAPIENTRY *LPALCGETCONTEXTSDEVICE)( ALCcontext *context );
140
typedef ALCdevice * (ALCAPIENTRY *LPALCOPENDEVICE)( const ALCchar *devicename );
141
typedef ALCboolean (ALCAPIENTRY *LPALCCLOSEDEVICE)( ALCdevice *device );
142
typedef ALCenum (ALCAPIENTRY *LPALCGETERROR)( ALCdevice *device );
143
typedef ALCboolean (ALCAPIENTRY *LPALCISEXTENSIONPRESENT)( ALCdevice *device, const ALCchar *extname );
144
typedef void * (ALCAPIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname );
145
typedef ALCenum (ALCAPIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname );
146
typedef const ALCchar* (ALCAPIENTRY *LPALCGETSTRING)( ALCdevice *device, ALCenum param );
147
typedef void (ALCAPIENTRY *LPALCGETINTEGERV)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest );
148
typedef ALCdevice * (ALCAPIENTRY *LPALCCAPTUREOPENDEVICE)( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
149
typedef ALCboolean (ALCAPIENTRY *LPALCCAPTURECLOSEDEVICE)( ALCdevice *device );
150
typedef void (ALCAPIENTRY *LPALCCAPTURESTART)( ALCdevice *device );
151
typedef void (ALCAPIENTRY *LPALCCAPTURESTOP)( ALCdevice *device );
152
typedef void (ALCAPIENTRY *LPALCCAPTURESAMPLES)( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
154
#endif /* ALC_NO_PROTOTYPES */
159
#endif /* TARGET_OS_MAC */
160
#endif /* TARGET_OS_MAC */
166
#endif /* ALC_CONTEXT_H_ */