~ubuntu-branches/ubuntu/hardy/openarena/hardy-backports

« back to all changes in this revision

Viewing changes to code/AL/alc.h

  • Committer: Bazaar Package Importer
  • Author(s): Bruno "Fuddl" Kleinert
  • Date: 2007-01-20 12:28:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070120122809-2yza5ojt7nqiyiam
Tags: upstream-0.6.0
ImportĀ upstreamĀ versionĀ 0.6.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef ALC_CONTEXT_H_
 
2
#define ALC_CONTEXT_H_
 
3
 
 
4
#include "altypes.h"
 
5
#include "alctypes.h"
 
6
 
 
7
#ifdef __cplusplus
 
8
extern "C" {
 
9
#endif
 
10
 
 
11
#define ALC_VERSION_0_1         1
 
12
 
 
13
#ifdef _WIN32
 
14
 typedef struct ALCdevice_struct ALCdevice;
 
15
 typedef struct ALCcontext_struct ALCcontext;
 
16
 #ifndef _XBOX
 
17
  #ifdef _OPENAL32LIB
 
18
   #define ALCAPI __declspec(dllexport)
 
19
  #else
 
20
   #define ALCAPI __declspec(dllimport)
 
21
  #endif
 
22
  #define ALCAPIENTRY __cdecl
 
23
 #endif
 
24
#endif
 
25
 
 
26
#ifdef TARGET_OS_MAC
 
27
 #if TARGET_OS_MAC
 
28
  #pragma export on
 
29
 #endif
 
30
#endif
 
31
 
 
32
#ifndef ALCAPI
 
33
 #define ALCAPI
 
34
#endif
 
35
 
 
36
#ifndef ALCAPIENTRY
 
37
 #define ALCAPIENTRY
 
38
#endif
 
39
 
 
40
 
 
41
#ifndef ALC_NO_PROTOTYPES
 
42
 
 
43
/*
 
44
 * Context Management
 
45
 */
 
46
ALCAPI ALCcontext *    ALCAPIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist );
 
47
 
 
48
ALCAPI ALCboolean      ALCAPIENTRY alcMakeContextCurrent( ALCcontext *context );
 
49
 
 
50
ALCAPI void            ALCAPIENTRY alcProcessContext( ALCcontext *context );
 
51
 
 
52
ALCAPI void            ALCAPIENTRY alcSuspendContext( ALCcontext *context );
 
53
 
 
54
ALCAPI void            ALCAPIENTRY alcDestroyContext( ALCcontext *context );
 
55
 
 
56
ALCAPI ALCcontext *    ALCAPIENTRY alcGetCurrentContext( ALCvoid );
 
57
 
 
58
ALCAPI ALCdevice*      ALCAPIENTRY alcGetContextsDevice( ALCcontext *context );
 
59
 
 
60
 
 
61
/*
 
62
 * Device Management
 
63
 */
 
64
ALCAPI ALCdevice *     ALCAPIENTRY alcOpenDevice( const ALchar *devicename );
 
65
 
 
66
ALCAPI ALCboolean      ALCAPIENTRY alcCloseDevice( ALCdevice *device );
 
67
 
 
68
 
 
69
/*
 
70
 * Error support.
 
71
 * Obtain the most recent Context error
 
72
 */
 
73
ALCAPI ALCenum         ALCAPIENTRY alcGetError( ALCdevice *device );
 
74
 
 
75
 
 
76
/* 
 
77
 * Extension support.
 
78
 * Query for the presence of an extension, and obtain any appropriate
 
79
 * function pointers and enum values.
 
80
 */
 
81
ALCAPI ALCboolean      ALCAPIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname );
 
82
 
 
83
ALCAPI void  *         ALCAPIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname );
 
84
 
 
85
ALCAPI ALCenum         ALCAPIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname );
 
86
 
 
87
 
 
88
/*
 
89
 * Query functions
 
90
 */
 
91
ALCAPI const ALCchar * ALCAPIENTRY alcGetString( ALCdevice *device, ALCenum param );
 
92
 
 
93
ALCAPI void            ALCAPIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data );
 
94
 
 
95
 
 
96
/*
 
97
 * Capture functions
 
98
 */
 
99
ALCAPI ALCdevice*      ALCAPIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
 
100
 
 
101
ALCAPI ALCboolean      ALCAPIENTRY alcCaptureCloseDevice( ALCdevice *device );
 
102
 
 
103
ALCAPI void            ALCAPIENTRY alcCaptureStart( ALCdevice *device );
 
104
 
 
105
ALCAPI void            ALCAPIENTRY alcCaptureStop( ALCdevice *device );
 
106
 
 
107
ALCAPI void            ALCAPIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
 
108
 
 
109
#else /* ALC_NO_PROTOTYPES */
 
110
 
 
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 );
 
131
 
 
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 );
 
153
 
 
154
#endif /* ALC_NO_PROTOTYPES */
 
155
 
 
156
#ifdef TARGET_OS_MAC
 
157
#if TARGET_OS_MAC
 
158
#pragma export off
 
159
#endif /* TARGET_OS_MAC */
 
160
#endif /* TARGET_OS_MAC */
 
161
 
 
162
#ifdef __cplusplus
 
163
}
 
164
#endif
 
165
 
 
166
#endif /* ALC_CONTEXT_H_ */