1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
use libc::{c_void, c_char, c_uchar, c_short, c_ushort, c_int, c_uint, c_float, c_double}; pub type ALCdevice = c_void; pub type ALCcontext = c_void; pub type ALCboolean = c_char; pub type ALCchar = c_char; pub type ALCbyte = c_char; pub type ALCubyte = c_uchar; pub type ALCshort = c_short; pub type ALCushort = c_ushort; pub type ALCint = c_int; pub type ALCuint = c_uint; pub type ALCsizei = c_int; pub type ALCenum = c_int; pub type ALCfloat = c_float; pub type ALCdouble = c_double; pub type ALCvoid = c_void; pub const ALC_FALSE: ALCboolean = 0; pub const ALC_TRUE: ALCboolean = 1; pub const ALC_FREQUENCY: c_int = 0x1007; pub const ALC_REFRESH: c_int = 0x1008; pub const ALC_SYNC: c_int = 0x1009; pub const ALC_MONO_SOURCES: c_int = 0x1010; pub const ALC_STEREO_SOURCES: c_int = 0x1011; pub const ALC_NO_ERROR: c_int = 0; pub const ALC_INVALID_DEVICE: c_int = 0xA001; pub const ALC_INVALID_CONTEXT: c_int = 0xA002; pub const ALC_INVALID_ENUM: c_int = 0xA003; pub const ALC_INVALID_VALUE: c_int = 0xA004; pub const ALC_OUT_OF_MEMORY: c_int = 0xA005; pub const ALC_MAJOR_VERSION: c_int = 0x1000; pub const ALC_MINOR_VERSION: c_int = 0x1001; pub const ALC_ATTRIBUTES_SIZE: c_int = 0x1002; pub const ALC_ALL_ATTRIBUTES: c_int = 0x1003; pub const ALC_DEFAULT_DEVICE_SPECIFIER: c_int = 0x1004; pub const ALC_DEVICE_SPECIFIER: c_int = 0x1005; pub const ALC_EXTENSIONS: c_int = 0x1006; pub const ALC_EXT_CAPTURE: c_int = 1; pub const ALC_CAPTURE_DEVICE_SPECIFIER: c_int = 0x310; pub const ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER: c_int = 0x311; pub const ALC_CAPTURE_SAMPLES: c_int = 0x312; pub const ALC_ENUMERATE_ALL_EXT: c_int = 1; pub const ALC_DEFAULT_ALL_DEVICES_SPECIFIER: c_int = 0x1012; pub const ALC_ALL_DEVICES_SPECIFIER: c_int = 0x1013; extern { pub fn alcCreateContext(device: *const ALCdevice, attrlsit: *const ALCint) -> *mut ALCcontext; pub fn alcMakeContextCurrent(context: *mut ALCcontext) -> ALCboolean; pub fn alcProcessContext(context: *mut ALCcontext); pub fn alcSuspendContext(context: *mut ALCcontext); pub fn alcDestroyContext(context: *mut ALCcontext); pub fn alcGetCurrentContext() -> *const ALCcontext; pub fn alcGetContextsDevice(context: *const ALCcontext) -> *mut ALCdevice; pub fn alcOpenDevice(devicename: *const ALCchar) -> *mut ALCdevice; pub fn alcCloseDevice(device: *mut ALCdevice) -> ALCboolean; pub fn alcGetError(device: *const ALCdevice) -> ALCenum; pub fn alcIsExtensionPresent(device: *const ALCdevice, extname: *const ALCchar) -> ALCboolean; pub fn alcGetProcAddress(device: *const ALCdevice, funcname: *const ALCchar) -> *mut c_void; pub fn alcGetEnumValue(device: *const ALCdevice, enumname: *const ALCchar) -> ALCenum; pub fn alcGetString(device: *const ALCdevice, param: ALCenum) -> *const ALCchar; pub fn alcGetIntegerv(device: *const ALCdevice, param: ALCenum, size: ALCsizei, values: *mut ALCint); pub fn alcCaptureOpenDevice(devicename: *const ALCchar, frequency: ALCuint, format: ALCenum, buffersize: ALCsizei) -> *mut ALCdevice; pub fn alcCaptureCloseDevice(device: *mut ALCdevice) -> ALCboolean; pub fn alcCaptureStart(device: *mut ALCdevice); pub fn alcCaptureStop(device: *mut ALCdevice); pub fn alcCaptureSamples(device: *mut ALCdevice, buffer: *mut ALCvoid, samples: ALCsizei); }