openal_binding.h 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. /*
  2. Copyright (C) 2004 Michael Liebscher
  3. This program is free software; you can redistribute it and/or
  4. modify it under the terms of the GNU General Public License
  5. as published by the Free Software Foundation; either version 2
  6. of the License, or (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program; if not, write to the Free Software
  13. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  14. */
  15. /*
  16. * openal_binding.h: Interface to OpenAL library.
  17. *
  18. * Author: Michael Liebscher <johnnycanuck@users.sourceforge.net>
  19. * Date: 2004
  20. *
  21. */
  22. #ifndef __OPENAL_BINDING_H__
  23. #define __OPENAL_BINDING_H__
  24. extern _boolean OpenAL_Init( const char *dllname );
  25. extern void OpenAL_Shutdown( void );
  26. typedef ALCAPI ALCvoid ( * ALCCLOSEDEVICE)(ALCdevice *pDevice);
  27. typedef ALCAPI ALCcontext*( * ALCCREATECONTEXT)(ALCdevice *device, const ALCint *attrList);
  28. typedef ALCAPI ALCvoid ( * ALCDESTROYCONTEXT)(ALCcontext *context);
  29. typedef ALCAPI ALCdevice* ( * ALCGETCONTEXTSDEVICE)(ALCcontext *pContext);
  30. typedef ALCAPI ALCcontext * ( * ALCGETCURRENTCONTEXT)(ALCvoid);
  31. typedef ALCAPI ALCenum ( * ALCGETENUMVALUE)(ALCdevice *device, const ALCubyte *enumName);
  32. typedef ALCAPI ALCenum ( * ALCGETERROR)(ALCdevice *device);
  33. typedef ALCAPI ALCvoid ( * ALCGETINTEGERV)(ALCdevice *device,ALCenum param,ALsizei size,ALCint *data);
  34. typedef ALCAPI ALCvoid * ( * ALCGETPROCADDRESS)(ALCdevice *device, const ALCubyte *funcName);
  35. typedef ALCAPI const ALCubyte* ( * ALCGETSTRING)(ALCdevice *device,ALCenum param);
  36. typedef ALCAPI ALCboolean ( * ALCISEXTENSIONPRESENT)(ALCdevice *device, const ALCubyte *extName);
  37. typedef ALCAPI ALCboolean ( * ALCMAKECONTEXTCURRENT)(ALCcontext *context);
  38. typedef ALCAPI ALCdevice* ( * ALCOPENDEVICE)(const ALCubyte *deviceName);
  39. typedef ALCAPI ALCvoid ( * ALCPROCESSCONTEXT)(ALCcontext *pContext);
  40. typedef ALCAPI ALCvoid ( * ALCSUSPENDCONTEXT)(ALCcontext *pContext);
  41. typedef ALCAPI ALvoid ( * ALGENBUFFERS)(ALsizei n, ALuint* bufferNames);
  42. typedef ALCAPI ALvoid ( * ALDELETEBUFFERS)(ALsizei n, const ALuint* bufferNames);
  43. typedef ALCAPI ALboolean ( * ALISBUFFER)(ALuint bufferName);
  44. typedef ALCAPI ALvoid ( * ALBUFFERDATA)(ALuint bufferName, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq);
  45. typedef ALCAPI ALvoid ( * ALGETBUFFERF)(ALuint bufferName, ALenum param, ALfloat* value);
  46. typedef ALCAPI ALvoid ( * ALGETBUFFERI)(ALuint bufferName, ALenum param, ALint* value);
  47. typedef ALCAPI ALvoid ( * ALENABLE)(ALenum capability);
  48. typedef ALCAPI ALvoid ( * ALDISABLE)(ALenum capability);
  49. typedef ALCAPI ALvoid ( * ALDOPPLERFACTOR)(ALfloat value);
  50. typedef ALCAPI ALvoid ( * ALDOPPLERVELOCITY)(ALfloat value);
  51. typedef ALCAPI ALvoid ( * ALDISTANCEMODEL)(ALenum value);
  52. typedef ALCAPI ALboolean ( * ALGETBOOLEAN)(ALenum param);
  53. typedef ALCAPI ALvoid ( * ALGETBOOLEANV)(ALenum param, ALboolean* data);
  54. typedef ALCAPI ALdouble ( * ALGETDOUBLE)(ALenum param);
  55. typedef ALCAPI ALvoid ( * ALGETDOUBLEV)(ALenum param, ALdouble* data);
  56. typedef ALCAPI ALfloat ( * ALGETFLOAT)(ALenum param);
  57. typedef ALCAPI ALvoid ( * ALGETFLOATV)(ALenum param, ALfloat* data);
  58. typedef ALCAPI ALint ( * ALGETINTEGER)(ALenum param);
  59. typedef ALCAPI ALvoid ( * ALGETINTEGERV)(ALenum param, ALint* data);
  60. typedef ALCAPI ALenum ( * ALGETENUMVALUE)(const ALubyte* ename);
  61. typedef ALCAPI ALenum ( * ALGETERROR)(ALvoid);
  62. typedef ALCAPI ALvoid* ( * ALGETPROCADDRESS)(const ALubyte* fname);
  63. typedef ALCAPI const ALubyte* ( * ALGETSTRING)(ALenum param);
  64. typedef ALCAPI ALboolean ( * ALISEXTENSIONPRESENT)(const ALubyte* ename);
  65. typedef ALCAPI ALboolean ( * ALISENABLED)(ALenum capability);
  66. typedef ALCAPI ALvoid ( * ALLISTENERF)(ALenum param, ALfloat value);
  67. typedef ALCAPI ALvoid ( * ALLISTENER3F)(ALenum param, ALfloat v1, ALfloat v2, ALfloat v3);
  68. typedef ALCAPI ALvoid ( * ALLISTENERFV)(ALenum param, const ALfloat* values);
  69. typedef ALCAPI ALvoid ( * ALLISTENERI)(ALenum param, ALint value);
  70. typedef ALCAPI ALvoid ( * ALGETLISTENERF)(ALenum param, ALfloat* value);
  71. typedef ALCAPI ALvoid ( * ALGETLISTENER3F)(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
  72. typedef ALCAPI ALvoid ( * ALGETLISTENERFV)(ALenum param, ALfloat* values);
  73. typedef ALCAPI ALvoid ( * ALGETLISTENERI)(ALenum param, ALint* value);
  74. typedef ALCAPI ALvoid ( * ALGENSOURCES)(ALsizei n, ALuint* sourceNames);
  75. typedef ALCAPI ALvoid ( * ALDELETESOURCES)(ALsizei n, const ALuint* sourceNames);
  76. typedef ALCAPI ALboolean ( * ALISSOURCE)(ALuint sourceName);
  77. typedef ALCAPI ALvoid ( * ALSOURCEF)(ALuint sourceName, ALenum param, ALfloat value);
  78. typedef ALCAPI ALvoid ( * ALSOURCEFV)(ALuint sourceName, ALenum param, const ALfloat* values);
  79. typedef ALCAPI ALvoid ( * ALSOURCE3F)(ALuint sourceName, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3);
  80. typedef ALCAPI ALvoid ( * ALSOURCEI)(ALuint sourceName, ALenum param, ALint value);
  81. typedef ALCAPI ALvoid ( * ALGETSOURCEF)(ALuint sourceName, ALenum param, ALfloat* value);
  82. typedef ALCAPI ALvoid ( * ALGETSOURCE3F)(ALuint sourceName, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
  83. typedef ALCAPI ALvoid ( * ALGETSOURCEFV)(ALuint sourceName, ALenum param, ALfloat* values);
  84. typedef ALCAPI ALvoid ( * ALGETSOURCEI)(ALuint sourceName, ALenum param, ALint* value);
  85. typedef ALCAPI ALvoid ( * ALSOURCEPLAY)(ALuint sourceName);
  86. typedef ALCAPI ALvoid ( * ALSOURCEPLAYV)(ALsizei n, const ALuint* sourceNames);
  87. typedef ALCAPI ALvoid ( * ALSOURCEPAUSE)(ALuint sourceName);
  88. typedef ALCAPI ALvoid ( * ALSOURCEPAUSEV)(ALsizei n, const ALuint* sourceNames);
  89. typedef ALCAPI ALvoid ( * ALSOURCESTOP)(ALuint sourceName);
  90. typedef ALCAPI ALvoid ( * ALSOURCESTOPV)(ALsizei n, const ALuint* sourceNames);
  91. typedef ALCAPI ALvoid ( * ALSOURCEREWIND)(ALuint sourceName);
  92. typedef ALCAPI ALvoid ( * ALSOURCEREWINDV)(ALsizei n, const ALuint* sourceNames);
  93. typedef ALCAPI ALvoid ( * ALSOURCEQUEUEBUFFERS)(ALuint sourceName, ALsizei n, const ALuint* buffers);
  94. typedef ALCAPI ALvoid ( * ALSOURCEUNQUEUEBUFFERS)(ALuint sourceName, ALsizei n, ALuint* buffers);
  95. ALCCLOSEDEVICE pfalcCloseDevice;
  96. ALCCREATECONTEXT pfalcCreateContext;
  97. ALCDESTROYCONTEXT pfalcDestroyContext;
  98. ALCGETCONTEXTSDEVICE pfalcGetContextsDevice;
  99. ALCGETCURRENTCONTEXT pfalcGetCurrentContext;
  100. ALCGETENUMVALUE pfalcGetEnumValue;
  101. ALCGETERROR pfalcGetError;
  102. ALCGETINTEGERV pfalcGetIntegerv;
  103. ALCGETPROCADDRESS pfalcGetProcAddress;
  104. ALCGETSTRING pfalcGetString;
  105. ALCISEXTENSIONPRESENT pfalcIsExtensionPresent;
  106. ALCMAKECONTEXTCURRENT pfalcMakeContextCurrent;
  107. ALCOPENDEVICE pfalcOpenDevice;
  108. ALCPROCESSCONTEXT pfalcProcessContext;
  109. ALCSUSPENDCONTEXT pfalcSuspendContext;
  110. ALGENBUFFERS pfalGenBuffers;
  111. ALDELETEBUFFERS pfalDeleteBuffers;
  112. ALISBUFFER pfalIsBuffer;
  113. ALBUFFERDATA pfalBufferData;
  114. ALGETBUFFERF pfalGetBufferf;
  115. ALGETBUFFERI pfalGetBufferi;
  116. ALENABLE pfalEnable;
  117. ALDISABLE pfalDisable;
  118. ALDOPPLERFACTOR pfalDopplerFactor;
  119. ALDOPPLERVELOCITY pfalDopplerVelocity;
  120. ALDISTANCEMODEL pfalDistanceModel;
  121. ALGETBOOLEAN pfalGetBoolean;
  122. ALGETBOOLEANV pfalGetBooleanv;
  123. ALGETDOUBLE pfalGetDouble;
  124. ALGETDOUBLEV pfalGetDoublev;
  125. ALGETFLOAT pfalGetFloat;
  126. ALGETFLOATV pfalGetFloatv;
  127. ALGETINTEGER pfalGetInteger;
  128. ALGETINTEGERV pfalGetIntegerv;
  129. ALGETENUMVALUE pfalGetEnumValue;
  130. ALGETERROR pfalGetError;
  131. ALGETPROCADDRESS pfalGetProcAddress;
  132. ALGETSTRING pfalGetString;
  133. ALISEXTENSIONPRESENT pfalIsExtensionPresent;
  134. ALISENABLED pfalIsEnabled;
  135. ALLISTENERF pfalListenerf;
  136. ALLISTENER3F pfalListener3f;
  137. ALLISTENERFV pfalListenerfv;
  138. ALLISTENERI pfalListeneri;
  139. ALGETLISTENERF pfalGetListenerf;
  140. ALGETLISTENER3F pfalGetListener3f;
  141. ALGETLISTENERFV pfalGetListenerfv;
  142. ALGETLISTENERI pfalGetListeneri;
  143. ALGENSOURCES pfalGenSources;
  144. ALDELETESOURCES pfalDeleteSources;
  145. ALISSOURCE pfalIsSource;
  146. ALSOURCEF pfalSourcef;
  147. ALSOURCEFV pfalSourcefv;
  148. ALSOURCE3F pfalSource3f;
  149. ALSOURCEI pfalSourcei;
  150. ALGETSOURCEF pfalGetSourcef;
  151. ALGETSOURCE3F pfalGetSource3f;
  152. ALGETSOURCEFV pfalGetSourcefv;
  153. ALGETSOURCEI pfalGetSourcei;
  154. ALSOURCEPLAY pfalSourcePlay;
  155. ALSOURCEPLAYV pfalSourcePlayv;
  156. ALSOURCEPAUSE pfalSourcePause;
  157. ALSOURCEPAUSEV pfalSourcePausev;
  158. ALSOURCESTOP pfalSourceStop;
  159. ALSOURCESTOPV pfalSourceStopv;
  160. ALSOURCEREWIND pfalSourceRewind;
  161. ALSOURCEREWINDV pfalSourceRewindv;
  162. ALSOURCEQUEUEBUFFERS pfalSourceQueueBuffers;
  163. ALSOURCEUNQUEUEBUFFERS pfalSourceUnqueueBuffers;
  164. #endif /* __OPENAL_BINDING_H__ */