diff options
author | icculus <icculus@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-11-26 07:59:00 +0000 |
---|---|---|
committer | icculus <icculus@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-11-26 07:59:00 +0000 |
commit | 26b9cf5a0ca15a80690060daf5f3cbf0576ade28 (patch) | |
tree | 354668c8d05c47c654ca72adf170914b17877f1f /code/AL/alc.h | |
parent | 441c7633e0aa67faa91dc5896ee83e6c29de0ba6 (diff) | |
download | ioquake3-aero-26b9cf5a0ca15a80690060daf5f3cbf0576ade28.tar.gz ioquake3-aero-26b9cf5a0ca15a80690060daf5f3cbf0576ade28.zip |
SDL and OpenAL headers.
git-svn-id: svn://svn.icculus.org/quake3/trunk@374 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/AL/alc.h')
-rw-r--r-- | code/AL/alc.h | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/code/AL/alc.h b/code/AL/alc.h new file mode 100644 index 0000000..371ee1c --- /dev/null +++ b/code/AL/alc.h @@ -0,0 +1,110 @@ +#ifndef ALC_CONTEXT_H_ +#define ALC_CONTEXT_H_ + +#include "altypes.h" +#include "alctypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ALC_VERSION_0_1 1 + +#ifdef _WIN32 + #ifdef _OPENAL32LIB + #define ALCAPI __declspec(dllexport) + #else + #define ALCAPI __declspec(dllimport) + #endif + + typedef struct ALCdevice_struct ALCdevice; + typedef struct ALCcontext_struct ALCcontext; + + #define ALCAPIENTRY __cdecl +#else + #ifdef TARGET_OS_MAC + #if TARGET_OS_MAC + #pragma export on + #endif + #endif + + #define ALCAPI + #define ALCAPIENTRY +#endif + +#ifndef AL_NO_PROTOTYPES + +ALCAPI ALCcontext * ALCAPIENTRY alcCreateContext( ALCdevice *dev, + ALint* attrlist ); + +/** + * There is no current context, as we can mix + * several active contexts. But al* calls + * only affect the current context. + */ +ALCAPI ALCenum ALCAPIENTRY alcMakeContextCurrent( ALCcontext *alcHandle ); + +/** + * Perform processing on a synced context, non-op on a asynchronous + * context. + */ +ALCAPI ALCcontext * ALCAPIENTRY alcProcessContext( ALCcontext *alcHandle ); + +/** + * Suspend processing on an asynchronous context, non-op on a + * synced context. + */ +ALCAPI void ALCAPIENTRY alcSuspendContext( ALCcontext *alcHandle ); + +ALCAPI ALCenum ALCAPIENTRY alcDestroyContext( ALCcontext *alcHandle ); + +ALCAPI ALCenum ALCAPIENTRY alcGetError( ALCdevice *dev ); + +ALCAPI ALCcontext * ALCAPIENTRY alcGetCurrentContext( ALvoid ); + +ALCAPI ALCdevice *alcOpenDevice( const ALubyte *tokstr ); +ALCAPI void alcCloseDevice( ALCdevice *dev ); + +ALCAPI ALboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device, ALubyte *extName); +ALCAPI ALvoid * ALCAPIENTRY alcGetProcAddress(ALCdevice *device, ALubyte *funcName); +ALCAPI ALenum ALCAPIENTRY alcGetEnumValue(ALCdevice *device, ALubyte *enumName); + +ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context); + + +/** + * Query functions + */ +const ALubyte * alcGetString( ALCdevice *deviceHandle, ALenum token ); +void alcGetIntegerv( ALCdevice *deviceHandle, ALenum token , ALsizei size , ALint *dest ); + +#else + ALCcontext * (*alcCreateContext)( ALCdevice *dev, ALint* attrlist ); + ALCenum (*alcMakeContextCurrent)( ALCcontext *alcHandle ); + ALCcontext * (*alcProcessContext)( ALCcontext *alcHandle ); + void (*alcSuspendContext)( ALCcontext *alcHandle ); + ALCenum (*alcDestroyContext)( ALCcontext *alcHandle ); + ALCenum (*alcGetError)( ALCdevice *dev ); + ALCcontext * (*alcGetCurrentContext)( ALvoid ); + ALCdevice * (*alcOpenDevice)( const ALubyte *tokstr ); + void (*alcCloseDevice)( ALCdevice *dev ); + ALboolean (*alcIsExtensionPresent)( ALCdevice *device, ALubyte *extName ); + ALvoid * (*alcGetProcAddress)(ALCdevice *device, ALubyte *funcName ); + ALenum (*alcGetEnumValue)(ALCdevice *device, ALubyte *enumName); + ALCdevice* (*alcGetContextsDevice)(ALCcontext *context); + const ALubyte* (*alcGetString)( ALCdevice *deviceHandle, ALenum token ); + void (*alcGetIntegerv)( ALCdevice *deviceHandle, ALenum token , ALsizei size , ALint *dest ); + +#endif /* AL_NO_PROTOTYPES */ + +#ifdef TARGET_OS_MAC +#if TARGET_OS_MAC +#pragma export off +#endif /* TARGET_OS_MAC */ +#endif /* TARGET_OS_MAC */ + +#ifdef __cplusplus +} +#endif + +#endif /* ALC_CONTEXT_H_ */ |