text: #ifndef _ALC_H_
  #define _ALC_H_
  
  #include "altypes.h"
  #include "alctypes.h"
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  #ifdef _WIN32
   #ifdef _LIB
    #define ALCAPI __declspec(dllexport)
   #else
    #define ALCAPI __declspec(dllimport)
    typedef ALCvoid ALCdevice;
    typedef ALCvoid	ALCcontext;
   #endif
   #define ALCAPIENTRY __cdecl
  #else
   #ifdef TARGET_OS_MAC
    #if TARGET_OS_MAC
     #pragma export on
    #endif
   #endif
   #define ALCAPI
   #define ALCAPIENTRY __cdecl
  #endif
  
  
  
  #ifndef ALC_NO_PROTOTYPES
  
  ALCAPI ALCubyte*  ALCAPIENTRY alcGetString(ALCdevice *device,ALCenum param);
  ALCAPI ALCvoid    ALCAPIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALCsizei size,ALCint *data);
  
  ALCAPI ALCdevice* ALCAPIENTRY alcOpenDevice(ALCubyte *deviceName);
  ALCAPI ALCvoid    ALCAPIENTRY alcCloseDevice(ALCdevice *device);
  
  ALCAPI ALCcontext*ALCAPIENTRY alcCreateContext(ALCdevice *device,ALCint *attrList);
  ALCAPI ALCboolean ALCAPIENTRY alcMakeContextCurrent(ALCcontext *context);
  ALCAPI ALCvoid	  ALCAPIENTRY alcProcessContext(ALCcontext *context);
  ALCAPI ALCcontext*ALCAPIENTRY alcGetCurrentContext(ALCvoid);
  ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context);
  ALCAPI ALCvoid	  ALCAPIENTRY alcSuspendContext(ALCcontext *context);
  ALCAPI ALCvoid    ALCAPIENTRY alcDestroyContext(ALCcontext *context);
  
  ALCAPI ALCenum	  ALCAPIENTRY alcGetError(ALCdevice *device);
  
  ALCAPI ALCboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device,ALCubyte *extName);
  ALCAPI ALCvoid *  ALCAPIENTRY alcGetProcAddress(ALCdevice *device,ALCubyte *funcName);
  ALCAPI ALCenum	  ALCAPIENTRY alcGetEnumValue(ALCdevice *device,ALCubyte *enumName);
  				
  #else /* AL_NO_PROTOTYPES */
  
  ALCAPI ALCubyte*  ALCAPIENTRY (*alcGetString)(ALCdevice *device,ALCenum param);
  ALCAPI ALCvoid    ALCAPIENTRY (*alcGetIntegerv)(ALCdevice * device,ALCenum param,ALCsizei size,ALCint *data);
  
  ALCAPI ALCdevice* ALCAPIENTRY (*alcOpenDevice)(ALubyte *deviceName);
  ALCAPI ALCvoid    ALCAPIENTRY (*alcCloseDevice)(ALCdevice *device);
  
  ALCAPI ALCcontext*ALCAPIENTRY (*alcCreateContext)(ALCdevice *device,ALCint *attrList);
  ALCAPI ALCboolean ALCAPIENTRY (*alcMakeContextCurrent)(ALCcontext *context);
  ALCAPI ALCvoid	  ALCAPIENTRY (*alcProcessContext)(ALCcontext *context);
  ALCAPI ALCcontext*ALCAPIENTRY (*alcGetCurrentContext)(ALCvoid);
  ALCAPI ALCdevice* ALCAPIENTRY (*alcGetContextsDevice)(ALCcontext *context);
  ALCAPI ALCvoid	  ALCAPIENTRY (*alcSuspendContext)(ALCcontext *context);
  ALCAPI ALCvoid    ALCAPIENTRY (*alcDestroyContext)(ALCcontext *context);
  
  ALCAPI ALCenum	  ALCAPIENTRY (*alcGetError)(ALCdevice *device);
  
  ALCAPI ALCboolean ALCAPIENTRY (*alcIsExtensionPresent)(ALCdevice *device,ALCubyte *extName);
  ALCAPI ALCvoid *  ALCAPIENTRY (*alcGetProcAddress)(ALCdevice *device,ALCubyte *funcName);
  ALCAPI ALCenum	  ALCAPIENTRY (*alcGetEnumValue)(ALCdevice *device,ALCubyte *enumName);
  
  #endif /* AL_NO_PROTOTYPES */
  
  #ifdef TARGET_OS_MAC
   #if TARGET_OS_MAC
    #pragma export off
   #endif
  #endif
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  