]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/openal/include/alctypes.h
Use the same OpenAL headers on all platforms.
[icculus/iodoom3.git] / neo / openal / include / alctypes.h
1 #ifndef _ALCTYPES_H_
2 #define _ALCTYPES_H_
3
4 /**
5  * OpenAL cross platform audio library
6  * Copyright (C) 1999-2000 by authors.
7  * This library is free software; you can redistribute it and/or
8  *  modify it under the terms of the GNU Library General Public
9  *  License as published by the Free Software Foundation; either
10  *  version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  *  Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  *  License along with this library; if not, write to the
19  *  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  *  Boston, MA  02111-1307, USA.
21  * Or go to http://www.gnu.org/copyleft/lgpl.html
22  */
23
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 /** ALC boolean type. */
30 typedef char ALCboolean;
31
32 /** ALC 8bit signed byte. */
33 typedef char ALCbyte;
34
35 /** ALC 8bit unsigned byte. */
36 typedef unsigned char ALCubyte;
37
38 /** ALC 16bit signed short integer type. */
39 typedef short ALCshort;
40
41 /** ALC 16bit unsigned short integer type. */
42 typedef unsigned short ALCushort;
43
44 /** ALC 32bit unsigned integer type. */
45 typedef unsigned ALCuint;
46
47 /** ALC 32bit signed integer type. */
48 typedef int ALCint;
49
50 /** ALC 32bit floating point type. */
51 typedef float ALCfloat;
52
53 /** ALC 64bit double point type. */
54 typedef double ALCdouble;
55
56 /** ALC 32bit type. */
57 typedef unsigned int ALCsizei;
58
59 /** ALC void type */
60 //@IODOOM3: "typedef void" doesn't work on gcc.
61 //typedef void ALCvoid;
62 #define ALCvoid void
63
64 /** ALC enumerations. */
65 typedef int ALCenum;
66
67 /* Bad value. */
68 #define ALC_INVALID                              (-1)
69
70 /* Boolean False. */
71 #define ALC_FALSE                                0
72
73 /* Boolean True. */
74 #define ALC_TRUE                                 1
75
76 /** Errors: No Error. */
77 #define ALC_NO_ERROR                             ALC_FALSE
78
79 #define ALC_MAJOR_VERSION                        0x1000
80 #define ALC_MINOR_VERSION                        0x1001
81 #define ALC_ATTRIBUTES_SIZE                      0x1002
82 #define ALC_ALL_ATTRIBUTES                       0x1003
83
84 #define ALC_DEFAULT_DEVICE_SPECIFIER             0x1004
85 #define ALC_DEVICE_SPECIFIER                     0x1005
86 #define ALC_EXTENSIONS                           0x1006
87
88 #define ALC_FREQUENCY                                                    0x1007
89 #define ALC_REFRESH                                                              0x1008
90 #define ALC_SYNC                                                                 0x1009
91
92 /** 
93  * The device argument does not name a valid dvice.
94  */
95 #define ALC_INVALID_DEVICE                       0xA001
96
97 /** 
98  * The context argument does not name a valid context.
99  */
100 #define ALC_INVALID_CONTEXT                      0xA002  
101
102 /**
103  * A function was called at inappropriate time,
104  *  or in an inappropriate way, causing an illegal state.
105  * This can be an incompatible ALenum, object ID,
106  *  and/or function.
107  */
108 #define ALC_INVALID_ENUM                                                 0xA003
109
110 /** 
111  * Illegal value passed as an argument to an AL call.
112  * Applies to parameter values, but not to enumerations.
113  */
114 #define ALC_INVALID_VALUE                        0xA004
115
116 /**
117  * A function could not be completed,
118  * because there is not enough memory available.
119  */
120 #define ALC_OUT_OF_MEMORY                        0xA005
121
122 #ifdef __cplusplus
123 }
124 #endif
125
126 #endif
127