]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/openal/include/alctypes.h
436fcfacc392eca058a5f6cb04871e5714703d6d
[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 typedef void ALCvoid;
61
62 /** ALC enumerations. */
63 typedef int ALCenum;
64
65 /* Bad value. */
66 #define ALC_INVALID                              (-1)
67
68 /* Boolean False. */
69 #define ALC_FALSE                                0
70
71 /* Boolean True. */
72 #define ALC_TRUE                                 1
73
74 /** Errors: No Error. */
75 #define ALC_NO_ERROR                             ALC_FALSE
76
77 #define ALC_MAJOR_VERSION                        0x1000
78 #define ALC_MINOR_VERSION                        0x1001
79 #define ALC_ATTRIBUTES_SIZE                      0x1002
80 #define ALC_ALL_ATTRIBUTES                       0x1003
81
82 #define ALC_DEFAULT_DEVICE_SPECIFIER             0x1004
83 #define ALC_DEVICE_SPECIFIER                     0x1005
84 #define ALC_EXTENSIONS                           0x1006
85
86 #define ALC_FREQUENCY                                                    0x1007
87 #define ALC_REFRESH                                                              0x1008
88 #define ALC_SYNC                                                                 0x1009
89
90 /** 
91  * The device argument does not name a valid dvice.
92  */
93 #define ALC_INVALID_DEVICE                       0xA001
94
95 /** 
96  * The context argument does not name a valid context.
97  */
98 #define ALC_INVALID_CONTEXT                      0xA002  
99
100 /**
101  * A function was called at inappropriate time,
102  *  or in an inappropriate way, causing an illegal state.
103  * This can be an incompatible ALenum, object ID,
104  *  and/or function.
105  */
106 #define ALC_INVALID_ENUM                                                 0xA003
107
108 /** 
109  * Illegal value passed as an argument to an AL call.
110  * Applies to parameter values, but not to enumerations.
111  */
112 #define ALC_INVALID_VALUE                        0xA004
113
114 /**
115  * A function could not be completed,
116  * because there is not enough memory available.
117  */
118 #define ALC_OUT_OF_MEMORY                        0xA005
119
120 #ifdef __cplusplus
121 }
122 #endif
123
124 #endif
125