1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6 storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9 #[inline]
10 pub const fn new(storage: Storage) -> Self {
11 Self { storage }
12 }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 pub fn get_bit(&self, index: usize) -> bool {
20 debug_assert!(index / 8 < self.storage.as_ref().len());
21 let byte_index = index / 8;
22 let byte = self.storage.as_ref()[byte_index];
23 let bit_index = if cfg!(target_endian = "big") {
24 7 - (index % 8)
25 } else {
26 index % 8
27 };
28 let mask = 1 << bit_index;
29 byte & mask == mask
30 }
31 #[inline]
32 pub fn set_bit(&mut self, index: usize, val: bool) {
33 debug_assert!(index / 8 < self.storage.as_ref().len());
34 let byte_index = index / 8;
35 let byte = &mut self.storage.as_mut()[byte_index];
36 let bit_index = if cfg!(target_endian = "big") {
37 7 - (index % 8)
38 } else {
39 index % 8
40 };
41 let mask = 1 << bit_index;
42 if val {
43 *byte |= mask;
44 } else {
45 *byte &= !mask;
46 }
47 }
48 #[inline]
49 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50 debug_assert!(bit_width <= 64);
51 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53 let mut val = 0;
54 for i in 0..(bit_width as usize) {
55 if self.get_bit(i + bit_offset) {
56 let index = if cfg!(target_endian = "big") {
57 bit_width as usize - 1 - i
58 } else {
59 i
60 };
61 val |= 1 << index;
62 }
63 }
64 val
65 }
66 #[inline]
67 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68 debug_assert!(bit_width <= 64);
69 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71 for i in 0..(bit_width as usize) {
72 let mask = 1 << i;
73 let val_bit_is_set = val & mask == mask;
74 let index = if cfg!(target_endian = "big") {
75 bit_width as usize - 1 - i
76 } else {
77 i
78 };
79 self.set_bit(index + bit_offset, val_bit_is_set);
80 }
81 }
82}
83#[repr(C)]
84#[derive(Default)]
85pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
86impl<T> __IncompleteArrayField<T> {
87 #[inline]
88 pub const fn new() -> Self {
89 __IncompleteArrayField(::std::marker::PhantomData, [])
90 }
91 #[inline]
92 pub fn as_ptr(&self) -> *const T {
93 self as *const _ as *const T
94 }
95 #[inline]
96 pub fn as_mut_ptr(&mut self) -> *mut T {
97 self as *mut _ as *mut T
98 }
99 #[inline]
100 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
101 ::std::slice::from_raw_parts(self.as_ptr(), len)
102 }
103 #[inline]
104 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
105 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
106 }
107}
108impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
109 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
110 fmt.write_str("__IncompleteArrayField")
111 }
112}
113pub type va_list = __builtin_va_list;
114pub type __gnuc_va_list = __builtin_va_list;
115extern "C" {
116 pub fn snd_asoundlib_version() -> *const ::std::os::raw::c_char;
117}
118#[repr(C)]
119#[derive(Debug, Copy, Clone)]
120pub struct snd_dlsym_link {
121 pub next: *mut snd_dlsym_link,
122 pub dlsym_name: *const ::std::os::raw::c_char,
123 pub dlsym_ptr: *const ::std::os::raw::c_void,
124}
125extern "C" {
126 pub fn snd_dlpath(
127 path: *mut ::std::os::raw::c_char,
128 path_len: usize,
129 name: *const ::std::os::raw::c_char,
130 ) -> ::std::os::raw::c_int;
131}
132extern "C" {
133 pub fn snd_dlopen(
134 file: *const ::std::os::raw::c_char,
135 mode: ::std::os::raw::c_int,
136 errbuf: *mut ::std::os::raw::c_char,
137 errbuflen: usize,
138 ) -> *mut ::std::os::raw::c_void;
139}
140extern "C" {
141 pub fn snd_dlsym(
142 handle: *mut ::std::os::raw::c_void,
143 name: *const ::std::os::raw::c_char,
144 version: *const ::std::os::raw::c_char,
145 ) -> *mut ::std::os::raw::c_void;
146}
147extern "C" {
148 pub fn snd_dlclose(handle: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
149}
150#[repr(C)]
151#[derive(Debug, Copy, Clone)]
152pub struct _snd_async_handler {
153 _unused: [u8; 0],
154}
155pub type snd_async_handler_t = _snd_async_handler;
156pub type snd_async_callback_t =
157 ::std::option::Option<unsafe extern "C" fn(handler: *mut snd_async_handler_t)>;
158extern "C" {
159 pub fn snd_async_add_handler(
160 handler: *mut *mut snd_async_handler_t,
161 fd: ::std::os::raw::c_int,
162 callback: snd_async_callback_t,
163 private_data: *mut ::std::os::raw::c_void,
164 ) -> ::std::os::raw::c_int;
165}
166extern "C" {
167 pub fn snd_async_del_handler(handler: *mut snd_async_handler_t) -> ::std::os::raw::c_int;
168}
169extern "C" {
170 pub fn snd_async_handler_get_fd(handler: *mut snd_async_handler_t) -> ::std::os::raw::c_int;
171}
172extern "C" {
173 pub fn snd_async_handler_get_signo(handler: *mut snd_async_handler_t) -> ::std::os::raw::c_int;
174}
175extern "C" {
176 pub fn snd_async_handler_get_callback_private(
177 handler: *mut snd_async_handler_t,
178 ) -> *mut ::std::os::raw::c_void;
179}
180#[repr(C)]
181#[derive(Debug, Copy, Clone)]
182pub struct snd_shm_area {
183 _unused: [u8; 0],
184}
185extern "C" {
186 pub fn snd_shm_area_create(
187 shmid: ::std::os::raw::c_int,
188 ptr: *mut ::std::os::raw::c_void,
189 ) -> *mut snd_shm_area;
190}
191extern "C" {
192 pub fn snd_shm_area_share(area: *mut snd_shm_area) -> *mut snd_shm_area;
193}
194extern "C" {
195 pub fn snd_shm_area_destroy(area: *mut snd_shm_area) -> ::std::os::raw::c_int;
196}
197extern "C" {
198 pub fn snd_user_file(
199 file: *const ::std::os::raw::c_char,
200 result: *mut *mut ::std::os::raw::c_char,
201 ) -> ::std::os::raw::c_int;
202}
203pub type snd_timestamp_t = timeval;
204pub type snd_htimestamp_t = timespec;
205#[repr(C)]
206#[derive(Debug, Copy, Clone)]
207pub struct _snd_input {
208 _unused: [u8; 0],
209}
210pub type snd_input_t = _snd_input;
211pub const SND_INPUT_STDIO: _snd_input_type = 0;
212pub const SND_INPUT_BUFFER: _snd_input_type = 1;
213pub type _snd_input_type = ::std::os::raw::c_uint;
214pub use self::_snd_input_type as snd_input_type_t;
215extern "C" {
216 pub fn snd_input_stdio_open(
217 inputp: *mut *mut snd_input_t,
218 file: *const ::std::os::raw::c_char,
219 mode: *const ::std::os::raw::c_char,
220 ) -> ::std::os::raw::c_int;
221}
222extern "C" {
223 pub fn snd_input_stdio_attach(
224 inputp: *mut *mut snd_input_t,
225 fp: *mut FILE,
226 _close: ::std::os::raw::c_int,
227 ) -> ::std::os::raw::c_int;
228}
229extern "C" {
230 pub fn snd_input_buffer_open(
231 inputp: *mut *mut snd_input_t,
232 buffer: *const ::std::os::raw::c_char,
233 size: isize,
234 ) -> ::std::os::raw::c_int;
235}
236extern "C" {
237 pub fn snd_input_close(input: *mut snd_input_t) -> ::std::os::raw::c_int;
238}
239extern "C" {
240 pub fn snd_input_scanf(
241 input: *mut snd_input_t,
242 format: *const ::std::os::raw::c_char,
243 ...
244 ) -> ::std::os::raw::c_int;
245}
246extern "C" {
247 pub fn snd_input_gets(
248 input: *mut snd_input_t,
249 str_: *mut ::std::os::raw::c_char,
250 size: usize,
251 ) -> *mut ::std::os::raw::c_char;
252}
253extern "C" {
254 pub fn snd_input_getc(input: *mut snd_input_t) -> ::std::os::raw::c_int;
255}
256extern "C" {
257 pub fn snd_input_ungetc(
258 input: *mut snd_input_t,
259 c: ::std::os::raw::c_int,
260 ) -> ::std::os::raw::c_int;
261}
262#[repr(C)]
263#[derive(Debug, Copy, Clone)]
264pub struct _snd_output {
265 _unused: [u8; 0],
266}
267pub type snd_output_t = _snd_output;
268pub const SND_OUTPUT_STDIO: _snd_output_type = 0;
269pub const SND_OUTPUT_BUFFER: _snd_output_type = 1;
270pub type _snd_output_type = ::std::os::raw::c_uint;
271pub use self::_snd_output_type as snd_output_type_t;
272extern "C" {
273 pub fn snd_output_stdio_open(
274 outputp: *mut *mut snd_output_t,
275 file: *const ::std::os::raw::c_char,
276 mode: *const ::std::os::raw::c_char,
277 ) -> ::std::os::raw::c_int;
278}
279extern "C" {
280 pub fn snd_output_stdio_attach(
281 outputp: *mut *mut snd_output_t,
282 fp: *mut FILE,
283 _close: ::std::os::raw::c_int,
284 ) -> ::std::os::raw::c_int;
285}
286extern "C" {
287 pub fn snd_output_buffer_open(outputp: *mut *mut snd_output_t) -> ::std::os::raw::c_int;
288}
289extern "C" {
290 pub fn snd_output_buffer_string(
291 output: *mut snd_output_t,
292 buf: *mut *mut ::std::os::raw::c_char,
293 ) -> usize;
294}
295extern "C" {
296 pub fn snd_output_close(output: *mut snd_output_t) -> ::std::os::raw::c_int;
297}
298extern "C" {
299 pub fn snd_output_printf(
300 output: *mut snd_output_t,
301 format: *const ::std::os::raw::c_char,
302 ...
303 ) -> ::std::os::raw::c_int;
304}
305extern "C" {
306 pub fn snd_output_vprintf(
307 output: *mut snd_output_t,
308 format: *const ::std::os::raw::c_char,
309 args: *mut __va_list_tag,
310 ) -> ::std::os::raw::c_int;
311}
312extern "C" {
313 pub fn snd_output_puts(
314 output: *mut snd_output_t,
315 str_: *const ::std::os::raw::c_char,
316 ) -> ::std::os::raw::c_int;
317}
318extern "C" {
319 pub fn snd_output_putc(
320 output: *mut snd_output_t,
321 c: ::std::os::raw::c_int,
322 ) -> ::std::os::raw::c_int;
323}
324extern "C" {
325 pub fn snd_output_flush(output: *mut snd_output_t) -> ::std::os::raw::c_int;
326}
327extern "C" {
328 pub fn snd_strerror(errnum: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
329}
330pub type snd_lib_error_handler_t = ::std::option::Option<
331 unsafe extern "C" fn(
332 file: *const ::std::os::raw::c_char,
333 line: ::std::os::raw::c_int,
334 function: *const ::std::os::raw::c_char,
335 err: ::std::os::raw::c_int,
336 fmt: *const ::std::os::raw::c_char,
337 ...
338 ),
339>;
340extern "C" {
341 pub fn snd_lib_error_set_handler(handler: snd_lib_error_handler_t) -> ::std::os::raw::c_int;
342}
343pub type snd_local_error_handler_t = ::std::option::Option<
344 unsafe extern "C" fn(
345 file: *const ::std::os::raw::c_char,
346 line: ::std::os::raw::c_int,
347 func: *const ::std::os::raw::c_char,
348 err: ::std::os::raw::c_int,
349 fmt: *const ::std::os::raw::c_char,
350 arg: *mut __va_list_tag,
351 ),
352>;
353extern "C" {
354 pub fn snd_lib_error_set_local(func: snd_local_error_handler_t) -> snd_local_error_handler_t;
355}
356pub const SND_CONFIG_TYPE_INTEGER: _snd_config_type = 0;
357pub const SND_CONFIG_TYPE_INTEGER64: _snd_config_type = 1;
358pub const SND_CONFIG_TYPE_REAL: _snd_config_type = 2;
359pub const SND_CONFIG_TYPE_STRING: _snd_config_type = 3;
360pub const SND_CONFIG_TYPE_POINTER: _snd_config_type = 4;
361pub const SND_CONFIG_TYPE_COMPOUND: _snd_config_type = 1024;
362pub type _snd_config_type = ::std::os::raw::c_uint;
363pub use self::_snd_config_type as snd_config_type_t;
364#[repr(C)]
365#[derive(Debug, Copy, Clone)]
366pub struct _snd_config {
367 _unused: [u8; 0],
368}
369pub type snd_config_t = _snd_config;
370#[repr(C)]
371#[derive(Debug, Copy, Clone)]
372pub struct _snd_config_iterator {
373 _unused: [u8; 0],
374}
375pub type snd_config_iterator_t = *mut _snd_config_iterator;
376#[repr(C)]
377#[derive(Debug, Copy, Clone)]
378pub struct _snd_config_update {
379 _unused: [u8; 0],
380}
381pub type snd_config_update_t = _snd_config_update;
382extern "C" {
383 pub fn snd_config_topdir() -> *const ::std::os::raw::c_char;
384}
385extern "C" {
386 pub fn snd_config_top(config: *mut *mut snd_config_t) -> ::std::os::raw::c_int;
387}
388extern "C" {
389 pub fn snd_config_load(
390 config: *mut snd_config_t,
391 in_: *mut snd_input_t,
392 ) -> ::std::os::raw::c_int;
393}
394extern "C" {
395 pub fn snd_config_load_override(
396 config: *mut snd_config_t,
397 in_: *mut snd_input_t,
398 ) -> ::std::os::raw::c_int;
399}
400extern "C" {
401 pub fn snd_config_save(
402 config: *mut snd_config_t,
403 out: *mut snd_output_t,
404 ) -> ::std::os::raw::c_int;
405}
406extern "C" {
407 pub fn snd_config_update() -> ::std::os::raw::c_int;
408}
409extern "C" {
410 pub fn snd_config_update_r(
411 top: *mut *mut snd_config_t,
412 update: *mut *mut snd_config_update_t,
413 path: *const ::std::os::raw::c_char,
414 ) -> ::std::os::raw::c_int;
415}
416extern "C" {
417 pub fn snd_config_update_free(update: *mut snd_config_update_t) -> ::std::os::raw::c_int;
418}
419extern "C" {
420 pub fn snd_config_update_free_global() -> ::std::os::raw::c_int;
421}
422extern "C" {
423 pub fn snd_config_update_ref(top: *mut *mut snd_config_t) -> ::std::os::raw::c_int;
424}
425extern "C" {
426 pub fn snd_config_ref(top: *mut snd_config_t);
427}
428extern "C" {
429 pub fn snd_config_unref(top: *mut snd_config_t);
430}
431extern "C" {
432 pub fn snd_config_search(
433 config: *mut snd_config_t,
434 key: *const ::std::os::raw::c_char,
435 result: *mut *mut snd_config_t,
436 ) -> ::std::os::raw::c_int;
437}
438extern "C" {
439 pub fn snd_config_searchv(
440 config: *mut snd_config_t,
441 result: *mut *mut snd_config_t,
442 ...
443 ) -> ::std::os::raw::c_int;
444}
445extern "C" {
446 pub fn snd_config_search_definition(
447 config: *mut snd_config_t,
448 base: *const ::std::os::raw::c_char,
449 key: *const ::std::os::raw::c_char,
450 result: *mut *mut snd_config_t,
451 ) -> ::std::os::raw::c_int;
452}
453extern "C" {
454 pub fn snd_config_expand(
455 config: *mut snd_config_t,
456 root: *mut snd_config_t,
457 args: *const ::std::os::raw::c_char,
458 private_data: *mut snd_config_t,
459 result: *mut *mut snd_config_t,
460 ) -> ::std::os::raw::c_int;
461}
462extern "C" {
463 pub fn snd_config_evaluate(
464 config: *mut snd_config_t,
465 root: *mut snd_config_t,
466 private_data: *mut snd_config_t,
467 result: *mut *mut snd_config_t,
468 ) -> ::std::os::raw::c_int;
469}
470extern "C" {
471 pub fn snd_config_add(
472 config: *mut snd_config_t,
473 child: *mut snd_config_t,
474 ) -> ::std::os::raw::c_int;
475}
476extern "C" {
477 pub fn snd_config_add_before(
478 before: *mut snd_config_t,
479 child: *mut snd_config_t,
480 ) -> ::std::os::raw::c_int;
481}
482extern "C" {
483 pub fn snd_config_add_after(
484 after: *mut snd_config_t,
485 child: *mut snd_config_t,
486 ) -> ::std::os::raw::c_int;
487}
488extern "C" {
489 pub fn snd_config_remove(config: *mut snd_config_t) -> ::std::os::raw::c_int;
490}
491extern "C" {
492 pub fn snd_config_delete(config: *mut snd_config_t) -> ::std::os::raw::c_int;
493}
494extern "C" {
495 pub fn snd_config_delete_compound_members(config: *const snd_config_t)
496 -> ::std::os::raw::c_int;
497}
498extern "C" {
499 pub fn snd_config_copy(
500 dst: *mut *mut snd_config_t,
501 src: *mut snd_config_t,
502 ) -> ::std::os::raw::c_int;
503}
504extern "C" {
505 pub fn snd_config_make(
506 config: *mut *mut snd_config_t,
507 key: *const ::std::os::raw::c_char,
508 type_: snd_config_type_t,
509 ) -> ::std::os::raw::c_int;
510}
511extern "C" {
512 pub fn snd_config_make_integer(
513 config: *mut *mut snd_config_t,
514 key: *const ::std::os::raw::c_char,
515 ) -> ::std::os::raw::c_int;
516}
517extern "C" {
518 pub fn snd_config_make_integer64(
519 config: *mut *mut snd_config_t,
520 key: *const ::std::os::raw::c_char,
521 ) -> ::std::os::raw::c_int;
522}
523extern "C" {
524 pub fn snd_config_make_real(
525 config: *mut *mut snd_config_t,
526 key: *const ::std::os::raw::c_char,
527 ) -> ::std::os::raw::c_int;
528}
529extern "C" {
530 pub fn snd_config_make_string(
531 config: *mut *mut snd_config_t,
532 key: *const ::std::os::raw::c_char,
533 ) -> ::std::os::raw::c_int;
534}
535extern "C" {
536 pub fn snd_config_make_pointer(
537 config: *mut *mut snd_config_t,
538 key: *const ::std::os::raw::c_char,
539 ) -> ::std::os::raw::c_int;
540}
541extern "C" {
542 pub fn snd_config_make_compound(
543 config: *mut *mut snd_config_t,
544 key: *const ::std::os::raw::c_char,
545 join: ::std::os::raw::c_int,
546 ) -> ::std::os::raw::c_int;
547}
548extern "C" {
549 pub fn snd_config_imake_integer(
550 config: *mut *mut snd_config_t,
551 key: *const ::std::os::raw::c_char,
552 value: ::std::os::raw::c_long,
553 ) -> ::std::os::raw::c_int;
554}
555extern "C" {
556 pub fn snd_config_imake_integer64(
557 config: *mut *mut snd_config_t,
558 key: *const ::std::os::raw::c_char,
559 value: ::std::os::raw::c_longlong,
560 ) -> ::std::os::raw::c_int;
561}
562extern "C" {
563 pub fn snd_config_imake_real(
564 config: *mut *mut snd_config_t,
565 key: *const ::std::os::raw::c_char,
566 value: f64,
567 ) -> ::std::os::raw::c_int;
568}
569extern "C" {
570 pub fn snd_config_imake_string(
571 config: *mut *mut snd_config_t,
572 key: *const ::std::os::raw::c_char,
573 ascii: *const ::std::os::raw::c_char,
574 ) -> ::std::os::raw::c_int;
575}
576extern "C" {
577 pub fn snd_config_imake_safe_string(
578 config: *mut *mut snd_config_t,
579 key: *const ::std::os::raw::c_char,
580 ascii: *const ::std::os::raw::c_char,
581 ) -> ::std::os::raw::c_int;
582}
583extern "C" {
584 pub fn snd_config_imake_pointer(
585 config: *mut *mut snd_config_t,
586 key: *const ::std::os::raw::c_char,
587 ptr: *const ::std::os::raw::c_void,
588 ) -> ::std::os::raw::c_int;
589}
590extern "C" {
591 pub fn snd_config_get_type(config: *const snd_config_t) -> snd_config_type_t;
592}
593extern "C" {
594 pub fn snd_config_is_array(config: *const snd_config_t) -> ::std::os::raw::c_int;
595}
596extern "C" {
597 pub fn snd_config_set_id(
598 config: *mut snd_config_t,
599 id: *const ::std::os::raw::c_char,
600 ) -> ::std::os::raw::c_int;
601}
602extern "C" {
603 pub fn snd_config_set_integer(
604 config: *mut snd_config_t,
605 value: ::std::os::raw::c_long,
606 ) -> ::std::os::raw::c_int;
607}
608extern "C" {
609 pub fn snd_config_set_integer64(
610 config: *mut snd_config_t,
611 value: ::std::os::raw::c_longlong,
612 ) -> ::std::os::raw::c_int;
613}
614extern "C" {
615 pub fn snd_config_set_real(config: *mut snd_config_t, value: f64) -> ::std::os::raw::c_int;
616}
617extern "C" {
618 pub fn snd_config_set_string(
619 config: *mut snd_config_t,
620 value: *const ::std::os::raw::c_char,
621 ) -> ::std::os::raw::c_int;
622}
623extern "C" {
624 pub fn snd_config_set_ascii(
625 config: *mut snd_config_t,
626 ascii: *const ::std::os::raw::c_char,
627 ) -> ::std::os::raw::c_int;
628}
629extern "C" {
630 pub fn snd_config_set_pointer(
631 config: *mut snd_config_t,
632 ptr: *const ::std::os::raw::c_void,
633 ) -> ::std::os::raw::c_int;
634}
635extern "C" {
636 pub fn snd_config_get_id(
637 config: *const snd_config_t,
638 value: *mut *const ::std::os::raw::c_char,
639 ) -> ::std::os::raw::c_int;
640}
641extern "C" {
642 pub fn snd_config_get_integer(
643 config: *const snd_config_t,
644 value: *mut ::std::os::raw::c_long,
645 ) -> ::std::os::raw::c_int;
646}
647extern "C" {
648 pub fn snd_config_get_integer64(
649 config: *const snd_config_t,
650 value: *mut ::std::os::raw::c_longlong,
651 ) -> ::std::os::raw::c_int;
652}
653extern "C" {
654 pub fn snd_config_get_real(
655 config: *const snd_config_t,
656 value: *mut f64,
657 ) -> ::std::os::raw::c_int;
658}
659extern "C" {
660 pub fn snd_config_get_ireal(
661 config: *const snd_config_t,
662 value: *mut f64,
663 ) -> ::std::os::raw::c_int;
664}
665extern "C" {
666 pub fn snd_config_get_string(
667 config: *const snd_config_t,
668 value: *mut *const ::std::os::raw::c_char,
669 ) -> ::std::os::raw::c_int;
670}
671extern "C" {
672 pub fn snd_config_get_ascii(
673 config: *const snd_config_t,
674 value: *mut *mut ::std::os::raw::c_char,
675 ) -> ::std::os::raw::c_int;
676}
677extern "C" {
678 pub fn snd_config_get_pointer(
679 config: *const snd_config_t,
680 value: *mut *const ::std::os::raw::c_void,
681 ) -> ::std::os::raw::c_int;
682}
683extern "C" {
684 pub fn snd_config_test_id(
685 config: *const snd_config_t,
686 id: *const ::std::os::raw::c_char,
687 ) -> ::std::os::raw::c_int;
688}
689extern "C" {
690 pub fn snd_config_iterator_first(node: *const snd_config_t) -> snd_config_iterator_t;
691}
692extern "C" {
693 pub fn snd_config_iterator_next(iterator: snd_config_iterator_t) -> snd_config_iterator_t;
694}
695extern "C" {
696 pub fn snd_config_iterator_end(node: *const snd_config_t) -> snd_config_iterator_t;
697}
698extern "C" {
699 pub fn snd_config_iterator_entry(iterator: snd_config_iterator_t) -> *mut snd_config_t;
700}
701extern "C" {
702 pub fn snd_config_get_bool_ascii(ascii: *const ::std::os::raw::c_char)
703 -> ::std::os::raw::c_int;
704}
705extern "C" {
706 pub fn snd_config_get_bool(conf: *const snd_config_t) -> ::std::os::raw::c_int;
707}
708extern "C" {
709 pub fn snd_config_get_ctl_iface_ascii(
710 ascii: *const ::std::os::raw::c_char,
711 ) -> ::std::os::raw::c_int;
712}
713extern "C" {
714 pub fn snd_config_get_ctl_iface(conf: *const snd_config_t) -> ::std::os::raw::c_int;
715}
716pub type snd_devname_t = snd_devname;
717#[repr(C)]
718#[derive(Debug, Copy, Clone)]
719pub struct snd_devname {
720 pub name: *mut ::std::os::raw::c_char,
721 pub comment: *mut ::std::os::raw::c_char,
722 pub next: *mut snd_devname_t,
723}
724extern "C" {
725 pub fn snd_names_list(
726 iface: *const ::std::os::raw::c_char,
727 list: *mut *mut snd_devname_t,
728 ) -> ::std::os::raw::c_int;
729}
730extern "C" {
731 pub fn snd_names_list_free(list: *mut snd_devname_t);
732}
733#[repr(C)]
734#[derive(Debug, Copy, Clone)]
735pub struct _snd_pcm_info {
736 _unused: [u8; 0],
737}
738pub type snd_pcm_info_t = _snd_pcm_info;
739#[repr(C)]
740#[derive(Debug, Copy, Clone)]
741pub struct _snd_pcm_hw_params {
742 _unused: [u8; 0],
743}
744pub type snd_pcm_hw_params_t = _snd_pcm_hw_params;
745#[repr(C)]
746#[derive(Debug, Copy, Clone)]
747pub struct _snd_pcm_sw_params {
748 _unused: [u8; 0],
749}
750pub type snd_pcm_sw_params_t = _snd_pcm_sw_params;
751#[repr(C)]
752#[derive(Debug, Copy, Clone)]
753pub struct _snd_pcm_status {
754 _unused: [u8; 0],
755}
756pub type snd_pcm_status_t = _snd_pcm_status;
757#[repr(C)]
758#[derive(Debug, Copy, Clone)]
759pub struct _snd_pcm_access_mask {
760 _unused: [u8; 0],
761}
762pub type snd_pcm_access_mask_t = _snd_pcm_access_mask;
763#[repr(C)]
764#[derive(Debug, Copy, Clone)]
765pub struct _snd_pcm_format_mask {
766 _unused: [u8; 0],
767}
768pub type snd_pcm_format_mask_t = _snd_pcm_format_mask;
769#[repr(C)]
770#[derive(Debug, Copy, Clone)]
771pub struct _snd_pcm_subformat_mask {
772 _unused: [u8; 0],
773}
774pub type snd_pcm_subformat_mask_t = _snd_pcm_subformat_mask;
775pub const SND_PCM_CLASS_GENERIC: _snd_pcm_class = 0;
776pub const SND_PCM_CLASS_MULTI: _snd_pcm_class = 1;
777pub const SND_PCM_CLASS_MODEM: _snd_pcm_class = 2;
778pub const SND_PCM_CLASS_DIGITIZER: _snd_pcm_class = 3;
779pub const SND_PCM_CLASS_LAST: _snd_pcm_class = 3;
780pub type _snd_pcm_class = ::std::os::raw::c_uint;
781pub use self::_snd_pcm_class as snd_pcm_class_t;
782pub const SND_PCM_SUBCLASS_GENERIC_MIX: _snd_pcm_subclass = 0;
783pub const SND_PCM_SUBCLASS_MULTI_MIX: _snd_pcm_subclass = 1;
784pub const SND_PCM_SUBCLASS_LAST: _snd_pcm_subclass = 1;
785pub type _snd_pcm_subclass = ::std::os::raw::c_uint;
786pub use self::_snd_pcm_subclass as snd_pcm_subclass_t;
787pub const SND_PCM_STREAM_PLAYBACK: _snd_pcm_stream = 0;
788pub const SND_PCM_STREAM_CAPTURE: _snd_pcm_stream = 1;
789pub const SND_PCM_STREAM_LAST: _snd_pcm_stream = 1;
790pub type _snd_pcm_stream = ::std::os::raw::c_uint;
791pub use self::_snd_pcm_stream as snd_pcm_stream_t;
792pub const SND_PCM_ACCESS_MMAP_INTERLEAVED: _snd_pcm_access = 0;
793pub const SND_PCM_ACCESS_MMAP_NONINTERLEAVED: _snd_pcm_access = 1;
794pub const SND_PCM_ACCESS_MMAP_COMPLEX: _snd_pcm_access = 2;
795pub const SND_PCM_ACCESS_RW_INTERLEAVED: _snd_pcm_access = 3;
796pub const SND_PCM_ACCESS_RW_NONINTERLEAVED: _snd_pcm_access = 4;
797pub const SND_PCM_ACCESS_LAST: _snd_pcm_access = 4;
798pub type _snd_pcm_access = ::std::os::raw::c_uint;
799pub use self::_snd_pcm_access as snd_pcm_access_t;
800pub const SND_PCM_FORMAT_UNKNOWN: _snd_pcm_format = -1;
801pub const SND_PCM_FORMAT_S8: _snd_pcm_format = 0;
802pub const SND_PCM_FORMAT_U8: _snd_pcm_format = 1;
803pub const SND_PCM_FORMAT_S16_LE: _snd_pcm_format = 2;
804pub const SND_PCM_FORMAT_S16_BE: _snd_pcm_format = 3;
805pub const SND_PCM_FORMAT_U16_LE: _snd_pcm_format = 4;
806pub const SND_PCM_FORMAT_U16_BE: _snd_pcm_format = 5;
807pub const SND_PCM_FORMAT_S24_LE: _snd_pcm_format = 6;
808pub const SND_PCM_FORMAT_S24_BE: _snd_pcm_format = 7;
809pub const SND_PCM_FORMAT_U24_LE: _snd_pcm_format = 8;
810pub const SND_PCM_FORMAT_U24_BE: _snd_pcm_format = 9;
811pub const SND_PCM_FORMAT_S32_LE: _snd_pcm_format = 10;
812pub const SND_PCM_FORMAT_S32_BE: _snd_pcm_format = 11;
813pub const SND_PCM_FORMAT_U32_LE: _snd_pcm_format = 12;
814pub const SND_PCM_FORMAT_U32_BE: _snd_pcm_format = 13;
815pub const SND_PCM_FORMAT_FLOAT_LE: _snd_pcm_format = 14;
816pub const SND_PCM_FORMAT_FLOAT_BE: _snd_pcm_format = 15;
817pub const SND_PCM_FORMAT_FLOAT64_LE: _snd_pcm_format = 16;
818pub const SND_PCM_FORMAT_FLOAT64_BE: _snd_pcm_format = 17;
819pub const SND_PCM_FORMAT_IEC958_SUBFRAME_LE: _snd_pcm_format = 18;
820pub const SND_PCM_FORMAT_IEC958_SUBFRAME_BE: _snd_pcm_format = 19;
821pub const SND_PCM_FORMAT_MU_LAW: _snd_pcm_format = 20;
822pub const SND_PCM_FORMAT_A_LAW: _snd_pcm_format = 21;
823pub const SND_PCM_FORMAT_IMA_ADPCM: _snd_pcm_format = 22;
824pub const SND_PCM_FORMAT_MPEG: _snd_pcm_format = 23;
825pub const SND_PCM_FORMAT_GSM: _snd_pcm_format = 24;
826pub const SND_PCM_FORMAT_S20_LE: _snd_pcm_format = 25;
827pub const SND_PCM_FORMAT_S20_BE: _snd_pcm_format = 26;
828pub const SND_PCM_FORMAT_U20_LE: _snd_pcm_format = 27;
829pub const SND_PCM_FORMAT_U20_BE: _snd_pcm_format = 28;
830pub const SND_PCM_FORMAT_SPECIAL: _snd_pcm_format = 31;
831pub const SND_PCM_FORMAT_S24_3LE: _snd_pcm_format = 32;
832pub const SND_PCM_FORMAT_S24_3BE: _snd_pcm_format = 33;
833pub const SND_PCM_FORMAT_U24_3LE: _snd_pcm_format = 34;
834pub const SND_PCM_FORMAT_U24_3BE: _snd_pcm_format = 35;
835pub const SND_PCM_FORMAT_S20_3LE: _snd_pcm_format = 36;
836pub const SND_PCM_FORMAT_S20_3BE: _snd_pcm_format = 37;
837pub const SND_PCM_FORMAT_U20_3LE: _snd_pcm_format = 38;
838pub const SND_PCM_FORMAT_U20_3BE: _snd_pcm_format = 39;
839pub const SND_PCM_FORMAT_S18_3LE: _snd_pcm_format = 40;
840pub const SND_PCM_FORMAT_S18_3BE: _snd_pcm_format = 41;
841pub const SND_PCM_FORMAT_U18_3LE: _snd_pcm_format = 42;
842pub const SND_PCM_FORMAT_U18_3BE: _snd_pcm_format = 43;
843pub const SND_PCM_FORMAT_G723_24: _snd_pcm_format = 44;
844pub const SND_PCM_FORMAT_G723_24_1B: _snd_pcm_format = 45;
845pub const SND_PCM_FORMAT_G723_40: _snd_pcm_format = 46;
846pub const SND_PCM_FORMAT_G723_40_1B: _snd_pcm_format = 47;
847pub const SND_PCM_FORMAT_DSD_U8: _snd_pcm_format = 48;
848pub const SND_PCM_FORMAT_DSD_U16_LE: _snd_pcm_format = 49;
849pub const SND_PCM_FORMAT_DSD_U32_LE: _snd_pcm_format = 50;
850pub const SND_PCM_FORMAT_DSD_U16_BE: _snd_pcm_format = 51;
851pub const SND_PCM_FORMAT_DSD_U32_BE: _snd_pcm_format = 52;
852pub const SND_PCM_FORMAT_LAST: _snd_pcm_format = 52;
853pub const SND_PCM_FORMAT_S16: _snd_pcm_format = 2;
854pub const SND_PCM_FORMAT_U16: _snd_pcm_format = 4;
855pub const SND_PCM_FORMAT_S24: _snd_pcm_format = 6;
856pub const SND_PCM_FORMAT_U24: _snd_pcm_format = 8;
857pub const SND_PCM_FORMAT_S32: _snd_pcm_format = 10;
858pub const SND_PCM_FORMAT_U32: _snd_pcm_format = 12;
859pub const SND_PCM_FORMAT_FLOAT: _snd_pcm_format = 14;
860pub const SND_PCM_FORMAT_FLOAT64: _snd_pcm_format = 16;
861pub const SND_PCM_FORMAT_IEC958_SUBFRAME: _snd_pcm_format = 18;
862pub const SND_PCM_FORMAT_S20: _snd_pcm_format = 25;
863pub const SND_PCM_FORMAT_U20: _snd_pcm_format = 27;
864pub type _snd_pcm_format = ::std::os::raw::c_int;
865pub use self::_snd_pcm_format as snd_pcm_format_t;
866pub const SND_PCM_SUBFORMAT_STD: _snd_pcm_subformat = 0;
867pub const SND_PCM_SUBFORMAT_LAST: _snd_pcm_subformat = 0;
868pub type _snd_pcm_subformat = ::std::os::raw::c_uint;
869pub use self::_snd_pcm_subformat as snd_pcm_subformat_t;
870pub const SND_PCM_STATE_OPEN: _snd_pcm_state = 0;
871pub const SND_PCM_STATE_SETUP: _snd_pcm_state = 1;
872pub const SND_PCM_STATE_PREPARED: _snd_pcm_state = 2;
873pub const SND_PCM_STATE_RUNNING: _snd_pcm_state = 3;
874pub const SND_PCM_STATE_XRUN: _snd_pcm_state = 4;
875pub const SND_PCM_STATE_DRAINING: _snd_pcm_state = 5;
876pub const SND_PCM_STATE_PAUSED: _snd_pcm_state = 6;
877pub const SND_PCM_STATE_SUSPENDED: _snd_pcm_state = 7;
878pub const SND_PCM_STATE_DISCONNECTED: _snd_pcm_state = 8;
879pub const SND_PCM_STATE_LAST: _snd_pcm_state = 8;
880pub const SND_PCM_STATE_PRIVATE1: _snd_pcm_state = 1024;
881pub type _snd_pcm_state = ::std::os::raw::c_uint;
882pub use self::_snd_pcm_state as snd_pcm_state_t;
883pub const SND_PCM_START_DATA: _snd_pcm_start = 0;
884pub const SND_PCM_START_EXPLICIT: _snd_pcm_start = 1;
885pub const SND_PCM_START_LAST: _snd_pcm_start = 1;
886pub type _snd_pcm_start = ::std::os::raw::c_uint;
887pub use self::_snd_pcm_start as snd_pcm_start_t;
888pub const SND_PCM_XRUN_NONE: _snd_pcm_xrun = 0;
889pub const SND_PCM_XRUN_STOP: _snd_pcm_xrun = 1;
890pub const SND_PCM_XRUN_LAST: _snd_pcm_xrun = 1;
891pub type _snd_pcm_xrun = ::std::os::raw::c_uint;
892pub use self::_snd_pcm_xrun as snd_pcm_xrun_t;
893pub const SND_PCM_TSTAMP_NONE: _snd_pcm_tstamp = 0;
894pub const SND_PCM_TSTAMP_ENABLE: _snd_pcm_tstamp = 1;
895pub const SND_PCM_TSTAMP_MMAP: _snd_pcm_tstamp = 1;
896pub const SND_PCM_TSTAMP_LAST: _snd_pcm_tstamp = 1;
897pub type _snd_pcm_tstamp = ::std::os::raw::c_uint;
898pub use self::_snd_pcm_tstamp as snd_pcm_tstamp_t;
899pub const SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _snd_pcm_tstamp_type = 0;
900pub const SND_PCM_TSTAMP_TYPE_MONOTONIC: _snd_pcm_tstamp_type = 1;
901pub const SND_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _snd_pcm_tstamp_type = 2;
902pub const SND_PCM_TSTAMP_TYPE_LAST: _snd_pcm_tstamp_type = 2;
903pub type _snd_pcm_tstamp_type = ::std::os::raw::c_uint;
904pub use self::_snd_pcm_tstamp_type as snd_pcm_tstamp_type_t;
905#[repr(C)]
906#[repr(align(4))]
907#[derive(Debug, Copy, Clone)]
908pub struct _snd_pcm_audio_tstamp_config {
909 pub _bitfield_align_1: [u8; 0],
910 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
911 pub __bindgen_padding_0: [u8; 3usize],
912}
913impl _snd_pcm_audio_tstamp_config {
914 #[inline]
915 pub fn type_requested(&self) -> ::std::os::raw::c_uint {
916 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
917 }
918 #[inline]
919 pub fn set_type_requested(&mut self, val: ::std::os::raw::c_uint) {
920 unsafe {
921 let val: u32 = ::std::mem::transmute(val);
922 self._bitfield_1.set(0usize, 4u8, val as u64)
923 }
924 }
925 #[inline]
926 pub fn report_delay(&self) -> ::std::os::raw::c_uint {
927 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
928 }
929 #[inline]
930 pub fn set_report_delay(&mut self, val: ::std::os::raw::c_uint) {
931 unsafe {
932 let val: u32 = ::std::mem::transmute(val);
933 self._bitfield_1.set(4usize, 1u8, val as u64)
934 }
935 }
936 #[inline]
937 pub fn new_bitfield_1(
938 type_requested: ::std::os::raw::c_uint,
939 report_delay: ::std::os::raw::c_uint,
940 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
941 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
942 __bindgen_bitfield_unit.set(0usize, 4u8, {
943 let type_requested: u32 = unsafe { ::std::mem::transmute(type_requested) };
944 type_requested as u64
945 });
946 __bindgen_bitfield_unit.set(4usize, 1u8, {
947 let report_delay: u32 = unsafe { ::std::mem::transmute(report_delay) };
948 report_delay as u64
949 });
950 __bindgen_bitfield_unit
951 }
952}
953pub type snd_pcm_audio_tstamp_config_t = _snd_pcm_audio_tstamp_config;
954#[repr(C)]
955#[derive(Debug, Copy, Clone)]
956pub struct _snd_pcm_audio_tstamp_report {
957 pub _bitfield_align_1: [u8; 0],
958 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
959 pub accuracy: ::std::os::raw::c_uint,
960}
961impl _snd_pcm_audio_tstamp_report {
962 #[inline]
963 pub fn valid(&self) -> ::std::os::raw::c_uint {
964 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
965 }
966 #[inline]
967 pub fn set_valid(&mut self, val: ::std::os::raw::c_uint) {
968 unsafe {
969 let val: u32 = ::std::mem::transmute(val);
970 self._bitfield_1.set(0usize, 1u8, val as u64)
971 }
972 }
973 #[inline]
974 pub fn actual_type(&self) -> ::std::os::raw::c_uint {
975 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 4u8) as u32) }
976 }
977 #[inline]
978 pub fn set_actual_type(&mut self, val: ::std::os::raw::c_uint) {
979 unsafe {
980 let val: u32 = ::std::mem::transmute(val);
981 self._bitfield_1.set(1usize, 4u8, val as u64)
982 }
983 }
984 #[inline]
985 pub fn accuracy_report(&self) -> ::std::os::raw::c_uint {
986 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
987 }
988 #[inline]
989 pub fn set_accuracy_report(&mut self, val: ::std::os::raw::c_uint) {
990 unsafe {
991 let val: u32 = ::std::mem::transmute(val);
992 self._bitfield_1.set(5usize, 1u8, val as u64)
993 }
994 }
995 #[inline]
996 pub fn new_bitfield_1(
997 valid: ::std::os::raw::c_uint,
998 actual_type: ::std::os::raw::c_uint,
999 accuracy_report: ::std::os::raw::c_uint,
1000 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
1001 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
1002 __bindgen_bitfield_unit.set(0usize, 1u8, {
1003 let valid: u32 = unsafe { ::std::mem::transmute(valid) };
1004 valid as u64
1005 });
1006 __bindgen_bitfield_unit.set(1usize, 4u8, {
1007 let actual_type: u32 = unsafe { ::std::mem::transmute(actual_type) };
1008 actual_type as u64
1009 });
1010 __bindgen_bitfield_unit.set(5usize, 1u8, {
1011 let accuracy_report: u32 = unsafe { ::std::mem::transmute(accuracy_report) };
1012 accuracy_report as u64
1013 });
1014 __bindgen_bitfield_unit
1015 }
1016}
1017pub type snd_pcm_audio_tstamp_report_t = _snd_pcm_audio_tstamp_report;
1018pub type snd_pcm_uframes_t = ::std::os::raw::c_ulong;
1019pub type snd_pcm_sframes_t = ::std::os::raw::c_long;
1020#[repr(C)]
1021#[derive(Debug, Copy, Clone)]
1022pub struct _snd_pcm {
1023 _unused: [u8; 0],
1024}
1025pub type snd_pcm_t = _snd_pcm;
1026pub const SND_PCM_TYPE_HW: _snd_pcm_type = 0;
1027pub const SND_PCM_TYPE_HOOKS: _snd_pcm_type = 1;
1028pub const SND_PCM_TYPE_MULTI: _snd_pcm_type = 2;
1029pub const SND_PCM_TYPE_FILE: _snd_pcm_type = 3;
1030pub const SND_PCM_TYPE_NULL: _snd_pcm_type = 4;
1031pub const SND_PCM_TYPE_SHM: _snd_pcm_type = 5;
1032pub const SND_PCM_TYPE_INET: _snd_pcm_type = 6;
1033pub const SND_PCM_TYPE_COPY: _snd_pcm_type = 7;
1034pub const SND_PCM_TYPE_LINEAR: _snd_pcm_type = 8;
1035pub const SND_PCM_TYPE_ALAW: _snd_pcm_type = 9;
1036pub const SND_PCM_TYPE_MULAW: _snd_pcm_type = 10;
1037pub const SND_PCM_TYPE_ADPCM: _snd_pcm_type = 11;
1038pub const SND_PCM_TYPE_RATE: _snd_pcm_type = 12;
1039pub const SND_PCM_TYPE_ROUTE: _snd_pcm_type = 13;
1040pub const SND_PCM_TYPE_PLUG: _snd_pcm_type = 14;
1041pub const SND_PCM_TYPE_SHARE: _snd_pcm_type = 15;
1042pub const SND_PCM_TYPE_METER: _snd_pcm_type = 16;
1043pub const SND_PCM_TYPE_MIX: _snd_pcm_type = 17;
1044pub const SND_PCM_TYPE_DROUTE: _snd_pcm_type = 18;
1045pub const SND_PCM_TYPE_LBSERVER: _snd_pcm_type = 19;
1046pub const SND_PCM_TYPE_LINEAR_FLOAT: _snd_pcm_type = 20;
1047pub const SND_PCM_TYPE_LADSPA: _snd_pcm_type = 21;
1048pub const SND_PCM_TYPE_DMIX: _snd_pcm_type = 22;
1049pub const SND_PCM_TYPE_JACK: _snd_pcm_type = 23;
1050pub const SND_PCM_TYPE_DSNOOP: _snd_pcm_type = 24;
1051pub const SND_PCM_TYPE_DSHARE: _snd_pcm_type = 25;
1052pub const SND_PCM_TYPE_IEC958: _snd_pcm_type = 26;
1053pub const SND_PCM_TYPE_SOFTVOL: _snd_pcm_type = 27;
1054pub const SND_PCM_TYPE_IOPLUG: _snd_pcm_type = 28;
1055pub const SND_PCM_TYPE_EXTPLUG: _snd_pcm_type = 29;
1056pub const SND_PCM_TYPE_MMAP_EMUL: _snd_pcm_type = 30;
1057pub const SND_PCM_TYPE_LAST: _snd_pcm_type = 30;
1058pub type _snd_pcm_type = ::std::os::raw::c_uint;
1059pub use self::_snd_pcm_type as snd_pcm_type_t;
1060#[repr(C)]
1061#[derive(Debug, Copy, Clone)]
1062pub struct _snd_pcm_channel_area {
1063 pub addr: *mut ::std::os::raw::c_void,
1064 pub first: ::std::os::raw::c_uint,
1065 pub step: ::std::os::raw::c_uint,
1066}
1067pub type snd_pcm_channel_area_t = _snd_pcm_channel_area;
1068#[repr(C)]
1069#[derive(Copy, Clone)]
1070pub union _snd_pcm_sync_id {
1071 pub id: [::std::os::raw::c_uchar; 16usize],
1072 pub id16: [::std::os::raw::c_ushort; 8usize],
1073 pub id32: [::std::os::raw::c_uint; 4usize],
1074}
1075pub type snd_pcm_sync_id_t = _snd_pcm_sync_id;
1076#[repr(C)]
1077#[derive(Debug, Copy, Clone)]
1078pub struct _snd_pcm_scope {
1079 _unused: [u8; 0],
1080}
1081pub type snd_pcm_scope_t = _snd_pcm_scope;
1082extern "C" {
1083 pub fn snd_pcm_open(
1084 pcm: *mut *mut snd_pcm_t,
1085 name: *const ::std::os::raw::c_char,
1086 stream: snd_pcm_stream_t,
1087 mode: ::std::os::raw::c_int,
1088 ) -> ::std::os::raw::c_int;
1089}
1090extern "C" {
1091 pub fn snd_pcm_open_lconf(
1092 pcm: *mut *mut snd_pcm_t,
1093 name: *const ::std::os::raw::c_char,
1094 stream: snd_pcm_stream_t,
1095 mode: ::std::os::raw::c_int,
1096 lconf: *mut snd_config_t,
1097 ) -> ::std::os::raw::c_int;
1098}
1099extern "C" {
1100 pub fn snd_pcm_open_fallback(
1101 pcm: *mut *mut snd_pcm_t,
1102 root: *mut snd_config_t,
1103 name: *const ::std::os::raw::c_char,
1104 orig_name: *const ::std::os::raw::c_char,
1105 stream: snd_pcm_stream_t,
1106 mode: ::std::os::raw::c_int,
1107 ) -> ::std::os::raw::c_int;
1108}
1109extern "C" {
1110 pub fn snd_pcm_close(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1111}
1112extern "C" {
1113 pub fn snd_pcm_name(pcm: *mut snd_pcm_t) -> *const ::std::os::raw::c_char;
1114}
1115extern "C" {
1116 pub fn snd_pcm_type(pcm: *mut snd_pcm_t) -> snd_pcm_type_t;
1117}
1118extern "C" {
1119 pub fn snd_pcm_stream(pcm: *mut snd_pcm_t) -> snd_pcm_stream_t;
1120}
1121extern "C" {
1122 pub fn snd_pcm_poll_descriptors_count(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1123}
1124extern "C" {
1125 pub fn snd_pcm_poll_descriptors(
1126 pcm: *mut snd_pcm_t,
1127 pfds: *mut pollfd,
1128 space: ::std::os::raw::c_uint,
1129 ) -> ::std::os::raw::c_int;
1130}
1131extern "C" {
1132 pub fn snd_pcm_poll_descriptors_revents(
1133 pcm: *mut snd_pcm_t,
1134 pfds: *mut pollfd,
1135 nfds: ::std::os::raw::c_uint,
1136 revents: *mut ::std::os::raw::c_ushort,
1137 ) -> ::std::os::raw::c_int;
1138}
1139extern "C" {
1140 pub fn snd_pcm_nonblock(
1141 pcm: *mut snd_pcm_t,
1142 nonblock: ::std::os::raw::c_int,
1143 ) -> ::std::os::raw::c_int;
1144}
1145extern "C" {
1146 pub fn snd_async_add_pcm_handler(
1147 handler: *mut *mut snd_async_handler_t,
1148 pcm: *mut snd_pcm_t,
1149 callback: snd_async_callback_t,
1150 private_data: *mut ::std::os::raw::c_void,
1151 ) -> ::std::os::raw::c_int;
1152}
1153extern "C" {
1154 pub fn snd_async_handler_get_pcm(handler: *mut snd_async_handler_t) -> *mut snd_pcm_t;
1155}
1156extern "C" {
1157 pub fn snd_pcm_info(pcm: *mut snd_pcm_t, info: *mut snd_pcm_info_t) -> ::std::os::raw::c_int;
1158}
1159extern "C" {
1160 pub fn snd_pcm_hw_params_current(
1161 pcm: *mut snd_pcm_t,
1162 params: *mut snd_pcm_hw_params_t,
1163 ) -> ::std::os::raw::c_int;
1164}
1165extern "C" {
1166 pub fn snd_pcm_hw_params(
1167 pcm: *mut snd_pcm_t,
1168 params: *mut snd_pcm_hw_params_t,
1169 ) -> ::std::os::raw::c_int;
1170}
1171extern "C" {
1172 pub fn snd_pcm_hw_free(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1173}
1174extern "C" {
1175 pub fn snd_pcm_sw_params_current(
1176 pcm: *mut snd_pcm_t,
1177 params: *mut snd_pcm_sw_params_t,
1178 ) -> ::std::os::raw::c_int;
1179}
1180extern "C" {
1181 pub fn snd_pcm_sw_params(
1182 pcm: *mut snd_pcm_t,
1183 params: *mut snd_pcm_sw_params_t,
1184 ) -> ::std::os::raw::c_int;
1185}
1186extern "C" {
1187 pub fn snd_pcm_prepare(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1188}
1189extern "C" {
1190 pub fn snd_pcm_reset(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1191}
1192extern "C" {
1193 pub fn snd_pcm_status(
1194 pcm: *mut snd_pcm_t,
1195 status: *mut snd_pcm_status_t,
1196 ) -> ::std::os::raw::c_int;
1197}
1198extern "C" {
1199 pub fn snd_pcm_start(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1200}
1201extern "C" {
1202 pub fn snd_pcm_drop(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1203}
1204extern "C" {
1205 pub fn snd_pcm_drain(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1206}
1207extern "C" {
1208 pub fn snd_pcm_pause(
1209 pcm: *mut snd_pcm_t,
1210 enable: ::std::os::raw::c_int,
1211 ) -> ::std::os::raw::c_int;
1212}
1213extern "C" {
1214 pub fn snd_pcm_state(pcm: *mut snd_pcm_t) -> snd_pcm_state_t;
1215}
1216extern "C" {
1217 pub fn snd_pcm_hwsync(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1218}
1219extern "C" {
1220 pub fn snd_pcm_delay(
1221 pcm: *mut snd_pcm_t,
1222 delayp: *mut snd_pcm_sframes_t,
1223 ) -> ::std::os::raw::c_int;
1224}
1225extern "C" {
1226 pub fn snd_pcm_resume(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1227}
1228extern "C" {
1229 pub fn snd_pcm_htimestamp(
1230 pcm: *mut snd_pcm_t,
1231 avail: *mut snd_pcm_uframes_t,
1232 tstamp: *mut snd_htimestamp_t,
1233 ) -> ::std::os::raw::c_int;
1234}
1235extern "C" {
1236 pub fn snd_pcm_avail(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1237}
1238extern "C" {
1239 pub fn snd_pcm_avail_update(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1240}
1241extern "C" {
1242 pub fn snd_pcm_avail_delay(
1243 pcm: *mut snd_pcm_t,
1244 availp: *mut snd_pcm_sframes_t,
1245 delayp: *mut snd_pcm_sframes_t,
1246 ) -> ::std::os::raw::c_int;
1247}
1248extern "C" {
1249 pub fn snd_pcm_rewindable(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1250}
1251extern "C" {
1252 pub fn snd_pcm_rewind(pcm: *mut snd_pcm_t, frames: snd_pcm_uframes_t) -> snd_pcm_sframes_t;
1253}
1254extern "C" {
1255 pub fn snd_pcm_forwardable(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1256}
1257extern "C" {
1258 pub fn snd_pcm_forward(pcm: *mut snd_pcm_t, frames: snd_pcm_uframes_t) -> snd_pcm_sframes_t;
1259}
1260extern "C" {
1261 pub fn snd_pcm_writei(
1262 pcm: *mut snd_pcm_t,
1263 buffer: *const ::std::os::raw::c_void,
1264 size: snd_pcm_uframes_t,
1265 ) -> snd_pcm_sframes_t;
1266}
1267extern "C" {
1268 pub fn snd_pcm_readi(
1269 pcm: *mut snd_pcm_t,
1270 buffer: *mut ::std::os::raw::c_void,
1271 size: snd_pcm_uframes_t,
1272 ) -> snd_pcm_sframes_t;
1273}
1274extern "C" {
1275 pub fn snd_pcm_writen(
1276 pcm: *mut snd_pcm_t,
1277 bufs: *mut *mut ::std::os::raw::c_void,
1278 size: snd_pcm_uframes_t,
1279 ) -> snd_pcm_sframes_t;
1280}
1281extern "C" {
1282 pub fn snd_pcm_readn(
1283 pcm: *mut snd_pcm_t,
1284 bufs: *mut *mut ::std::os::raw::c_void,
1285 size: snd_pcm_uframes_t,
1286 ) -> snd_pcm_sframes_t;
1287}
1288extern "C" {
1289 pub fn snd_pcm_wait(
1290 pcm: *mut snd_pcm_t,
1291 timeout: ::std::os::raw::c_int,
1292 ) -> ::std::os::raw::c_int;
1293}
1294extern "C" {
1295 pub fn snd_pcm_link(pcm1: *mut snd_pcm_t, pcm2: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1296}
1297extern "C" {
1298 pub fn snd_pcm_unlink(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_int;
1299}
1300pub const SND_CHMAP_TYPE_NONE: snd_pcm_chmap_type = 0;
1301pub const SND_CHMAP_TYPE_FIXED: snd_pcm_chmap_type = 1;
1302pub const SND_CHMAP_TYPE_VAR: snd_pcm_chmap_type = 2;
1303pub const SND_CHMAP_TYPE_PAIRED: snd_pcm_chmap_type = 3;
1304pub const SND_CHMAP_TYPE_LAST: snd_pcm_chmap_type = 3;
1305pub type snd_pcm_chmap_type = ::std::os::raw::c_uint;
1306pub const SND_CHMAP_UNKNOWN: snd_pcm_chmap_position = 0;
1307pub const SND_CHMAP_NA: snd_pcm_chmap_position = 1;
1308pub const SND_CHMAP_MONO: snd_pcm_chmap_position = 2;
1309pub const SND_CHMAP_FL: snd_pcm_chmap_position = 3;
1310pub const SND_CHMAP_FR: snd_pcm_chmap_position = 4;
1311pub const SND_CHMAP_RL: snd_pcm_chmap_position = 5;
1312pub const SND_CHMAP_RR: snd_pcm_chmap_position = 6;
1313pub const SND_CHMAP_FC: snd_pcm_chmap_position = 7;
1314pub const SND_CHMAP_LFE: snd_pcm_chmap_position = 8;
1315pub const SND_CHMAP_SL: snd_pcm_chmap_position = 9;
1316pub const SND_CHMAP_SR: snd_pcm_chmap_position = 10;
1317pub const SND_CHMAP_RC: snd_pcm_chmap_position = 11;
1318pub const SND_CHMAP_FLC: snd_pcm_chmap_position = 12;
1319pub const SND_CHMAP_FRC: snd_pcm_chmap_position = 13;
1320pub const SND_CHMAP_RLC: snd_pcm_chmap_position = 14;
1321pub const SND_CHMAP_RRC: snd_pcm_chmap_position = 15;
1322pub const SND_CHMAP_FLW: snd_pcm_chmap_position = 16;
1323pub const SND_CHMAP_FRW: snd_pcm_chmap_position = 17;
1324pub const SND_CHMAP_FLH: snd_pcm_chmap_position = 18;
1325pub const SND_CHMAP_FCH: snd_pcm_chmap_position = 19;
1326pub const SND_CHMAP_FRH: snd_pcm_chmap_position = 20;
1327pub const SND_CHMAP_TC: snd_pcm_chmap_position = 21;
1328pub const SND_CHMAP_TFL: snd_pcm_chmap_position = 22;
1329pub const SND_CHMAP_TFR: snd_pcm_chmap_position = 23;
1330pub const SND_CHMAP_TFC: snd_pcm_chmap_position = 24;
1331pub const SND_CHMAP_TRL: snd_pcm_chmap_position = 25;
1332pub const SND_CHMAP_TRR: snd_pcm_chmap_position = 26;
1333pub const SND_CHMAP_TRC: snd_pcm_chmap_position = 27;
1334pub const SND_CHMAP_TFLC: snd_pcm_chmap_position = 28;
1335pub const SND_CHMAP_TFRC: snd_pcm_chmap_position = 29;
1336pub const SND_CHMAP_TSL: snd_pcm_chmap_position = 30;
1337pub const SND_CHMAP_TSR: snd_pcm_chmap_position = 31;
1338pub const SND_CHMAP_LLFE: snd_pcm_chmap_position = 32;
1339pub const SND_CHMAP_RLFE: snd_pcm_chmap_position = 33;
1340pub const SND_CHMAP_BC: snd_pcm_chmap_position = 34;
1341pub const SND_CHMAP_BLC: snd_pcm_chmap_position = 35;
1342pub const SND_CHMAP_BRC: snd_pcm_chmap_position = 36;
1343pub const SND_CHMAP_LAST: snd_pcm_chmap_position = 36;
1344pub type snd_pcm_chmap_position = ::std::os::raw::c_uint;
1345#[repr(C)]
1346#[derive(Debug)]
1347pub struct snd_pcm_chmap {
1348 pub channels: ::std::os::raw::c_uint,
1349 pub pos: __IncompleteArrayField<::std::os::raw::c_uint>,
1350}
1351pub type snd_pcm_chmap_t = snd_pcm_chmap;
1352#[repr(C)]
1353#[derive(Debug)]
1354pub struct snd_pcm_chmap_query {
1355 pub type_: snd_pcm_chmap_type,
1356 pub map: snd_pcm_chmap_t,
1357}
1358pub type snd_pcm_chmap_query_t = snd_pcm_chmap_query;
1359extern "C" {
1360 pub fn snd_pcm_query_chmaps(pcm: *mut snd_pcm_t) -> *mut *mut snd_pcm_chmap_query_t;
1361}
1362extern "C" {
1363 pub fn snd_pcm_query_chmaps_from_hw(
1364 card: ::std::os::raw::c_int,
1365 dev: ::std::os::raw::c_int,
1366 subdev: ::std::os::raw::c_int,
1367 stream: snd_pcm_stream_t,
1368 ) -> *mut *mut snd_pcm_chmap_query_t;
1369}
1370extern "C" {
1371 pub fn snd_pcm_free_chmaps(maps: *mut *mut snd_pcm_chmap_query_t);
1372}
1373extern "C" {
1374 pub fn snd_pcm_get_chmap(pcm: *mut snd_pcm_t) -> *mut snd_pcm_chmap_t;
1375}
1376extern "C" {
1377 pub fn snd_pcm_set_chmap(
1378 pcm: *mut snd_pcm_t,
1379 map: *const snd_pcm_chmap_t,
1380 ) -> ::std::os::raw::c_int;
1381}
1382extern "C" {
1383 pub fn snd_pcm_chmap_type_name(val: snd_pcm_chmap_type) -> *const ::std::os::raw::c_char;
1384}
1385extern "C" {
1386 pub fn snd_pcm_chmap_name(val: snd_pcm_chmap_position) -> *const ::std::os::raw::c_char;
1387}
1388extern "C" {
1389 pub fn snd_pcm_chmap_long_name(val: snd_pcm_chmap_position) -> *const ::std::os::raw::c_char;
1390}
1391extern "C" {
1392 pub fn snd_pcm_chmap_print(
1393 map: *const snd_pcm_chmap_t,
1394 maxlen: usize,
1395 buf: *mut ::std::os::raw::c_char,
1396 ) -> ::std::os::raw::c_int;
1397}
1398extern "C" {
1399 pub fn snd_pcm_chmap_from_string(str_: *const ::std::os::raw::c_char)
1400 -> ::std::os::raw::c_uint;
1401}
1402extern "C" {
1403 pub fn snd_pcm_chmap_parse_string(str_: *const ::std::os::raw::c_char) -> *mut snd_pcm_chmap_t;
1404}
1405extern "C" {
1406 pub fn snd_pcm_recover(
1407 pcm: *mut snd_pcm_t,
1408 err: ::std::os::raw::c_int,
1409 silent: ::std::os::raw::c_int,
1410 ) -> ::std::os::raw::c_int;
1411}
1412extern "C" {
1413 pub fn snd_pcm_set_params(
1414 pcm: *mut snd_pcm_t,
1415 format: snd_pcm_format_t,
1416 access: snd_pcm_access_t,
1417 channels: ::std::os::raw::c_uint,
1418 rate: ::std::os::raw::c_uint,
1419 soft_resample: ::std::os::raw::c_int,
1420 latency: ::std::os::raw::c_uint,
1421 ) -> ::std::os::raw::c_int;
1422}
1423extern "C" {
1424 pub fn snd_pcm_get_params(
1425 pcm: *mut snd_pcm_t,
1426 buffer_size: *mut snd_pcm_uframes_t,
1427 period_size: *mut snd_pcm_uframes_t,
1428 ) -> ::std::os::raw::c_int;
1429}
1430extern "C" {
1431 pub fn snd_pcm_info_sizeof() -> usize;
1432}
1433extern "C" {
1434 pub fn snd_pcm_info_malloc(ptr: *mut *mut snd_pcm_info_t) -> ::std::os::raw::c_int;
1435}
1436extern "C" {
1437 pub fn snd_pcm_info_free(obj: *mut snd_pcm_info_t);
1438}
1439extern "C" {
1440 pub fn snd_pcm_info_copy(dst: *mut snd_pcm_info_t, src: *const snd_pcm_info_t);
1441}
1442extern "C" {
1443 pub fn snd_pcm_info_get_device(obj: *const snd_pcm_info_t) -> ::std::os::raw::c_uint;
1444}
1445extern "C" {
1446 pub fn snd_pcm_info_get_subdevice(obj: *const snd_pcm_info_t) -> ::std::os::raw::c_uint;
1447}
1448extern "C" {
1449 pub fn snd_pcm_info_get_stream(obj: *const snd_pcm_info_t) -> snd_pcm_stream_t;
1450}
1451extern "C" {
1452 pub fn snd_pcm_info_get_card(obj: *const snd_pcm_info_t) -> ::std::os::raw::c_int;
1453}
1454extern "C" {
1455 pub fn snd_pcm_info_get_id(obj: *const snd_pcm_info_t) -> *const ::std::os::raw::c_char;
1456}
1457extern "C" {
1458 pub fn snd_pcm_info_get_name(obj: *const snd_pcm_info_t) -> *const ::std::os::raw::c_char;
1459}
1460extern "C" {
1461 pub fn snd_pcm_info_get_subdevice_name(
1462 obj: *const snd_pcm_info_t,
1463 ) -> *const ::std::os::raw::c_char;
1464}
1465extern "C" {
1466 pub fn snd_pcm_info_get_class(obj: *const snd_pcm_info_t) -> snd_pcm_class_t;
1467}
1468extern "C" {
1469 pub fn snd_pcm_info_get_subclass(obj: *const snd_pcm_info_t) -> snd_pcm_subclass_t;
1470}
1471extern "C" {
1472 pub fn snd_pcm_info_get_subdevices_count(obj: *const snd_pcm_info_t) -> ::std::os::raw::c_uint;
1473}
1474extern "C" {
1475 pub fn snd_pcm_info_get_subdevices_avail(obj: *const snd_pcm_info_t) -> ::std::os::raw::c_uint;
1476}
1477extern "C" {
1478 pub fn snd_pcm_info_get_sync(obj: *const snd_pcm_info_t) -> snd_pcm_sync_id_t;
1479}
1480extern "C" {
1481 pub fn snd_pcm_info_set_device(obj: *mut snd_pcm_info_t, val: ::std::os::raw::c_uint);
1482}
1483extern "C" {
1484 pub fn snd_pcm_info_set_subdevice(obj: *mut snd_pcm_info_t, val: ::std::os::raw::c_uint);
1485}
1486extern "C" {
1487 pub fn snd_pcm_info_set_stream(obj: *mut snd_pcm_info_t, val: snd_pcm_stream_t);
1488}
1489extern "C" {
1490 pub fn snd_pcm_hw_params_any(
1491 pcm: *mut snd_pcm_t,
1492 params: *mut snd_pcm_hw_params_t,
1493 ) -> ::std::os::raw::c_int;
1494}
1495extern "C" {
1496 pub fn snd_pcm_hw_params_can_mmap_sample_resolution(
1497 params: *const snd_pcm_hw_params_t,
1498 ) -> ::std::os::raw::c_int;
1499}
1500extern "C" {
1501 pub fn snd_pcm_hw_params_is_double(params: *const snd_pcm_hw_params_t)
1502 -> ::std::os::raw::c_int;
1503}
1504extern "C" {
1505 pub fn snd_pcm_hw_params_is_batch(params: *const snd_pcm_hw_params_t) -> ::std::os::raw::c_int;
1506}
1507extern "C" {
1508 pub fn snd_pcm_hw_params_is_block_transfer(
1509 params: *const snd_pcm_hw_params_t,
1510 ) -> ::std::os::raw::c_int;
1511}
1512extern "C" {
1513 pub fn snd_pcm_hw_params_is_monotonic(
1514 params: *const snd_pcm_hw_params_t,
1515 ) -> ::std::os::raw::c_int;
1516}
1517extern "C" {
1518 pub fn snd_pcm_hw_params_can_overrange(
1519 params: *const snd_pcm_hw_params_t,
1520 ) -> ::std::os::raw::c_int;
1521}
1522extern "C" {
1523 pub fn snd_pcm_hw_params_can_pause(params: *const snd_pcm_hw_params_t)
1524 -> ::std::os::raw::c_int;
1525}
1526extern "C" {
1527 pub fn snd_pcm_hw_params_can_resume(
1528 params: *const snd_pcm_hw_params_t,
1529 ) -> ::std::os::raw::c_int;
1530}
1531extern "C" {
1532 pub fn snd_pcm_hw_params_is_half_duplex(
1533 params: *const snd_pcm_hw_params_t,
1534 ) -> ::std::os::raw::c_int;
1535}
1536extern "C" {
1537 pub fn snd_pcm_hw_params_is_joint_duplex(
1538 params: *const snd_pcm_hw_params_t,
1539 ) -> ::std::os::raw::c_int;
1540}
1541extern "C" {
1542 pub fn snd_pcm_hw_params_can_sync_start(
1543 params: *const snd_pcm_hw_params_t,
1544 ) -> ::std::os::raw::c_int;
1545}
1546extern "C" {
1547 pub fn snd_pcm_hw_params_can_disable_period_wakeup(
1548 params: *const snd_pcm_hw_params_t,
1549 ) -> ::std::os::raw::c_int;
1550}
1551extern "C" {
1552 pub fn snd_pcm_hw_params_supports_audio_wallclock_ts(
1553 params: *const snd_pcm_hw_params_t,
1554 ) -> ::std::os::raw::c_int;
1555}
1556extern "C" {
1557 pub fn snd_pcm_hw_params_supports_audio_ts_type(
1558 params: *const snd_pcm_hw_params_t,
1559 type_: ::std::os::raw::c_int,
1560 ) -> ::std::os::raw::c_int;
1561}
1562extern "C" {
1563 pub fn snd_pcm_hw_params_get_rate_numden(
1564 params: *const snd_pcm_hw_params_t,
1565 rate_num: *mut ::std::os::raw::c_uint,
1566 rate_den: *mut ::std::os::raw::c_uint,
1567 ) -> ::std::os::raw::c_int;
1568}
1569extern "C" {
1570 pub fn snd_pcm_hw_params_get_sbits(params: *const snd_pcm_hw_params_t)
1571 -> ::std::os::raw::c_int;
1572}
1573extern "C" {
1574 pub fn snd_pcm_hw_params_get_fifo_size(
1575 params: *const snd_pcm_hw_params_t,
1576 ) -> ::std::os::raw::c_int;
1577}
1578extern "C" {
1579 pub fn snd_pcm_hw_params_sizeof() -> usize;
1580}
1581extern "C" {
1582 pub fn snd_pcm_hw_params_malloc(ptr: *mut *mut snd_pcm_hw_params_t) -> ::std::os::raw::c_int;
1583}
1584extern "C" {
1585 pub fn snd_pcm_hw_params_free(obj: *mut snd_pcm_hw_params_t);
1586}
1587extern "C" {
1588 pub fn snd_pcm_hw_params_copy(dst: *mut snd_pcm_hw_params_t, src: *const snd_pcm_hw_params_t);
1589}
1590extern "C" {
1591 pub fn snd_pcm_hw_params_get_access(
1592 params: *const snd_pcm_hw_params_t,
1593 _access: *mut snd_pcm_access_t,
1594 ) -> ::std::os::raw::c_int;
1595}
1596extern "C" {
1597 pub fn snd_pcm_hw_params_test_access(
1598 pcm: *mut snd_pcm_t,
1599 params: *mut snd_pcm_hw_params_t,
1600 _access: snd_pcm_access_t,
1601 ) -> ::std::os::raw::c_int;
1602}
1603extern "C" {
1604 pub fn snd_pcm_hw_params_set_access(
1605 pcm: *mut snd_pcm_t,
1606 params: *mut snd_pcm_hw_params_t,
1607 _access: snd_pcm_access_t,
1608 ) -> ::std::os::raw::c_int;
1609}
1610extern "C" {
1611 pub fn snd_pcm_hw_params_set_access_first(
1612 pcm: *mut snd_pcm_t,
1613 params: *mut snd_pcm_hw_params_t,
1614 _access: *mut snd_pcm_access_t,
1615 ) -> ::std::os::raw::c_int;
1616}
1617extern "C" {
1618 pub fn snd_pcm_hw_params_set_access_last(
1619 pcm: *mut snd_pcm_t,
1620 params: *mut snd_pcm_hw_params_t,
1621 _access: *mut snd_pcm_access_t,
1622 ) -> ::std::os::raw::c_int;
1623}
1624extern "C" {
1625 pub fn snd_pcm_hw_params_set_access_mask(
1626 pcm: *mut snd_pcm_t,
1627 params: *mut snd_pcm_hw_params_t,
1628 mask: *mut snd_pcm_access_mask_t,
1629 ) -> ::std::os::raw::c_int;
1630}
1631extern "C" {
1632 pub fn snd_pcm_hw_params_get_access_mask(
1633 params: *mut snd_pcm_hw_params_t,
1634 mask: *mut snd_pcm_access_mask_t,
1635 ) -> ::std::os::raw::c_int;
1636}
1637extern "C" {
1638 pub fn snd_pcm_hw_params_get_format(
1639 params: *const snd_pcm_hw_params_t,
1640 val: *mut snd_pcm_format_t,
1641 ) -> ::std::os::raw::c_int;
1642}
1643extern "C" {
1644 pub fn snd_pcm_hw_params_test_format(
1645 pcm: *mut snd_pcm_t,
1646 params: *mut snd_pcm_hw_params_t,
1647 val: snd_pcm_format_t,
1648 ) -> ::std::os::raw::c_int;
1649}
1650extern "C" {
1651 pub fn snd_pcm_hw_params_set_format(
1652 pcm: *mut snd_pcm_t,
1653 params: *mut snd_pcm_hw_params_t,
1654 val: snd_pcm_format_t,
1655 ) -> ::std::os::raw::c_int;
1656}
1657extern "C" {
1658 pub fn snd_pcm_hw_params_set_format_first(
1659 pcm: *mut snd_pcm_t,
1660 params: *mut snd_pcm_hw_params_t,
1661 format: *mut snd_pcm_format_t,
1662 ) -> ::std::os::raw::c_int;
1663}
1664extern "C" {
1665 pub fn snd_pcm_hw_params_set_format_last(
1666 pcm: *mut snd_pcm_t,
1667 params: *mut snd_pcm_hw_params_t,
1668 format: *mut snd_pcm_format_t,
1669 ) -> ::std::os::raw::c_int;
1670}
1671extern "C" {
1672 pub fn snd_pcm_hw_params_set_format_mask(
1673 pcm: *mut snd_pcm_t,
1674 params: *mut snd_pcm_hw_params_t,
1675 mask: *mut snd_pcm_format_mask_t,
1676 ) -> ::std::os::raw::c_int;
1677}
1678extern "C" {
1679 pub fn snd_pcm_hw_params_get_format_mask(
1680 params: *mut snd_pcm_hw_params_t,
1681 mask: *mut snd_pcm_format_mask_t,
1682 );
1683}
1684extern "C" {
1685 pub fn snd_pcm_hw_params_get_subformat(
1686 params: *const snd_pcm_hw_params_t,
1687 subformat: *mut snd_pcm_subformat_t,
1688 ) -> ::std::os::raw::c_int;
1689}
1690extern "C" {
1691 pub fn snd_pcm_hw_params_test_subformat(
1692 pcm: *mut snd_pcm_t,
1693 params: *mut snd_pcm_hw_params_t,
1694 subformat: snd_pcm_subformat_t,
1695 ) -> ::std::os::raw::c_int;
1696}
1697extern "C" {
1698 pub fn snd_pcm_hw_params_set_subformat(
1699 pcm: *mut snd_pcm_t,
1700 params: *mut snd_pcm_hw_params_t,
1701 subformat: snd_pcm_subformat_t,
1702 ) -> ::std::os::raw::c_int;
1703}
1704extern "C" {
1705 pub fn snd_pcm_hw_params_set_subformat_first(
1706 pcm: *mut snd_pcm_t,
1707 params: *mut snd_pcm_hw_params_t,
1708 subformat: *mut snd_pcm_subformat_t,
1709 ) -> ::std::os::raw::c_int;
1710}
1711extern "C" {
1712 pub fn snd_pcm_hw_params_set_subformat_last(
1713 pcm: *mut snd_pcm_t,
1714 params: *mut snd_pcm_hw_params_t,
1715 subformat: *mut snd_pcm_subformat_t,
1716 ) -> ::std::os::raw::c_int;
1717}
1718extern "C" {
1719 pub fn snd_pcm_hw_params_set_subformat_mask(
1720 pcm: *mut snd_pcm_t,
1721 params: *mut snd_pcm_hw_params_t,
1722 mask: *mut snd_pcm_subformat_mask_t,
1723 ) -> ::std::os::raw::c_int;
1724}
1725extern "C" {
1726 pub fn snd_pcm_hw_params_get_subformat_mask(
1727 params: *mut snd_pcm_hw_params_t,
1728 mask: *mut snd_pcm_subformat_mask_t,
1729 );
1730}
1731extern "C" {
1732 pub fn snd_pcm_hw_params_get_channels(
1733 params: *const snd_pcm_hw_params_t,
1734 val: *mut ::std::os::raw::c_uint,
1735 ) -> ::std::os::raw::c_int;
1736}
1737extern "C" {
1738 pub fn snd_pcm_hw_params_get_channels_min(
1739 params: *const snd_pcm_hw_params_t,
1740 val: *mut ::std::os::raw::c_uint,
1741 ) -> ::std::os::raw::c_int;
1742}
1743extern "C" {
1744 pub fn snd_pcm_hw_params_get_channels_max(
1745 params: *const snd_pcm_hw_params_t,
1746 val: *mut ::std::os::raw::c_uint,
1747 ) -> ::std::os::raw::c_int;
1748}
1749extern "C" {
1750 pub fn snd_pcm_hw_params_test_channels(
1751 pcm: *mut snd_pcm_t,
1752 params: *mut snd_pcm_hw_params_t,
1753 val: ::std::os::raw::c_uint,
1754 ) -> ::std::os::raw::c_int;
1755}
1756extern "C" {
1757 pub fn snd_pcm_hw_params_set_channels(
1758 pcm: *mut snd_pcm_t,
1759 params: *mut snd_pcm_hw_params_t,
1760 val: ::std::os::raw::c_uint,
1761 ) -> ::std::os::raw::c_int;
1762}
1763extern "C" {
1764 pub fn snd_pcm_hw_params_set_channels_min(
1765 pcm: *mut snd_pcm_t,
1766 params: *mut snd_pcm_hw_params_t,
1767 val: *mut ::std::os::raw::c_uint,
1768 ) -> ::std::os::raw::c_int;
1769}
1770extern "C" {
1771 pub fn snd_pcm_hw_params_set_channels_max(
1772 pcm: *mut snd_pcm_t,
1773 params: *mut snd_pcm_hw_params_t,
1774 val: *mut ::std::os::raw::c_uint,
1775 ) -> ::std::os::raw::c_int;
1776}
1777extern "C" {
1778 pub fn snd_pcm_hw_params_set_channels_minmax(
1779 pcm: *mut snd_pcm_t,
1780 params: *mut snd_pcm_hw_params_t,
1781 min: *mut ::std::os::raw::c_uint,
1782 max: *mut ::std::os::raw::c_uint,
1783 ) -> ::std::os::raw::c_int;
1784}
1785extern "C" {
1786 pub fn snd_pcm_hw_params_set_channels_near(
1787 pcm: *mut snd_pcm_t,
1788 params: *mut snd_pcm_hw_params_t,
1789 val: *mut ::std::os::raw::c_uint,
1790 ) -> ::std::os::raw::c_int;
1791}
1792extern "C" {
1793 pub fn snd_pcm_hw_params_set_channels_first(
1794 pcm: *mut snd_pcm_t,
1795 params: *mut snd_pcm_hw_params_t,
1796 val: *mut ::std::os::raw::c_uint,
1797 ) -> ::std::os::raw::c_int;
1798}
1799extern "C" {
1800 pub fn snd_pcm_hw_params_set_channels_last(
1801 pcm: *mut snd_pcm_t,
1802 params: *mut snd_pcm_hw_params_t,
1803 val: *mut ::std::os::raw::c_uint,
1804 ) -> ::std::os::raw::c_int;
1805}
1806extern "C" {
1807 pub fn snd_pcm_hw_params_get_rate(
1808 params: *const snd_pcm_hw_params_t,
1809 val: *mut ::std::os::raw::c_uint,
1810 dir: *mut ::std::os::raw::c_int,
1811 ) -> ::std::os::raw::c_int;
1812}
1813extern "C" {
1814 pub fn snd_pcm_hw_params_get_rate_min(
1815 params: *const snd_pcm_hw_params_t,
1816 val: *mut ::std::os::raw::c_uint,
1817 dir: *mut ::std::os::raw::c_int,
1818 ) -> ::std::os::raw::c_int;
1819}
1820extern "C" {
1821 pub fn snd_pcm_hw_params_get_rate_max(
1822 params: *const snd_pcm_hw_params_t,
1823 val: *mut ::std::os::raw::c_uint,
1824 dir: *mut ::std::os::raw::c_int,
1825 ) -> ::std::os::raw::c_int;
1826}
1827extern "C" {
1828 pub fn snd_pcm_hw_params_test_rate(
1829 pcm: *mut snd_pcm_t,
1830 params: *mut snd_pcm_hw_params_t,
1831 val: ::std::os::raw::c_uint,
1832 dir: ::std::os::raw::c_int,
1833 ) -> ::std::os::raw::c_int;
1834}
1835extern "C" {
1836 pub fn snd_pcm_hw_params_set_rate(
1837 pcm: *mut snd_pcm_t,
1838 params: *mut snd_pcm_hw_params_t,
1839 val: ::std::os::raw::c_uint,
1840 dir: ::std::os::raw::c_int,
1841 ) -> ::std::os::raw::c_int;
1842}
1843extern "C" {
1844 pub fn snd_pcm_hw_params_set_rate_min(
1845 pcm: *mut snd_pcm_t,
1846 params: *mut snd_pcm_hw_params_t,
1847 val: *mut ::std::os::raw::c_uint,
1848 dir: *mut ::std::os::raw::c_int,
1849 ) -> ::std::os::raw::c_int;
1850}
1851extern "C" {
1852 pub fn snd_pcm_hw_params_set_rate_max(
1853 pcm: *mut snd_pcm_t,
1854 params: *mut snd_pcm_hw_params_t,
1855 val: *mut ::std::os::raw::c_uint,
1856 dir: *mut ::std::os::raw::c_int,
1857 ) -> ::std::os::raw::c_int;
1858}
1859extern "C" {
1860 pub fn snd_pcm_hw_params_set_rate_minmax(
1861 pcm: *mut snd_pcm_t,
1862 params: *mut snd_pcm_hw_params_t,
1863 min: *mut ::std::os::raw::c_uint,
1864 mindir: *mut ::std::os::raw::c_int,
1865 max: *mut ::std::os::raw::c_uint,
1866 maxdir: *mut ::std::os::raw::c_int,
1867 ) -> ::std::os::raw::c_int;
1868}
1869extern "C" {
1870 pub fn snd_pcm_hw_params_set_rate_near(
1871 pcm: *mut snd_pcm_t,
1872 params: *mut snd_pcm_hw_params_t,
1873 val: *mut ::std::os::raw::c_uint,
1874 dir: *mut ::std::os::raw::c_int,
1875 ) -> ::std::os::raw::c_int;
1876}
1877extern "C" {
1878 pub fn snd_pcm_hw_params_set_rate_first(
1879 pcm: *mut snd_pcm_t,
1880 params: *mut snd_pcm_hw_params_t,
1881 val: *mut ::std::os::raw::c_uint,
1882 dir: *mut ::std::os::raw::c_int,
1883 ) -> ::std::os::raw::c_int;
1884}
1885extern "C" {
1886 pub fn snd_pcm_hw_params_set_rate_last(
1887 pcm: *mut snd_pcm_t,
1888 params: *mut snd_pcm_hw_params_t,
1889 val: *mut ::std::os::raw::c_uint,
1890 dir: *mut ::std::os::raw::c_int,
1891 ) -> ::std::os::raw::c_int;
1892}
1893extern "C" {
1894 pub fn snd_pcm_hw_params_set_rate_resample(
1895 pcm: *mut snd_pcm_t,
1896 params: *mut snd_pcm_hw_params_t,
1897 val: ::std::os::raw::c_uint,
1898 ) -> ::std::os::raw::c_int;
1899}
1900extern "C" {
1901 pub fn snd_pcm_hw_params_get_rate_resample(
1902 pcm: *mut snd_pcm_t,
1903 params: *mut snd_pcm_hw_params_t,
1904 val: *mut ::std::os::raw::c_uint,
1905 ) -> ::std::os::raw::c_int;
1906}
1907extern "C" {
1908 pub fn snd_pcm_hw_params_set_export_buffer(
1909 pcm: *mut snd_pcm_t,
1910 params: *mut snd_pcm_hw_params_t,
1911 val: ::std::os::raw::c_uint,
1912 ) -> ::std::os::raw::c_int;
1913}
1914extern "C" {
1915 pub fn snd_pcm_hw_params_get_export_buffer(
1916 pcm: *mut snd_pcm_t,
1917 params: *mut snd_pcm_hw_params_t,
1918 val: *mut ::std::os::raw::c_uint,
1919 ) -> ::std::os::raw::c_int;
1920}
1921extern "C" {
1922 pub fn snd_pcm_hw_params_set_period_wakeup(
1923 pcm: *mut snd_pcm_t,
1924 params: *mut snd_pcm_hw_params_t,
1925 val: ::std::os::raw::c_uint,
1926 ) -> ::std::os::raw::c_int;
1927}
1928extern "C" {
1929 pub fn snd_pcm_hw_params_get_period_wakeup(
1930 pcm: *mut snd_pcm_t,
1931 params: *mut snd_pcm_hw_params_t,
1932 val: *mut ::std::os::raw::c_uint,
1933 ) -> ::std::os::raw::c_int;
1934}
1935extern "C" {
1936 pub fn snd_pcm_hw_params_get_period_time(
1937 params: *const snd_pcm_hw_params_t,
1938 val: *mut ::std::os::raw::c_uint,
1939 dir: *mut ::std::os::raw::c_int,
1940 ) -> ::std::os::raw::c_int;
1941}
1942extern "C" {
1943 pub fn snd_pcm_hw_params_get_period_time_min(
1944 params: *const snd_pcm_hw_params_t,
1945 val: *mut ::std::os::raw::c_uint,
1946 dir: *mut ::std::os::raw::c_int,
1947 ) -> ::std::os::raw::c_int;
1948}
1949extern "C" {
1950 pub fn snd_pcm_hw_params_get_period_time_max(
1951 params: *const snd_pcm_hw_params_t,
1952 val: *mut ::std::os::raw::c_uint,
1953 dir: *mut ::std::os::raw::c_int,
1954 ) -> ::std::os::raw::c_int;
1955}
1956extern "C" {
1957 pub fn snd_pcm_hw_params_test_period_time(
1958 pcm: *mut snd_pcm_t,
1959 params: *mut snd_pcm_hw_params_t,
1960 val: ::std::os::raw::c_uint,
1961 dir: ::std::os::raw::c_int,
1962 ) -> ::std::os::raw::c_int;
1963}
1964extern "C" {
1965 pub fn snd_pcm_hw_params_set_period_time(
1966 pcm: *mut snd_pcm_t,
1967 params: *mut snd_pcm_hw_params_t,
1968 val: ::std::os::raw::c_uint,
1969 dir: ::std::os::raw::c_int,
1970 ) -> ::std::os::raw::c_int;
1971}
1972extern "C" {
1973 pub fn snd_pcm_hw_params_set_period_time_min(
1974 pcm: *mut snd_pcm_t,
1975 params: *mut snd_pcm_hw_params_t,
1976 val: *mut ::std::os::raw::c_uint,
1977 dir: *mut ::std::os::raw::c_int,
1978 ) -> ::std::os::raw::c_int;
1979}
1980extern "C" {
1981 pub fn snd_pcm_hw_params_set_period_time_max(
1982 pcm: *mut snd_pcm_t,
1983 params: *mut snd_pcm_hw_params_t,
1984 val: *mut ::std::os::raw::c_uint,
1985 dir: *mut ::std::os::raw::c_int,
1986 ) -> ::std::os::raw::c_int;
1987}
1988extern "C" {
1989 pub fn snd_pcm_hw_params_set_period_time_minmax(
1990 pcm: *mut snd_pcm_t,
1991 params: *mut snd_pcm_hw_params_t,
1992 min: *mut ::std::os::raw::c_uint,
1993 mindir: *mut ::std::os::raw::c_int,
1994 max: *mut ::std::os::raw::c_uint,
1995 maxdir: *mut ::std::os::raw::c_int,
1996 ) -> ::std::os::raw::c_int;
1997}
1998extern "C" {
1999 pub fn snd_pcm_hw_params_set_period_time_near(
2000 pcm: *mut snd_pcm_t,
2001 params: *mut snd_pcm_hw_params_t,
2002 val: *mut ::std::os::raw::c_uint,
2003 dir: *mut ::std::os::raw::c_int,
2004 ) -> ::std::os::raw::c_int;
2005}
2006extern "C" {
2007 pub fn snd_pcm_hw_params_set_period_time_first(
2008 pcm: *mut snd_pcm_t,
2009 params: *mut snd_pcm_hw_params_t,
2010 val: *mut ::std::os::raw::c_uint,
2011 dir: *mut ::std::os::raw::c_int,
2012 ) -> ::std::os::raw::c_int;
2013}
2014extern "C" {
2015 pub fn snd_pcm_hw_params_set_period_time_last(
2016 pcm: *mut snd_pcm_t,
2017 params: *mut snd_pcm_hw_params_t,
2018 val: *mut ::std::os::raw::c_uint,
2019 dir: *mut ::std::os::raw::c_int,
2020 ) -> ::std::os::raw::c_int;
2021}
2022extern "C" {
2023 pub fn snd_pcm_hw_params_get_period_size(
2024 params: *const snd_pcm_hw_params_t,
2025 frames: *mut snd_pcm_uframes_t,
2026 dir: *mut ::std::os::raw::c_int,
2027 ) -> ::std::os::raw::c_int;
2028}
2029extern "C" {
2030 pub fn snd_pcm_hw_params_get_period_size_min(
2031 params: *const snd_pcm_hw_params_t,
2032 frames: *mut snd_pcm_uframes_t,
2033 dir: *mut ::std::os::raw::c_int,
2034 ) -> ::std::os::raw::c_int;
2035}
2036extern "C" {
2037 pub fn snd_pcm_hw_params_get_period_size_max(
2038 params: *const snd_pcm_hw_params_t,
2039 frames: *mut snd_pcm_uframes_t,
2040 dir: *mut ::std::os::raw::c_int,
2041 ) -> ::std::os::raw::c_int;
2042}
2043extern "C" {
2044 pub fn snd_pcm_hw_params_test_period_size(
2045 pcm: *mut snd_pcm_t,
2046 params: *mut snd_pcm_hw_params_t,
2047 val: snd_pcm_uframes_t,
2048 dir: ::std::os::raw::c_int,
2049 ) -> ::std::os::raw::c_int;
2050}
2051extern "C" {
2052 pub fn snd_pcm_hw_params_set_period_size(
2053 pcm: *mut snd_pcm_t,
2054 params: *mut snd_pcm_hw_params_t,
2055 val: snd_pcm_uframes_t,
2056 dir: ::std::os::raw::c_int,
2057 ) -> ::std::os::raw::c_int;
2058}
2059extern "C" {
2060 pub fn snd_pcm_hw_params_set_period_size_min(
2061 pcm: *mut snd_pcm_t,
2062 params: *mut snd_pcm_hw_params_t,
2063 val: *mut snd_pcm_uframes_t,
2064 dir: *mut ::std::os::raw::c_int,
2065 ) -> ::std::os::raw::c_int;
2066}
2067extern "C" {
2068 pub fn snd_pcm_hw_params_set_period_size_max(
2069 pcm: *mut snd_pcm_t,
2070 params: *mut snd_pcm_hw_params_t,
2071 val: *mut snd_pcm_uframes_t,
2072 dir: *mut ::std::os::raw::c_int,
2073 ) -> ::std::os::raw::c_int;
2074}
2075extern "C" {
2076 pub fn snd_pcm_hw_params_set_period_size_minmax(
2077 pcm: *mut snd_pcm_t,
2078 params: *mut snd_pcm_hw_params_t,
2079 min: *mut snd_pcm_uframes_t,
2080 mindir: *mut ::std::os::raw::c_int,
2081 max: *mut snd_pcm_uframes_t,
2082 maxdir: *mut ::std::os::raw::c_int,
2083 ) -> ::std::os::raw::c_int;
2084}
2085extern "C" {
2086 pub fn snd_pcm_hw_params_set_period_size_near(
2087 pcm: *mut snd_pcm_t,
2088 params: *mut snd_pcm_hw_params_t,
2089 val: *mut snd_pcm_uframes_t,
2090 dir: *mut ::std::os::raw::c_int,
2091 ) -> ::std::os::raw::c_int;
2092}
2093extern "C" {
2094 pub fn snd_pcm_hw_params_set_period_size_first(
2095 pcm: *mut snd_pcm_t,
2096 params: *mut snd_pcm_hw_params_t,
2097 val: *mut snd_pcm_uframes_t,
2098 dir: *mut ::std::os::raw::c_int,
2099 ) -> ::std::os::raw::c_int;
2100}
2101extern "C" {
2102 pub fn snd_pcm_hw_params_set_period_size_last(
2103 pcm: *mut snd_pcm_t,
2104 params: *mut snd_pcm_hw_params_t,
2105 val: *mut snd_pcm_uframes_t,
2106 dir: *mut ::std::os::raw::c_int,
2107 ) -> ::std::os::raw::c_int;
2108}
2109extern "C" {
2110 pub fn snd_pcm_hw_params_set_period_size_integer(
2111 pcm: *mut snd_pcm_t,
2112 params: *mut snd_pcm_hw_params_t,
2113 ) -> ::std::os::raw::c_int;
2114}
2115extern "C" {
2116 pub fn snd_pcm_hw_params_get_periods(
2117 params: *const snd_pcm_hw_params_t,
2118 val: *mut ::std::os::raw::c_uint,
2119 dir: *mut ::std::os::raw::c_int,
2120 ) -> ::std::os::raw::c_int;
2121}
2122extern "C" {
2123 pub fn snd_pcm_hw_params_get_periods_min(
2124 params: *const snd_pcm_hw_params_t,
2125 val: *mut ::std::os::raw::c_uint,
2126 dir: *mut ::std::os::raw::c_int,
2127 ) -> ::std::os::raw::c_int;
2128}
2129extern "C" {
2130 pub fn snd_pcm_hw_params_get_periods_max(
2131 params: *const snd_pcm_hw_params_t,
2132 val: *mut ::std::os::raw::c_uint,
2133 dir: *mut ::std::os::raw::c_int,
2134 ) -> ::std::os::raw::c_int;
2135}
2136extern "C" {
2137 pub fn snd_pcm_hw_params_test_periods(
2138 pcm: *mut snd_pcm_t,
2139 params: *mut snd_pcm_hw_params_t,
2140 val: ::std::os::raw::c_uint,
2141 dir: ::std::os::raw::c_int,
2142 ) -> ::std::os::raw::c_int;
2143}
2144extern "C" {
2145 pub fn snd_pcm_hw_params_set_periods(
2146 pcm: *mut snd_pcm_t,
2147 params: *mut snd_pcm_hw_params_t,
2148 val: ::std::os::raw::c_uint,
2149 dir: ::std::os::raw::c_int,
2150 ) -> ::std::os::raw::c_int;
2151}
2152extern "C" {
2153 pub fn snd_pcm_hw_params_set_periods_min(
2154 pcm: *mut snd_pcm_t,
2155 params: *mut snd_pcm_hw_params_t,
2156 val: *mut ::std::os::raw::c_uint,
2157 dir: *mut ::std::os::raw::c_int,
2158 ) -> ::std::os::raw::c_int;
2159}
2160extern "C" {
2161 pub fn snd_pcm_hw_params_set_periods_max(
2162 pcm: *mut snd_pcm_t,
2163 params: *mut snd_pcm_hw_params_t,
2164 val: *mut ::std::os::raw::c_uint,
2165 dir: *mut ::std::os::raw::c_int,
2166 ) -> ::std::os::raw::c_int;
2167}
2168extern "C" {
2169 pub fn snd_pcm_hw_params_set_periods_minmax(
2170 pcm: *mut snd_pcm_t,
2171 params: *mut snd_pcm_hw_params_t,
2172 min: *mut ::std::os::raw::c_uint,
2173 mindir: *mut ::std::os::raw::c_int,
2174 max: *mut ::std::os::raw::c_uint,
2175 maxdir: *mut ::std::os::raw::c_int,
2176 ) -> ::std::os::raw::c_int;
2177}
2178extern "C" {
2179 pub fn snd_pcm_hw_params_set_periods_near(
2180 pcm: *mut snd_pcm_t,
2181 params: *mut snd_pcm_hw_params_t,
2182 val: *mut ::std::os::raw::c_uint,
2183 dir: *mut ::std::os::raw::c_int,
2184 ) -> ::std::os::raw::c_int;
2185}
2186extern "C" {
2187 pub fn snd_pcm_hw_params_set_periods_first(
2188 pcm: *mut snd_pcm_t,
2189 params: *mut snd_pcm_hw_params_t,
2190 val: *mut ::std::os::raw::c_uint,
2191 dir: *mut ::std::os::raw::c_int,
2192 ) -> ::std::os::raw::c_int;
2193}
2194extern "C" {
2195 pub fn snd_pcm_hw_params_set_periods_last(
2196 pcm: *mut snd_pcm_t,
2197 params: *mut snd_pcm_hw_params_t,
2198 val: *mut ::std::os::raw::c_uint,
2199 dir: *mut ::std::os::raw::c_int,
2200 ) -> ::std::os::raw::c_int;
2201}
2202extern "C" {
2203 pub fn snd_pcm_hw_params_set_periods_integer(
2204 pcm: *mut snd_pcm_t,
2205 params: *mut snd_pcm_hw_params_t,
2206 ) -> ::std::os::raw::c_int;
2207}
2208extern "C" {
2209 pub fn snd_pcm_hw_params_get_buffer_time(
2210 params: *const snd_pcm_hw_params_t,
2211 val: *mut ::std::os::raw::c_uint,
2212 dir: *mut ::std::os::raw::c_int,
2213 ) -> ::std::os::raw::c_int;
2214}
2215extern "C" {
2216 pub fn snd_pcm_hw_params_get_buffer_time_min(
2217 params: *const snd_pcm_hw_params_t,
2218 val: *mut ::std::os::raw::c_uint,
2219 dir: *mut ::std::os::raw::c_int,
2220 ) -> ::std::os::raw::c_int;
2221}
2222extern "C" {
2223 pub fn snd_pcm_hw_params_get_buffer_time_max(
2224 params: *const snd_pcm_hw_params_t,
2225 val: *mut ::std::os::raw::c_uint,
2226 dir: *mut ::std::os::raw::c_int,
2227 ) -> ::std::os::raw::c_int;
2228}
2229extern "C" {
2230 pub fn snd_pcm_hw_params_test_buffer_time(
2231 pcm: *mut snd_pcm_t,
2232 params: *mut snd_pcm_hw_params_t,
2233 val: ::std::os::raw::c_uint,
2234 dir: ::std::os::raw::c_int,
2235 ) -> ::std::os::raw::c_int;
2236}
2237extern "C" {
2238 pub fn snd_pcm_hw_params_set_buffer_time(
2239 pcm: *mut snd_pcm_t,
2240 params: *mut snd_pcm_hw_params_t,
2241 val: ::std::os::raw::c_uint,
2242 dir: ::std::os::raw::c_int,
2243 ) -> ::std::os::raw::c_int;
2244}
2245extern "C" {
2246 pub fn snd_pcm_hw_params_set_buffer_time_min(
2247 pcm: *mut snd_pcm_t,
2248 params: *mut snd_pcm_hw_params_t,
2249 val: *mut ::std::os::raw::c_uint,
2250 dir: *mut ::std::os::raw::c_int,
2251 ) -> ::std::os::raw::c_int;
2252}
2253extern "C" {
2254 pub fn snd_pcm_hw_params_set_buffer_time_max(
2255 pcm: *mut snd_pcm_t,
2256 params: *mut snd_pcm_hw_params_t,
2257 val: *mut ::std::os::raw::c_uint,
2258 dir: *mut ::std::os::raw::c_int,
2259 ) -> ::std::os::raw::c_int;
2260}
2261extern "C" {
2262 pub fn snd_pcm_hw_params_set_buffer_time_minmax(
2263 pcm: *mut snd_pcm_t,
2264 params: *mut snd_pcm_hw_params_t,
2265 min: *mut ::std::os::raw::c_uint,
2266 mindir: *mut ::std::os::raw::c_int,
2267 max: *mut ::std::os::raw::c_uint,
2268 maxdir: *mut ::std::os::raw::c_int,
2269 ) -> ::std::os::raw::c_int;
2270}
2271extern "C" {
2272 pub fn snd_pcm_hw_params_set_buffer_time_near(
2273 pcm: *mut snd_pcm_t,
2274 params: *mut snd_pcm_hw_params_t,
2275 val: *mut ::std::os::raw::c_uint,
2276 dir: *mut ::std::os::raw::c_int,
2277 ) -> ::std::os::raw::c_int;
2278}
2279extern "C" {
2280 pub fn snd_pcm_hw_params_set_buffer_time_first(
2281 pcm: *mut snd_pcm_t,
2282 params: *mut snd_pcm_hw_params_t,
2283 val: *mut ::std::os::raw::c_uint,
2284 dir: *mut ::std::os::raw::c_int,
2285 ) -> ::std::os::raw::c_int;
2286}
2287extern "C" {
2288 pub fn snd_pcm_hw_params_set_buffer_time_last(
2289 pcm: *mut snd_pcm_t,
2290 params: *mut snd_pcm_hw_params_t,
2291 val: *mut ::std::os::raw::c_uint,
2292 dir: *mut ::std::os::raw::c_int,
2293 ) -> ::std::os::raw::c_int;
2294}
2295extern "C" {
2296 pub fn snd_pcm_hw_params_get_buffer_size(
2297 params: *const snd_pcm_hw_params_t,
2298 val: *mut snd_pcm_uframes_t,
2299 ) -> ::std::os::raw::c_int;
2300}
2301extern "C" {
2302 pub fn snd_pcm_hw_params_get_buffer_size_min(
2303 params: *const snd_pcm_hw_params_t,
2304 val: *mut snd_pcm_uframes_t,
2305 ) -> ::std::os::raw::c_int;
2306}
2307extern "C" {
2308 pub fn snd_pcm_hw_params_get_buffer_size_max(
2309 params: *const snd_pcm_hw_params_t,
2310 val: *mut snd_pcm_uframes_t,
2311 ) -> ::std::os::raw::c_int;
2312}
2313extern "C" {
2314 pub fn snd_pcm_hw_params_test_buffer_size(
2315 pcm: *mut snd_pcm_t,
2316 params: *mut snd_pcm_hw_params_t,
2317 val: snd_pcm_uframes_t,
2318 ) -> ::std::os::raw::c_int;
2319}
2320extern "C" {
2321 pub fn snd_pcm_hw_params_set_buffer_size(
2322 pcm: *mut snd_pcm_t,
2323 params: *mut snd_pcm_hw_params_t,
2324 val: snd_pcm_uframes_t,
2325 ) -> ::std::os::raw::c_int;
2326}
2327extern "C" {
2328 pub fn snd_pcm_hw_params_set_buffer_size_min(
2329 pcm: *mut snd_pcm_t,
2330 params: *mut snd_pcm_hw_params_t,
2331 val: *mut snd_pcm_uframes_t,
2332 ) -> ::std::os::raw::c_int;
2333}
2334extern "C" {
2335 pub fn snd_pcm_hw_params_set_buffer_size_max(
2336 pcm: *mut snd_pcm_t,
2337 params: *mut snd_pcm_hw_params_t,
2338 val: *mut snd_pcm_uframes_t,
2339 ) -> ::std::os::raw::c_int;
2340}
2341extern "C" {
2342 pub fn snd_pcm_hw_params_set_buffer_size_minmax(
2343 pcm: *mut snd_pcm_t,
2344 params: *mut snd_pcm_hw_params_t,
2345 min: *mut snd_pcm_uframes_t,
2346 max: *mut snd_pcm_uframes_t,
2347 ) -> ::std::os::raw::c_int;
2348}
2349extern "C" {
2350 pub fn snd_pcm_hw_params_set_buffer_size_near(
2351 pcm: *mut snd_pcm_t,
2352 params: *mut snd_pcm_hw_params_t,
2353 val: *mut snd_pcm_uframes_t,
2354 ) -> ::std::os::raw::c_int;
2355}
2356extern "C" {
2357 pub fn snd_pcm_hw_params_set_buffer_size_first(
2358 pcm: *mut snd_pcm_t,
2359 params: *mut snd_pcm_hw_params_t,
2360 val: *mut snd_pcm_uframes_t,
2361 ) -> ::std::os::raw::c_int;
2362}
2363extern "C" {
2364 pub fn snd_pcm_hw_params_set_buffer_size_last(
2365 pcm: *mut snd_pcm_t,
2366 params: *mut snd_pcm_hw_params_t,
2367 val: *mut snd_pcm_uframes_t,
2368 ) -> ::std::os::raw::c_int;
2369}
2370extern "C" {
2371 pub fn snd_pcm_hw_params_get_min_align(
2372 params: *const snd_pcm_hw_params_t,
2373 val: *mut snd_pcm_uframes_t,
2374 ) -> ::std::os::raw::c_int;
2375}
2376extern "C" {
2377 pub fn snd_pcm_sw_params_sizeof() -> usize;
2378}
2379extern "C" {
2380 pub fn snd_pcm_sw_params_malloc(ptr: *mut *mut snd_pcm_sw_params_t) -> ::std::os::raw::c_int;
2381}
2382extern "C" {
2383 pub fn snd_pcm_sw_params_free(obj: *mut snd_pcm_sw_params_t);
2384}
2385extern "C" {
2386 pub fn snd_pcm_sw_params_copy(dst: *mut snd_pcm_sw_params_t, src: *const snd_pcm_sw_params_t);
2387}
2388extern "C" {
2389 pub fn snd_pcm_sw_params_get_boundary(
2390 params: *const snd_pcm_sw_params_t,
2391 val: *mut snd_pcm_uframes_t,
2392 ) -> ::std::os::raw::c_int;
2393}
2394extern "C" {
2395 pub fn snd_pcm_sw_params_set_tstamp_mode(
2396 pcm: *mut snd_pcm_t,
2397 params: *mut snd_pcm_sw_params_t,
2398 val: snd_pcm_tstamp_t,
2399 ) -> ::std::os::raw::c_int;
2400}
2401extern "C" {
2402 pub fn snd_pcm_sw_params_get_tstamp_mode(
2403 params: *const snd_pcm_sw_params_t,
2404 val: *mut snd_pcm_tstamp_t,
2405 ) -> ::std::os::raw::c_int;
2406}
2407extern "C" {
2408 pub fn snd_pcm_sw_params_set_tstamp_type(
2409 pcm: *mut snd_pcm_t,
2410 params: *mut snd_pcm_sw_params_t,
2411 val: snd_pcm_tstamp_type_t,
2412 ) -> ::std::os::raw::c_int;
2413}
2414extern "C" {
2415 pub fn snd_pcm_sw_params_get_tstamp_type(
2416 params: *const snd_pcm_sw_params_t,
2417 val: *mut snd_pcm_tstamp_type_t,
2418 ) -> ::std::os::raw::c_int;
2419}
2420extern "C" {
2421 pub fn snd_pcm_sw_params_set_avail_min(
2422 pcm: *mut snd_pcm_t,
2423 params: *mut snd_pcm_sw_params_t,
2424 val: snd_pcm_uframes_t,
2425 ) -> ::std::os::raw::c_int;
2426}
2427extern "C" {
2428 pub fn snd_pcm_sw_params_get_avail_min(
2429 params: *const snd_pcm_sw_params_t,
2430 val: *mut snd_pcm_uframes_t,
2431 ) -> ::std::os::raw::c_int;
2432}
2433extern "C" {
2434 pub fn snd_pcm_sw_params_set_period_event(
2435 pcm: *mut snd_pcm_t,
2436 params: *mut snd_pcm_sw_params_t,
2437 val: ::std::os::raw::c_int,
2438 ) -> ::std::os::raw::c_int;
2439}
2440extern "C" {
2441 pub fn snd_pcm_sw_params_get_period_event(
2442 params: *const snd_pcm_sw_params_t,
2443 val: *mut ::std::os::raw::c_int,
2444 ) -> ::std::os::raw::c_int;
2445}
2446extern "C" {
2447 pub fn snd_pcm_sw_params_set_start_threshold(
2448 pcm: *mut snd_pcm_t,
2449 params: *mut snd_pcm_sw_params_t,
2450 val: snd_pcm_uframes_t,
2451 ) -> ::std::os::raw::c_int;
2452}
2453extern "C" {
2454 pub fn snd_pcm_sw_params_get_start_threshold(
2455 paramsm: *const snd_pcm_sw_params_t,
2456 val: *mut snd_pcm_uframes_t,
2457 ) -> ::std::os::raw::c_int;
2458}
2459extern "C" {
2460 pub fn snd_pcm_sw_params_set_stop_threshold(
2461 pcm: *mut snd_pcm_t,
2462 params: *mut snd_pcm_sw_params_t,
2463 val: snd_pcm_uframes_t,
2464 ) -> ::std::os::raw::c_int;
2465}
2466extern "C" {
2467 pub fn snd_pcm_sw_params_get_stop_threshold(
2468 params: *const snd_pcm_sw_params_t,
2469 val: *mut snd_pcm_uframes_t,
2470 ) -> ::std::os::raw::c_int;
2471}
2472extern "C" {
2473 pub fn snd_pcm_sw_params_set_silence_threshold(
2474 pcm: *mut snd_pcm_t,
2475 params: *mut snd_pcm_sw_params_t,
2476 val: snd_pcm_uframes_t,
2477 ) -> ::std::os::raw::c_int;
2478}
2479extern "C" {
2480 pub fn snd_pcm_sw_params_get_silence_threshold(
2481 params: *const snd_pcm_sw_params_t,
2482 val: *mut snd_pcm_uframes_t,
2483 ) -> ::std::os::raw::c_int;
2484}
2485extern "C" {
2486 pub fn snd_pcm_sw_params_set_silence_size(
2487 pcm: *mut snd_pcm_t,
2488 params: *mut snd_pcm_sw_params_t,
2489 val: snd_pcm_uframes_t,
2490 ) -> ::std::os::raw::c_int;
2491}
2492extern "C" {
2493 pub fn snd_pcm_sw_params_get_silence_size(
2494 params: *const snd_pcm_sw_params_t,
2495 val: *mut snd_pcm_uframes_t,
2496 ) -> ::std::os::raw::c_int;
2497}
2498extern "C" {
2499 pub fn snd_pcm_access_mask_sizeof() -> usize;
2500}
2501extern "C" {
2502 pub fn snd_pcm_access_mask_malloc(
2503 ptr: *mut *mut snd_pcm_access_mask_t,
2504 ) -> ::std::os::raw::c_int;
2505}
2506extern "C" {
2507 pub fn snd_pcm_access_mask_free(obj: *mut snd_pcm_access_mask_t);
2508}
2509extern "C" {
2510 pub fn snd_pcm_access_mask_copy(
2511 dst: *mut snd_pcm_access_mask_t,
2512 src: *const snd_pcm_access_mask_t,
2513 );
2514}
2515extern "C" {
2516 pub fn snd_pcm_access_mask_none(mask: *mut snd_pcm_access_mask_t);
2517}
2518extern "C" {
2519 pub fn snd_pcm_access_mask_any(mask: *mut snd_pcm_access_mask_t);
2520}
2521extern "C" {
2522 pub fn snd_pcm_access_mask_test(
2523 mask: *const snd_pcm_access_mask_t,
2524 val: snd_pcm_access_t,
2525 ) -> ::std::os::raw::c_int;
2526}
2527extern "C" {
2528 pub fn snd_pcm_access_mask_empty(mask: *const snd_pcm_access_mask_t) -> ::std::os::raw::c_int;
2529}
2530extern "C" {
2531 pub fn snd_pcm_access_mask_set(mask: *mut snd_pcm_access_mask_t, val: snd_pcm_access_t);
2532}
2533extern "C" {
2534 pub fn snd_pcm_access_mask_reset(mask: *mut snd_pcm_access_mask_t, val: snd_pcm_access_t);
2535}
2536extern "C" {
2537 pub fn snd_pcm_format_mask_sizeof() -> usize;
2538}
2539extern "C" {
2540 pub fn snd_pcm_format_mask_malloc(
2541 ptr: *mut *mut snd_pcm_format_mask_t,
2542 ) -> ::std::os::raw::c_int;
2543}
2544extern "C" {
2545 pub fn snd_pcm_format_mask_free(obj: *mut snd_pcm_format_mask_t);
2546}
2547extern "C" {
2548 pub fn snd_pcm_format_mask_copy(
2549 dst: *mut snd_pcm_format_mask_t,
2550 src: *const snd_pcm_format_mask_t,
2551 );
2552}
2553extern "C" {
2554 pub fn snd_pcm_format_mask_none(mask: *mut snd_pcm_format_mask_t);
2555}
2556extern "C" {
2557 pub fn snd_pcm_format_mask_any(mask: *mut snd_pcm_format_mask_t);
2558}
2559extern "C" {
2560 pub fn snd_pcm_format_mask_test(
2561 mask: *const snd_pcm_format_mask_t,
2562 val: snd_pcm_format_t,
2563 ) -> ::std::os::raw::c_int;
2564}
2565extern "C" {
2566 pub fn snd_pcm_format_mask_empty(mask: *const snd_pcm_format_mask_t) -> ::std::os::raw::c_int;
2567}
2568extern "C" {
2569 pub fn snd_pcm_format_mask_set(mask: *mut snd_pcm_format_mask_t, val: snd_pcm_format_t);
2570}
2571extern "C" {
2572 pub fn snd_pcm_format_mask_reset(mask: *mut snd_pcm_format_mask_t, val: snd_pcm_format_t);
2573}
2574extern "C" {
2575 pub fn snd_pcm_subformat_mask_sizeof() -> usize;
2576}
2577extern "C" {
2578 pub fn snd_pcm_subformat_mask_malloc(
2579 ptr: *mut *mut snd_pcm_subformat_mask_t,
2580 ) -> ::std::os::raw::c_int;
2581}
2582extern "C" {
2583 pub fn snd_pcm_subformat_mask_free(obj: *mut snd_pcm_subformat_mask_t);
2584}
2585extern "C" {
2586 pub fn snd_pcm_subformat_mask_copy(
2587 dst: *mut snd_pcm_subformat_mask_t,
2588 src: *const snd_pcm_subformat_mask_t,
2589 );
2590}
2591extern "C" {
2592 pub fn snd_pcm_subformat_mask_none(mask: *mut snd_pcm_subformat_mask_t);
2593}
2594extern "C" {
2595 pub fn snd_pcm_subformat_mask_any(mask: *mut snd_pcm_subformat_mask_t);
2596}
2597extern "C" {
2598 pub fn snd_pcm_subformat_mask_test(
2599 mask: *const snd_pcm_subformat_mask_t,
2600 val: snd_pcm_subformat_t,
2601 ) -> ::std::os::raw::c_int;
2602}
2603extern "C" {
2604 pub fn snd_pcm_subformat_mask_empty(
2605 mask: *const snd_pcm_subformat_mask_t,
2606 ) -> ::std::os::raw::c_int;
2607}
2608extern "C" {
2609 pub fn snd_pcm_subformat_mask_set(
2610 mask: *mut snd_pcm_subformat_mask_t,
2611 val: snd_pcm_subformat_t,
2612 );
2613}
2614extern "C" {
2615 pub fn snd_pcm_subformat_mask_reset(
2616 mask: *mut snd_pcm_subformat_mask_t,
2617 val: snd_pcm_subformat_t,
2618 );
2619}
2620extern "C" {
2621 pub fn snd_pcm_status_sizeof() -> usize;
2622}
2623extern "C" {
2624 pub fn snd_pcm_status_malloc(ptr: *mut *mut snd_pcm_status_t) -> ::std::os::raw::c_int;
2625}
2626extern "C" {
2627 pub fn snd_pcm_status_free(obj: *mut snd_pcm_status_t);
2628}
2629extern "C" {
2630 pub fn snd_pcm_status_copy(dst: *mut snd_pcm_status_t, src: *const snd_pcm_status_t);
2631}
2632extern "C" {
2633 pub fn snd_pcm_status_get_state(obj: *const snd_pcm_status_t) -> snd_pcm_state_t;
2634}
2635extern "C" {
2636 pub fn snd_pcm_status_get_trigger_tstamp(
2637 obj: *const snd_pcm_status_t,
2638 ptr: *mut snd_timestamp_t,
2639 );
2640}
2641extern "C" {
2642 pub fn snd_pcm_status_get_trigger_htstamp(
2643 obj: *const snd_pcm_status_t,
2644 ptr: *mut snd_htimestamp_t,
2645 );
2646}
2647extern "C" {
2648 pub fn snd_pcm_status_get_tstamp(obj: *const snd_pcm_status_t, ptr: *mut snd_timestamp_t);
2649}
2650extern "C" {
2651 pub fn snd_pcm_status_get_htstamp(obj: *const snd_pcm_status_t, ptr: *mut snd_htimestamp_t);
2652}
2653extern "C" {
2654 pub fn snd_pcm_status_get_audio_htstamp(
2655 obj: *const snd_pcm_status_t,
2656 ptr: *mut snd_htimestamp_t,
2657 );
2658}
2659extern "C" {
2660 pub fn snd_pcm_status_get_driver_htstamp(
2661 obj: *const snd_pcm_status_t,
2662 ptr: *mut snd_htimestamp_t,
2663 );
2664}
2665extern "C" {
2666 pub fn snd_pcm_status_get_audio_htstamp_report(
2667 obj: *const snd_pcm_status_t,
2668 audio_tstamp_report: *mut snd_pcm_audio_tstamp_report_t,
2669 );
2670}
2671extern "C" {
2672 pub fn snd_pcm_status_set_audio_htstamp_config(
2673 obj: *mut snd_pcm_status_t,
2674 audio_tstamp_config: *mut snd_pcm_audio_tstamp_config_t,
2675 );
2676}
2677extern "C" {
2678 pub fn snd_pcm_status_get_delay(obj: *const snd_pcm_status_t) -> snd_pcm_sframes_t;
2679}
2680extern "C" {
2681 pub fn snd_pcm_status_get_avail(obj: *const snd_pcm_status_t) -> snd_pcm_uframes_t;
2682}
2683extern "C" {
2684 pub fn snd_pcm_status_get_avail_max(obj: *const snd_pcm_status_t) -> snd_pcm_uframes_t;
2685}
2686extern "C" {
2687 pub fn snd_pcm_status_get_overrange(obj: *const snd_pcm_status_t) -> snd_pcm_uframes_t;
2688}
2689extern "C" {
2690 pub fn snd_pcm_type_name(type_: snd_pcm_type_t) -> *const ::std::os::raw::c_char;
2691}
2692extern "C" {
2693 pub fn snd_pcm_stream_name(stream: snd_pcm_stream_t) -> *const ::std::os::raw::c_char;
2694}
2695extern "C" {
2696 pub fn snd_pcm_access_name(_access: snd_pcm_access_t) -> *const ::std::os::raw::c_char;
2697}
2698extern "C" {
2699 pub fn snd_pcm_format_name(format: snd_pcm_format_t) -> *const ::std::os::raw::c_char;
2700}
2701extern "C" {
2702 pub fn snd_pcm_format_description(format: snd_pcm_format_t) -> *const ::std::os::raw::c_char;
2703}
2704extern "C" {
2705 pub fn snd_pcm_subformat_name(subformat: snd_pcm_subformat_t) -> *const ::std::os::raw::c_char;
2706}
2707extern "C" {
2708 pub fn snd_pcm_subformat_description(
2709 subformat: snd_pcm_subformat_t,
2710 ) -> *const ::std::os::raw::c_char;
2711}
2712extern "C" {
2713 pub fn snd_pcm_format_value(name: *const ::std::os::raw::c_char) -> snd_pcm_format_t;
2714}
2715extern "C" {
2716 pub fn snd_pcm_tstamp_mode_name(mode: snd_pcm_tstamp_t) -> *const ::std::os::raw::c_char;
2717}
2718extern "C" {
2719 pub fn snd_pcm_state_name(state: snd_pcm_state_t) -> *const ::std::os::raw::c_char;
2720}
2721extern "C" {
2722 pub fn snd_pcm_dump(pcm: *mut snd_pcm_t, out: *mut snd_output_t) -> ::std::os::raw::c_int;
2723}
2724extern "C" {
2725 pub fn snd_pcm_dump_hw_setup(
2726 pcm: *mut snd_pcm_t,
2727 out: *mut snd_output_t,
2728 ) -> ::std::os::raw::c_int;
2729}
2730extern "C" {
2731 pub fn snd_pcm_dump_sw_setup(
2732 pcm: *mut snd_pcm_t,
2733 out: *mut snd_output_t,
2734 ) -> ::std::os::raw::c_int;
2735}
2736extern "C" {
2737 pub fn snd_pcm_dump_setup(pcm: *mut snd_pcm_t, out: *mut snd_output_t)
2738 -> ::std::os::raw::c_int;
2739}
2740extern "C" {
2741 pub fn snd_pcm_hw_params_dump(
2742 params: *mut snd_pcm_hw_params_t,
2743 out: *mut snd_output_t,
2744 ) -> ::std::os::raw::c_int;
2745}
2746extern "C" {
2747 pub fn snd_pcm_sw_params_dump(
2748 params: *mut snd_pcm_sw_params_t,
2749 out: *mut snd_output_t,
2750 ) -> ::std::os::raw::c_int;
2751}
2752extern "C" {
2753 pub fn snd_pcm_status_dump(
2754 status: *mut snd_pcm_status_t,
2755 out: *mut snd_output_t,
2756 ) -> ::std::os::raw::c_int;
2757}
2758extern "C" {
2759 pub fn snd_pcm_mmap_begin(
2760 pcm: *mut snd_pcm_t,
2761 areas: *mut *const snd_pcm_channel_area_t,
2762 offset: *mut snd_pcm_uframes_t,
2763 frames: *mut snd_pcm_uframes_t,
2764 ) -> ::std::os::raw::c_int;
2765}
2766extern "C" {
2767 pub fn snd_pcm_mmap_commit(
2768 pcm: *mut snd_pcm_t,
2769 offset: snd_pcm_uframes_t,
2770 frames: snd_pcm_uframes_t,
2771 ) -> snd_pcm_sframes_t;
2772}
2773extern "C" {
2774 pub fn snd_pcm_mmap_writei(
2775 pcm: *mut snd_pcm_t,
2776 buffer: *const ::std::os::raw::c_void,
2777 size: snd_pcm_uframes_t,
2778 ) -> snd_pcm_sframes_t;
2779}
2780extern "C" {
2781 pub fn snd_pcm_mmap_readi(
2782 pcm: *mut snd_pcm_t,
2783 buffer: *mut ::std::os::raw::c_void,
2784 size: snd_pcm_uframes_t,
2785 ) -> snd_pcm_sframes_t;
2786}
2787extern "C" {
2788 pub fn snd_pcm_mmap_writen(
2789 pcm: *mut snd_pcm_t,
2790 bufs: *mut *mut ::std::os::raw::c_void,
2791 size: snd_pcm_uframes_t,
2792 ) -> snd_pcm_sframes_t;
2793}
2794extern "C" {
2795 pub fn snd_pcm_mmap_readn(
2796 pcm: *mut snd_pcm_t,
2797 bufs: *mut *mut ::std::os::raw::c_void,
2798 size: snd_pcm_uframes_t,
2799 ) -> snd_pcm_sframes_t;
2800}
2801extern "C" {
2802 pub fn snd_pcm_format_signed(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2803}
2804extern "C" {
2805 pub fn snd_pcm_format_unsigned(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2806}
2807extern "C" {
2808 pub fn snd_pcm_format_linear(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2809}
2810extern "C" {
2811 pub fn snd_pcm_format_float(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2812}
2813extern "C" {
2814 pub fn snd_pcm_format_little_endian(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2815}
2816extern "C" {
2817 pub fn snd_pcm_format_big_endian(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2818}
2819extern "C" {
2820 pub fn snd_pcm_format_cpu_endian(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2821}
2822extern "C" {
2823 pub fn snd_pcm_format_width(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2824}
2825extern "C" {
2826 pub fn snd_pcm_format_physical_width(format: snd_pcm_format_t) -> ::std::os::raw::c_int;
2827}
2828extern "C" {
2829 pub fn snd_pcm_build_linear_format(
2830 width: ::std::os::raw::c_int,
2831 pwidth: ::std::os::raw::c_int,
2832 unsignd: ::std::os::raw::c_int,
2833 big_endian: ::std::os::raw::c_int,
2834 ) -> snd_pcm_format_t;
2835}
2836extern "C" {
2837 pub fn snd_pcm_format_size(format: snd_pcm_format_t, samples: usize) -> isize;
2838}
2839extern "C" {
2840 pub fn snd_pcm_format_silence(format: snd_pcm_format_t) -> u8;
2841}
2842extern "C" {
2843 pub fn snd_pcm_format_silence_16(format: snd_pcm_format_t) -> u16;
2844}
2845extern "C" {
2846 pub fn snd_pcm_format_silence_32(format: snd_pcm_format_t) -> u32;
2847}
2848extern "C" {
2849 pub fn snd_pcm_format_silence_64(format: snd_pcm_format_t) -> u64;
2850}
2851extern "C" {
2852 pub fn snd_pcm_format_set_silence(
2853 format: snd_pcm_format_t,
2854 buf: *mut ::std::os::raw::c_void,
2855 samples: ::std::os::raw::c_uint,
2856 ) -> ::std::os::raw::c_int;
2857}
2858extern "C" {
2859 pub fn snd_pcm_bytes_to_frames(pcm: *mut snd_pcm_t, bytes: isize) -> snd_pcm_sframes_t;
2860}
2861extern "C" {
2862 pub fn snd_pcm_frames_to_bytes(pcm: *mut snd_pcm_t, frames: snd_pcm_sframes_t) -> isize;
2863}
2864extern "C" {
2865 pub fn snd_pcm_bytes_to_samples(pcm: *mut snd_pcm_t, bytes: isize) -> ::std::os::raw::c_long;
2866}
2867extern "C" {
2868 pub fn snd_pcm_samples_to_bytes(pcm: *mut snd_pcm_t, samples: ::std::os::raw::c_long) -> isize;
2869}
2870extern "C" {
2871 pub fn snd_pcm_area_silence(
2872 dst_channel: *const snd_pcm_channel_area_t,
2873 dst_offset: snd_pcm_uframes_t,
2874 samples: ::std::os::raw::c_uint,
2875 format: snd_pcm_format_t,
2876 ) -> ::std::os::raw::c_int;
2877}
2878extern "C" {
2879 pub fn snd_pcm_areas_silence(
2880 dst_channels: *const snd_pcm_channel_area_t,
2881 dst_offset: snd_pcm_uframes_t,
2882 channels: ::std::os::raw::c_uint,
2883 frames: snd_pcm_uframes_t,
2884 format: snd_pcm_format_t,
2885 ) -> ::std::os::raw::c_int;
2886}
2887extern "C" {
2888 pub fn snd_pcm_area_copy(
2889 dst_channel: *const snd_pcm_channel_area_t,
2890 dst_offset: snd_pcm_uframes_t,
2891 src_channel: *const snd_pcm_channel_area_t,
2892 src_offset: snd_pcm_uframes_t,
2893 samples: ::std::os::raw::c_uint,
2894 format: snd_pcm_format_t,
2895 ) -> ::std::os::raw::c_int;
2896}
2897extern "C" {
2898 pub fn snd_pcm_areas_copy(
2899 dst_channels: *const snd_pcm_channel_area_t,
2900 dst_offset: snd_pcm_uframes_t,
2901 src_channels: *const snd_pcm_channel_area_t,
2902 src_offset: snd_pcm_uframes_t,
2903 channels: ::std::os::raw::c_uint,
2904 frames: snd_pcm_uframes_t,
2905 format: snd_pcm_format_t,
2906 ) -> ::std::os::raw::c_int;
2907}
2908extern "C" {
2909 pub fn snd_pcm_areas_copy_wrap(
2910 dst_channels: *const snd_pcm_channel_area_t,
2911 dst_offset: snd_pcm_uframes_t,
2912 dst_size: snd_pcm_uframes_t,
2913 src_channels: *const snd_pcm_channel_area_t,
2914 src_offset: snd_pcm_uframes_t,
2915 src_size: snd_pcm_uframes_t,
2916 channels: ::std::os::raw::c_uint,
2917 frames: snd_pcm_uframes_t,
2918 format: snd_pcm_format_t,
2919 ) -> ::std::os::raw::c_int;
2920}
2921pub const SND_PCM_HOOK_TYPE_HW_PARAMS: _snd_pcm_hook_type = 0;
2922pub const SND_PCM_HOOK_TYPE_HW_FREE: _snd_pcm_hook_type = 1;
2923pub const SND_PCM_HOOK_TYPE_CLOSE: _snd_pcm_hook_type = 2;
2924pub const SND_PCM_HOOK_TYPE_LAST: _snd_pcm_hook_type = 2;
2925pub type _snd_pcm_hook_type = ::std::os::raw::c_uint;
2926pub use self::_snd_pcm_hook_type as snd_pcm_hook_type_t;
2927#[repr(C)]
2928#[derive(Debug, Copy, Clone)]
2929pub struct _snd_pcm_hook {
2930 _unused: [u8; 0],
2931}
2932pub type snd_pcm_hook_t = _snd_pcm_hook;
2933pub type snd_pcm_hook_func_t =
2934 ::std::option::Option<unsafe extern "C" fn(hook: *mut snd_pcm_hook_t) -> ::std::os::raw::c_int>;
2935extern "C" {
2936 pub fn snd_pcm_hook_get_pcm(hook: *mut snd_pcm_hook_t) -> *mut snd_pcm_t;
2937}
2938extern "C" {
2939 pub fn snd_pcm_hook_get_private(hook: *mut snd_pcm_hook_t) -> *mut ::std::os::raw::c_void;
2940}
2941extern "C" {
2942 pub fn snd_pcm_hook_set_private(
2943 hook: *mut snd_pcm_hook_t,
2944 private_data: *mut ::std::os::raw::c_void,
2945 );
2946}
2947extern "C" {
2948 pub fn snd_pcm_hook_add(
2949 hookp: *mut *mut snd_pcm_hook_t,
2950 pcm: *mut snd_pcm_t,
2951 type_: snd_pcm_hook_type_t,
2952 func: snd_pcm_hook_func_t,
2953 private_data: *mut ::std::os::raw::c_void,
2954 ) -> ::std::os::raw::c_int;
2955}
2956extern "C" {
2957 pub fn snd_pcm_hook_remove(hook: *mut snd_pcm_hook_t) -> ::std::os::raw::c_int;
2958}
2959#[repr(C)]
2960#[derive(Debug, Copy, Clone)]
2961pub struct _snd_pcm_scope_ops {
2962 pub enable: ::std::option::Option<
2963 unsafe extern "C" fn(scope: *mut snd_pcm_scope_t) -> ::std::os::raw::c_int,
2964 >,
2965 pub disable: ::std::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
2966 pub start: ::std::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
2967 pub stop: ::std::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
2968 pub update: ::std::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
2969 pub reset: ::std::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
2970 pub close: ::std::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
2971}
2972pub type snd_pcm_scope_ops_t = _snd_pcm_scope_ops;
2973extern "C" {
2974 pub fn snd_pcm_meter_get_bufsize(pcm: *mut snd_pcm_t) -> snd_pcm_uframes_t;
2975}
2976extern "C" {
2977 pub fn snd_pcm_meter_get_channels(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_uint;
2978}
2979extern "C" {
2980 pub fn snd_pcm_meter_get_rate(pcm: *mut snd_pcm_t) -> ::std::os::raw::c_uint;
2981}
2982extern "C" {
2983 pub fn snd_pcm_meter_get_now(pcm: *mut snd_pcm_t) -> snd_pcm_uframes_t;
2984}
2985extern "C" {
2986 pub fn snd_pcm_meter_get_boundary(pcm: *mut snd_pcm_t) -> snd_pcm_uframes_t;
2987}
2988extern "C" {
2989 pub fn snd_pcm_meter_add_scope(
2990 pcm: *mut snd_pcm_t,
2991 scope: *mut snd_pcm_scope_t,
2992 ) -> ::std::os::raw::c_int;
2993}
2994extern "C" {
2995 pub fn snd_pcm_meter_search_scope(
2996 pcm: *mut snd_pcm_t,
2997 name: *const ::std::os::raw::c_char,
2998 ) -> *mut snd_pcm_scope_t;
2999}
3000extern "C" {
3001 pub fn snd_pcm_scope_malloc(ptr: *mut *mut snd_pcm_scope_t) -> ::std::os::raw::c_int;
3002}
3003extern "C" {
3004 pub fn snd_pcm_scope_set_ops(scope: *mut snd_pcm_scope_t, val: *const snd_pcm_scope_ops_t);
3005}
3006extern "C" {
3007 pub fn snd_pcm_scope_set_name(scope: *mut snd_pcm_scope_t, val: *const ::std::os::raw::c_char);
3008}
3009extern "C" {
3010 pub fn snd_pcm_scope_get_name(scope: *mut snd_pcm_scope_t) -> *const ::std::os::raw::c_char;
3011}
3012extern "C" {
3013 pub fn snd_pcm_scope_get_callback_private(
3014 scope: *mut snd_pcm_scope_t,
3015 ) -> *mut ::std::os::raw::c_void;
3016}
3017extern "C" {
3018 pub fn snd_pcm_scope_set_callback_private(
3019 scope: *mut snd_pcm_scope_t,
3020 val: *mut ::std::os::raw::c_void,
3021 );
3022}
3023extern "C" {
3024 pub fn snd_pcm_scope_s16_open(
3025 pcm: *mut snd_pcm_t,
3026 name: *const ::std::os::raw::c_char,
3027 scopep: *mut *mut snd_pcm_scope_t,
3028 ) -> ::std::os::raw::c_int;
3029}
3030extern "C" {
3031 pub fn snd_pcm_scope_s16_get_channel_buffer(
3032 scope: *mut snd_pcm_scope_t,
3033 channel: ::std::os::raw::c_uint,
3034 ) -> *mut i16;
3035}
3036pub const SND_SPCM_LATENCY_STANDARD: _snd_spcm_latency = 0;
3037pub const SND_SPCM_LATENCY_MEDIUM: _snd_spcm_latency = 1;
3038pub const SND_SPCM_LATENCY_REALTIME: _snd_spcm_latency = 2;
3039pub type _snd_spcm_latency = ::std::os::raw::c_uint;
3040pub use self::_snd_spcm_latency as snd_spcm_latency_t;
3041pub const SND_SPCM_XRUN_IGNORE: _snd_spcm_xrun_type = 0;
3042pub const SND_SPCM_XRUN_STOP: _snd_spcm_xrun_type = 1;
3043pub type _snd_spcm_xrun_type = ::std::os::raw::c_uint;
3044pub use self::_snd_spcm_xrun_type as snd_spcm_xrun_type_t;
3045pub const SND_SPCM_DUPLEX_LIBERAL: _snd_spcm_duplex_type = 0;
3046pub const SND_SPCM_DUPLEX_PEDANTIC: _snd_spcm_duplex_type = 1;
3047pub type _snd_spcm_duplex_type = ::std::os::raw::c_uint;
3048pub use self::_snd_spcm_duplex_type as snd_spcm_duplex_type_t;
3049extern "C" {
3050 pub fn snd_spcm_init(
3051 pcm: *mut snd_pcm_t,
3052 rate: ::std::os::raw::c_uint,
3053 channels: ::std::os::raw::c_uint,
3054 format: snd_pcm_format_t,
3055 subformat: snd_pcm_subformat_t,
3056 latency: snd_spcm_latency_t,
3057 _access: snd_pcm_access_t,
3058 xrun_type: snd_spcm_xrun_type_t,
3059 ) -> ::std::os::raw::c_int;
3060}
3061extern "C" {
3062 pub fn snd_spcm_init_duplex(
3063 playback_pcm: *mut snd_pcm_t,
3064 capture_pcm: *mut snd_pcm_t,
3065 rate: ::std::os::raw::c_uint,
3066 channels: ::std::os::raw::c_uint,
3067 format: snd_pcm_format_t,
3068 subformat: snd_pcm_subformat_t,
3069 latency: snd_spcm_latency_t,
3070 _access: snd_pcm_access_t,
3071 xrun_type: snd_spcm_xrun_type_t,
3072 duplex_type: snd_spcm_duplex_type_t,
3073 ) -> ::std::os::raw::c_int;
3074}
3075extern "C" {
3076 pub fn snd_spcm_init_get_params(
3077 pcm: *mut snd_pcm_t,
3078 rate: *mut ::std::os::raw::c_uint,
3079 buffer_size: *mut snd_pcm_uframes_t,
3080 period_size: *mut snd_pcm_uframes_t,
3081 ) -> ::std::os::raw::c_int;
3082}
3083extern "C" {
3084 pub fn snd_pcm_start_mode_name(mode: snd_pcm_start_t) -> *const ::std::os::raw::c_char;
3085}
3086extern "C" {
3087 pub fn snd_pcm_xrun_mode_name(mode: snd_pcm_xrun_t) -> *const ::std::os::raw::c_char;
3088}
3089extern "C" {
3090 pub fn snd_pcm_sw_params_set_start_mode(
3091 pcm: *mut snd_pcm_t,
3092 params: *mut snd_pcm_sw_params_t,
3093 val: snd_pcm_start_t,
3094 ) -> ::std::os::raw::c_int;
3095}
3096extern "C" {
3097 pub fn snd_pcm_sw_params_get_start_mode(params: *const snd_pcm_sw_params_t) -> snd_pcm_start_t;
3098}
3099extern "C" {
3100 pub fn snd_pcm_sw_params_set_xrun_mode(
3101 pcm: *mut snd_pcm_t,
3102 params: *mut snd_pcm_sw_params_t,
3103 val: snd_pcm_xrun_t,
3104 ) -> ::std::os::raw::c_int;
3105}
3106extern "C" {
3107 pub fn snd_pcm_sw_params_get_xrun_mode(params: *const snd_pcm_sw_params_t) -> snd_pcm_xrun_t;
3108}
3109extern "C" {
3110 pub fn snd_pcm_sw_params_set_xfer_align(
3111 pcm: *mut snd_pcm_t,
3112 params: *mut snd_pcm_sw_params_t,
3113 val: snd_pcm_uframes_t,
3114 ) -> ::std::os::raw::c_int;
3115}
3116extern "C" {
3117 pub fn snd_pcm_sw_params_get_xfer_align(
3118 params: *const snd_pcm_sw_params_t,
3119 val: *mut snd_pcm_uframes_t,
3120 ) -> ::std::os::raw::c_int;
3121}
3122extern "C" {
3123 pub fn snd_pcm_sw_params_set_sleep_min(
3124 pcm: *mut snd_pcm_t,
3125 params: *mut snd_pcm_sw_params_t,
3126 val: ::std::os::raw::c_uint,
3127 ) -> ::std::os::raw::c_int;
3128}
3129extern "C" {
3130 pub fn snd_pcm_sw_params_get_sleep_min(
3131 params: *const snd_pcm_sw_params_t,
3132 val: *mut ::std::os::raw::c_uint,
3133 ) -> ::std::os::raw::c_int;
3134}
3135extern "C" {
3136 pub fn snd_pcm_hw_params_get_tick_time(
3137 params: *const snd_pcm_hw_params_t,
3138 val: *mut ::std::os::raw::c_uint,
3139 dir: *mut ::std::os::raw::c_int,
3140 ) -> ::std::os::raw::c_int;
3141}
3142extern "C" {
3143 pub fn snd_pcm_hw_params_get_tick_time_min(
3144 params: *const snd_pcm_hw_params_t,
3145 val: *mut ::std::os::raw::c_uint,
3146 dir: *mut ::std::os::raw::c_int,
3147 ) -> ::std::os::raw::c_int;
3148}
3149extern "C" {
3150 pub fn snd_pcm_hw_params_get_tick_time_max(
3151 params: *const snd_pcm_hw_params_t,
3152 val: *mut ::std::os::raw::c_uint,
3153 dir: *mut ::std::os::raw::c_int,
3154 ) -> ::std::os::raw::c_int;
3155}
3156extern "C" {
3157 pub fn snd_pcm_hw_params_test_tick_time(
3158 pcm: *mut snd_pcm_t,
3159 params: *mut snd_pcm_hw_params_t,
3160 val: ::std::os::raw::c_uint,
3161 dir: ::std::os::raw::c_int,
3162 ) -> ::std::os::raw::c_int;
3163}
3164extern "C" {
3165 pub fn snd_pcm_hw_params_set_tick_time(
3166 pcm: *mut snd_pcm_t,
3167 params: *mut snd_pcm_hw_params_t,
3168 val: ::std::os::raw::c_uint,
3169 dir: ::std::os::raw::c_int,
3170 ) -> ::std::os::raw::c_int;
3171}
3172extern "C" {
3173 pub fn snd_pcm_hw_params_set_tick_time_min(
3174 pcm: *mut snd_pcm_t,
3175 params: *mut snd_pcm_hw_params_t,
3176 val: *mut ::std::os::raw::c_uint,
3177 dir: *mut ::std::os::raw::c_int,
3178 ) -> ::std::os::raw::c_int;
3179}
3180extern "C" {
3181 pub fn snd_pcm_hw_params_set_tick_time_max(
3182 pcm: *mut snd_pcm_t,
3183 params: *mut snd_pcm_hw_params_t,
3184 val: *mut ::std::os::raw::c_uint,
3185 dir: *mut ::std::os::raw::c_int,
3186 ) -> ::std::os::raw::c_int;
3187}
3188extern "C" {
3189 pub fn snd_pcm_hw_params_set_tick_time_minmax(
3190 pcm: *mut snd_pcm_t,
3191 params: *mut snd_pcm_hw_params_t,
3192 min: *mut ::std::os::raw::c_uint,
3193 mindir: *mut ::std::os::raw::c_int,
3194 max: *mut ::std::os::raw::c_uint,
3195 maxdir: *mut ::std::os::raw::c_int,
3196 ) -> ::std::os::raw::c_int;
3197}
3198extern "C" {
3199 pub fn snd_pcm_hw_params_set_tick_time_near(
3200 pcm: *mut snd_pcm_t,
3201 params: *mut snd_pcm_hw_params_t,
3202 val: *mut ::std::os::raw::c_uint,
3203 dir: *mut ::std::os::raw::c_int,
3204 ) -> ::std::os::raw::c_int;
3205}
3206extern "C" {
3207 pub fn snd_pcm_hw_params_set_tick_time_first(
3208 pcm: *mut snd_pcm_t,
3209 params: *mut snd_pcm_hw_params_t,
3210 val: *mut ::std::os::raw::c_uint,
3211 dir: *mut ::std::os::raw::c_int,
3212 ) -> ::std::os::raw::c_int;
3213}
3214extern "C" {
3215 pub fn snd_pcm_hw_params_set_tick_time_last(
3216 pcm: *mut snd_pcm_t,
3217 params: *mut snd_pcm_hw_params_t,
3218 val: *mut ::std::os::raw::c_uint,
3219 dir: *mut ::std::os::raw::c_int,
3220 ) -> ::std::os::raw::c_int;
3221}
3222#[repr(C)]
3223#[derive(Debug, Copy, Clone)]
3224pub struct _snd_rawmidi_info {
3225 _unused: [u8; 0],
3226}
3227pub type snd_rawmidi_info_t = _snd_rawmidi_info;
3228#[repr(C)]
3229#[derive(Debug, Copy, Clone)]
3230pub struct _snd_rawmidi_params {
3231 _unused: [u8; 0],
3232}
3233pub type snd_rawmidi_params_t = _snd_rawmidi_params;
3234#[repr(C)]
3235#[derive(Debug, Copy, Clone)]
3236pub struct _snd_rawmidi_status {
3237 _unused: [u8; 0],
3238}
3239pub type snd_rawmidi_status_t = _snd_rawmidi_status;
3240pub const SND_RAWMIDI_STREAM_OUTPUT: _snd_rawmidi_stream = 0;
3241pub const SND_RAWMIDI_STREAM_INPUT: _snd_rawmidi_stream = 1;
3242pub const SND_RAWMIDI_STREAM_LAST: _snd_rawmidi_stream = 1;
3243pub type _snd_rawmidi_stream = ::std::os::raw::c_uint;
3244pub use self::_snd_rawmidi_stream as snd_rawmidi_stream_t;
3245#[repr(C)]
3246#[derive(Debug, Copy, Clone)]
3247pub struct _snd_rawmidi {
3248 _unused: [u8; 0],
3249}
3250pub type snd_rawmidi_t = _snd_rawmidi;
3251pub const SND_RAWMIDI_TYPE_HW: _snd_rawmidi_type = 0;
3252pub const SND_RAWMIDI_TYPE_SHM: _snd_rawmidi_type = 1;
3253pub const SND_RAWMIDI_TYPE_INET: _snd_rawmidi_type = 2;
3254pub const SND_RAWMIDI_TYPE_VIRTUAL: _snd_rawmidi_type = 3;
3255pub type _snd_rawmidi_type = ::std::os::raw::c_uint;
3256pub use self::_snd_rawmidi_type as snd_rawmidi_type_t;
3257extern "C" {
3258 pub fn snd_rawmidi_open(
3259 in_rmidi: *mut *mut snd_rawmidi_t,
3260 out_rmidi: *mut *mut snd_rawmidi_t,
3261 name: *const ::std::os::raw::c_char,
3262 mode: ::std::os::raw::c_int,
3263 ) -> ::std::os::raw::c_int;
3264}
3265extern "C" {
3266 pub fn snd_rawmidi_open_lconf(
3267 in_rmidi: *mut *mut snd_rawmidi_t,
3268 out_rmidi: *mut *mut snd_rawmidi_t,
3269 name: *const ::std::os::raw::c_char,
3270 mode: ::std::os::raw::c_int,
3271 lconf: *mut snd_config_t,
3272 ) -> ::std::os::raw::c_int;
3273}
3274extern "C" {
3275 pub fn snd_rawmidi_close(rmidi: *mut snd_rawmidi_t) -> ::std::os::raw::c_int;
3276}
3277extern "C" {
3278 pub fn snd_rawmidi_poll_descriptors_count(rmidi: *mut snd_rawmidi_t) -> ::std::os::raw::c_int;
3279}
3280extern "C" {
3281 pub fn snd_rawmidi_poll_descriptors(
3282 rmidi: *mut snd_rawmidi_t,
3283 pfds: *mut pollfd,
3284 space: ::std::os::raw::c_uint,
3285 ) -> ::std::os::raw::c_int;
3286}
3287extern "C" {
3288 pub fn snd_rawmidi_poll_descriptors_revents(
3289 rawmidi: *mut snd_rawmidi_t,
3290 pfds: *mut pollfd,
3291 nfds: ::std::os::raw::c_uint,
3292 revent: *mut ::std::os::raw::c_ushort,
3293 ) -> ::std::os::raw::c_int;
3294}
3295extern "C" {
3296 pub fn snd_rawmidi_nonblock(
3297 rmidi: *mut snd_rawmidi_t,
3298 nonblock: ::std::os::raw::c_int,
3299 ) -> ::std::os::raw::c_int;
3300}
3301extern "C" {
3302 pub fn snd_rawmidi_info_sizeof() -> usize;
3303}
3304extern "C" {
3305 pub fn snd_rawmidi_info_malloc(ptr: *mut *mut snd_rawmidi_info_t) -> ::std::os::raw::c_int;
3306}
3307extern "C" {
3308 pub fn snd_rawmidi_info_free(obj: *mut snd_rawmidi_info_t);
3309}
3310extern "C" {
3311 pub fn snd_rawmidi_info_copy(dst: *mut snd_rawmidi_info_t, src: *const snd_rawmidi_info_t);
3312}
3313extern "C" {
3314 pub fn snd_rawmidi_info_get_device(obj: *const snd_rawmidi_info_t) -> ::std::os::raw::c_uint;
3315}
3316extern "C" {
3317 pub fn snd_rawmidi_info_get_subdevice(obj: *const snd_rawmidi_info_t)
3318 -> ::std::os::raw::c_uint;
3319}
3320extern "C" {
3321 pub fn snd_rawmidi_info_get_stream(obj: *const snd_rawmidi_info_t) -> snd_rawmidi_stream_t;
3322}
3323extern "C" {
3324 pub fn snd_rawmidi_info_get_card(obj: *const snd_rawmidi_info_t) -> ::std::os::raw::c_int;
3325}
3326extern "C" {
3327 pub fn snd_rawmidi_info_get_flags(obj: *const snd_rawmidi_info_t) -> ::std::os::raw::c_uint;
3328}
3329extern "C" {
3330 pub fn snd_rawmidi_info_get_id(obj: *const snd_rawmidi_info_t)
3331 -> *const ::std::os::raw::c_char;
3332}
3333extern "C" {
3334 pub fn snd_rawmidi_info_get_name(
3335 obj: *const snd_rawmidi_info_t,
3336 ) -> *const ::std::os::raw::c_char;
3337}
3338extern "C" {
3339 pub fn snd_rawmidi_info_get_subdevice_name(
3340 obj: *const snd_rawmidi_info_t,
3341 ) -> *const ::std::os::raw::c_char;
3342}
3343extern "C" {
3344 pub fn snd_rawmidi_info_get_subdevices_count(
3345 obj: *const snd_rawmidi_info_t,
3346 ) -> ::std::os::raw::c_uint;
3347}
3348extern "C" {
3349 pub fn snd_rawmidi_info_get_subdevices_avail(
3350 obj: *const snd_rawmidi_info_t,
3351 ) -> ::std::os::raw::c_uint;
3352}
3353extern "C" {
3354 pub fn snd_rawmidi_info_set_device(obj: *mut snd_rawmidi_info_t, val: ::std::os::raw::c_uint);
3355}
3356extern "C" {
3357 pub fn snd_rawmidi_info_set_subdevice(
3358 obj: *mut snd_rawmidi_info_t,
3359 val: ::std::os::raw::c_uint,
3360 );
3361}
3362extern "C" {
3363 pub fn snd_rawmidi_info_set_stream(obj: *mut snd_rawmidi_info_t, val: snd_rawmidi_stream_t);
3364}
3365extern "C" {
3366 pub fn snd_rawmidi_info(
3367 rmidi: *mut snd_rawmidi_t,
3368 info: *mut snd_rawmidi_info_t,
3369 ) -> ::std::os::raw::c_int;
3370}
3371extern "C" {
3372 pub fn snd_rawmidi_params_sizeof() -> usize;
3373}
3374extern "C" {
3375 pub fn snd_rawmidi_params_malloc(ptr: *mut *mut snd_rawmidi_params_t) -> ::std::os::raw::c_int;
3376}
3377extern "C" {
3378 pub fn snd_rawmidi_params_free(obj: *mut snd_rawmidi_params_t);
3379}
3380extern "C" {
3381 pub fn snd_rawmidi_params_copy(
3382 dst: *mut snd_rawmidi_params_t,
3383 src: *const snd_rawmidi_params_t,
3384 );
3385}
3386extern "C" {
3387 pub fn snd_rawmidi_params_set_buffer_size(
3388 rmidi: *mut snd_rawmidi_t,
3389 params: *mut snd_rawmidi_params_t,
3390 val: usize,
3391 ) -> ::std::os::raw::c_int;
3392}
3393extern "C" {
3394 pub fn snd_rawmidi_params_get_buffer_size(params: *const snd_rawmidi_params_t) -> usize;
3395}
3396extern "C" {
3397 pub fn snd_rawmidi_params_set_avail_min(
3398 rmidi: *mut snd_rawmidi_t,
3399 params: *mut snd_rawmidi_params_t,
3400 val: usize,
3401 ) -> ::std::os::raw::c_int;
3402}
3403extern "C" {
3404 pub fn snd_rawmidi_params_get_avail_min(params: *const snd_rawmidi_params_t) -> usize;
3405}
3406extern "C" {
3407 pub fn snd_rawmidi_params_set_no_active_sensing(
3408 rmidi: *mut snd_rawmidi_t,
3409 params: *mut snd_rawmidi_params_t,
3410 val: ::std::os::raw::c_int,
3411 ) -> ::std::os::raw::c_int;
3412}
3413extern "C" {
3414 pub fn snd_rawmidi_params_get_no_active_sensing(
3415 params: *const snd_rawmidi_params_t,
3416 ) -> ::std::os::raw::c_int;
3417}
3418extern "C" {
3419 pub fn snd_rawmidi_params(
3420 rmidi: *mut snd_rawmidi_t,
3421 params: *mut snd_rawmidi_params_t,
3422 ) -> ::std::os::raw::c_int;
3423}
3424extern "C" {
3425 pub fn snd_rawmidi_params_current(
3426 rmidi: *mut snd_rawmidi_t,
3427 params: *mut snd_rawmidi_params_t,
3428 ) -> ::std::os::raw::c_int;
3429}
3430extern "C" {
3431 pub fn snd_rawmidi_status_sizeof() -> usize;
3432}
3433extern "C" {
3434 pub fn snd_rawmidi_status_malloc(ptr: *mut *mut snd_rawmidi_status_t) -> ::std::os::raw::c_int;
3435}
3436extern "C" {
3437 pub fn snd_rawmidi_status_free(obj: *mut snd_rawmidi_status_t);
3438}
3439extern "C" {
3440 pub fn snd_rawmidi_status_copy(
3441 dst: *mut snd_rawmidi_status_t,
3442 src: *const snd_rawmidi_status_t,
3443 );
3444}
3445extern "C" {
3446 pub fn snd_rawmidi_status_get_tstamp(
3447 obj: *const snd_rawmidi_status_t,
3448 ptr: *mut snd_htimestamp_t,
3449 );
3450}
3451extern "C" {
3452 pub fn snd_rawmidi_status_get_avail(obj: *const snd_rawmidi_status_t) -> usize;
3453}
3454extern "C" {
3455 pub fn snd_rawmidi_status_get_xruns(obj: *const snd_rawmidi_status_t) -> usize;
3456}
3457extern "C" {
3458 pub fn snd_rawmidi_status(
3459 rmidi: *mut snd_rawmidi_t,
3460 status: *mut snd_rawmidi_status_t,
3461 ) -> ::std::os::raw::c_int;
3462}
3463extern "C" {
3464 pub fn snd_rawmidi_drain(rmidi: *mut snd_rawmidi_t) -> ::std::os::raw::c_int;
3465}
3466extern "C" {
3467 pub fn snd_rawmidi_drop(rmidi: *mut snd_rawmidi_t) -> ::std::os::raw::c_int;
3468}
3469extern "C" {
3470 pub fn snd_rawmidi_write(
3471 rmidi: *mut snd_rawmidi_t,
3472 buffer: *const ::std::os::raw::c_void,
3473 size: usize,
3474 ) -> isize;
3475}
3476extern "C" {
3477 pub fn snd_rawmidi_read(
3478 rmidi: *mut snd_rawmidi_t,
3479 buffer: *mut ::std::os::raw::c_void,
3480 size: usize,
3481 ) -> isize;
3482}
3483extern "C" {
3484 pub fn snd_rawmidi_name(rmidi: *mut snd_rawmidi_t) -> *const ::std::os::raw::c_char;
3485}
3486extern "C" {
3487 pub fn snd_rawmidi_type(rmidi: *mut snd_rawmidi_t) -> snd_rawmidi_type_t;
3488}
3489extern "C" {
3490 pub fn snd_rawmidi_stream(rawmidi: *mut snd_rawmidi_t) -> snd_rawmidi_stream_t;
3491}
3492#[repr(C)]
3493#[derive(Debug, Copy, Clone)]
3494pub struct _snd_timer_id {
3495 _unused: [u8; 0],
3496}
3497pub type snd_timer_id_t = _snd_timer_id;
3498#[repr(C)]
3499#[derive(Debug, Copy, Clone)]
3500pub struct _snd_timer_ginfo {
3501 _unused: [u8; 0],
3502}
3503pub type snd_timer_ginfo_t = _snd_timer_ginfo;
3504#[repr(C)]
3505#[derive(Debug, Copy, Clone)]
3506pub struct _snd_timer_gparams {
3507 _unused: [u8; 0],
3508}
3509pub type snd_timer_gparams_t = _snd_timer_gparams;
3510#[repr(C)]
3511#[derive(Debug, Copy, Clone)]
3512pub struct _snd_timer_gstatus {
3513 _unused: [u8; 0],
3514}
3515pub type snd_timer_gstatus_t = _snd_timer_gstatus;
3516#[repr(C)]
3517#[derive(Debug, Copy, Clone)]
3518pub struct _snd_timer_info {
3519 _unused: [u8; 0],
3520}
3521pub type snd_timer_info_t = _snd_timer_info;
3522#[repr(C)]
3523#[derive(Debug, Copy, Clone)]
3524pub struct _snd_timer_params {
3525 _unused: [u8; 0],
3526}
3527pub type snd_timer_params_t = _snd_timer_params;
3528#[repr(C)]
3529#[derive(Debug, Copy, Clone)]
3530pub struct _snd_timer_status {
3531 _unused: [u8; 0],
3532}
3533pub type snd_timer_status_t = _snd_timer_status;
3534pub const SND_TIMER_CLASS_NONE: _snd_timer_class = -1;
3535pub const SND_TIMER_CLASS_SLAVE: _snd_timer_class = 0;
3536pub const SND_TIMER_CLASS_GLOBAL: _snd_timer_class = 1;
3537pub const SND_TIMER_CLASS_CARD: _snd_timer_class = 2;
3538pub const SND_TIMER_CLASS_PCM: _snd_timer_class = 3;
3539pub const SND_TIMER_CLASS_LAST: _snd_timer_class = 3;
3540pub type _snd_timer_class = ::std::os::raw::c_int;
3541pub use self::_snd_timer_class as snd_timer_class_t;
3542pub const SND_TIMER_SCLASS_NONE: _snd_timer_slave_class = 0;
3543pub const SND_TIMER_SCLASS_APPLICATION: _snd_timer_slave_class = 1;
3544pub const SND_TIMER_SCLASS_SEQUENCER: _snd_timer_slave_class = 2;
3545pub const SND_TIMER_SCLASS_OSS_SEQUENCER: _snd_timer_slave_class = 3;
3546pub const SND_TIMER_SCLASS_LAST: _snd_timer_slave_class = 3;
3547pub type _snd_timer_slave_class = ::std::os::raw::c_uint;
3548pub use self::_snd_timer_slave_class as snd_timer_slave_class_t;
3549pub const SND_TIMER_EVENT_RESOLUTION: _snd_timer_event = 0;
3550pub const SND_TIMER_EVENT_TICK: _snd_timer_event = 1;
3551pub const SND_TIMER_EVENT_START: _snd_timer_event = 2;
3552pub const SND_TIMER_EVENT_STOP: _snd_timer_event = 3;
3553pub const SND_TIMER_EVENT_CONTINUE: _snd_timer_event = 4;
3554pub const SND_TIMER_EVENT_PAUSE: _snd_timer_event = 5;
3555pub const SND_TIMER_EVENT_EARLY: _snd_timer_event = 6;
3556pub const SND_TIMER_EVENT_SUSPEND: _snd_timer_event = 7;
3557pub const SND_TIMER_EVENT_RESUME: _snd_timer_event = 8;
3558pub const SND_TIMER_EVENT_MSTART: _snd_timer_event = 12;
3559pub const SND_TIMER_EVENT_MSTOP: _snd_timer_event = 13;
3560pub const SND_TIMER_EVENT_MCONTINUE: _snd_timer_event = 14;
3561pub const SND_TIMER_EVENT_MPAUSE: _snd_timer_event = 15;
3562pub const SND_TIMER_EVENT_MSUSPEND: _snd_timer_event = 17;
3563pub const SND_TIMER_EVENT_MRESUME: _snd_timer_event = 18;
3564pub type _snd_timer_event = ::std::os::raw::c_uint;
3565pub use self::_snd_timer_event as snd_timer_event_t;
3566#[repr(C)]
3567#[derive(Debug, Copy, Clone)]
3568pub struct _snd_timer_read {
3569 pub resolution: ::std::os::raw::c_uint,
3570 pub ticks: ::std::os::raw::c_uint,
3571}
3572pub type snd_timer_read_t = _snd_timer_read;
3573#[repr(C)]
3574pub struct _snd_timer_tread {
3575 pub event: snd_timer_event_t,
3576 pub tstamp: snd_htimestamp_t,
3577 pub val: ::std::os::raw::c_uint,
3578}
3579pub type snd_timer_tread_t = _snd_timer_tread;
3580pub const SND_TIMER_TYPE_HW: _snd_timer_type = 0;
3581pub const SND_TIMER_TYPE_SHM: _snd_timer_type = 1;
3582pub const SND_TIMER_TYPE_INET: _snd_timer_type = 2;
3583pub type _snd_timer_type = ::std::os::raw::c_uint;
3584pub use self::_snd_timer_type as snd_timer_type_t;
3585#[repr(C)]
3586#[derive(Debug, Copy, Clone)]
3587pub struct _snd_timer_query {
3588 _unused: [u8; 0],
3589}
3590pub type snd_timer_query_t = _snd_timer_query;
3591#[repr(C)]
3592#[derive(Debug, Copy, Clone)]
3593pub struct _snd_timer {
3594 _unused: [u8; 0],
3595}
3596pub type snd_timer_t = _snd_timer;
3597extern "C" {
3598 pub fn snd_timer_query_open(
3599 handle: *mut *mut snd_timer_query_t,
3600 name: *const ::std::os::raw::c_char,
3601 mode: ::std::os::raw::c_int,
3602 ) -> ::std::os::raw::c_int;
3603}
3604extern "C" {
3605 pub fn snd_timer_query_open_lconf(
3606 handle: *mut *mut snd_timer_query_t,
3607 name: *const ::std::os::raw::c_char,
3608 mode: ::std::os::raw::c_int,
3609 lconf: *mut snd_config_t,
3610 ) -> ::std::os::raw::c_int;
3611}
3612extern "C" {
3613 pub fn snd_timer_query_close(handle: *mut snd_timer_query_t) -> ::std::os::raw::c_int;
3614}
3615extern "C" {
3616 pub fn snd_timer_query_next_device(
3617 handle: *mut snd_timer_query_t,
3618 tid: *mut snd_timer_id_t,
3619 ) -> ::std::os::raw::c_int;
3620}
3621extern "C" {
3622 pub fn snd_timer_query_info(
3623 handle: *mut snd_timer_query_t,
3624 info: *mut snd_timer_ginfo_t,
3625 ) -> ::std::os::raw::c_int;
3626}
3627extern "C" {
3628 pub fn snd_timer_query_params(
3629 handle: *mut snd_timer_query_t,
3630 params: *mut snd_timer_gparams_t,
3631 ) -> ::std::os::raw::c_int;
3632}
3633extern "C" {
3634 pub fn snd_timer_query_status(
3635 handle: *mut snd_timer_query_t,
3636 status: *mut snd_timer_gstatus_t,
3637 ) -> ::std::os::raw::c_int;
3638}
3639extern "C" {
3640 pub fn snd_timer_open(
3641 handle: *mut *mut snd_timer_t,
3642 name: *const ::std::os::raw::c_char,
3643 mode: ::std::os::raw::c_int,
3644 ) -> ::std::os::raw::c_int;
3645}
3646extern "C" {
3647 pub fn snd_timer_open_lconf(
3648 handle: *mut *mut snd_timer_t,
3649 name: *const ::std::os::raw::c_char,
3650 mode: ::std::os::raw::c_int,
3651 lconf: *mut snd_config_t,
3652 ) -> ::std::os::raw::c_int;
3653}
3654extern "C" {
3655 pub fn snd_timer_close(handle: *mut snd_timer_t) -> ::std::os::raw::c_int;
3656}
3657extern "C" {
3658 pub fn snd_async_add_timer_handler(
3659 handler: *mut *mut snd_async_handler_t,
3660 timer: *mut snd_timer_t,
3661 callback: snd_async_callback_t,
3662 private_data: *mut ::std::os::raw::c_void,
3663 ) -> ::std::os::raw::c_int;
3664}
3665extern "C" {
3666 pub fn snd_async_handler_get_timer(handler: *mut snd_async_handler_t) -> *mut snd_timer_t;
3667}
3668extern "C" {
3669 pub fn snd_timer_poll_descriptors_count(handle: *mut snd_timer_t) -> ::std::os::raw::c_int;
3670}
3671extern "C" {
3672 pub fn snd_timer_poll_descriptors(
3673 handle: *mut snd_timer_t,
3674 pfds: *mut pollfd,
3675 space: ::std::os::raw::c_uint,
3676 ) -> ::std::os::raw::c_int;
3677}
3678extern "C" {
3679 pub fn snd_timer_poll_descriptors_revents(
3680 timer: *mut snd_timer_t,
3681 pfds: *mut pollfd,
3682 nfds: ::std::os::raw::c_uint,
3683 revents: *mut ::std::os::raw::c_ushort,
3684 ) -> ::std::os::raw::c_int;
3685}
3686extern "C" {
3687 pub fn snd_timer_info(
3688 handle: *mut snd_timer_t,
3689 timer: *mut snd_timer_info_t,
3690 ) -> ::std::os::raw::c_int;
3691}
3692extern "C" {
3693 pub fn snd_timer_params(
3694 handle: *mut snd_timer_t,
3695 params: *mut snd_timer_params_t,
3696 ) -> ::std::os::raw::c_int;
3697}
3698extern "C" {
3699 pub fn snd_timer_status(
3700 handle: *mut snd_timer_t,
3701 status: *mut snd_timer_status_t,
3702 ) -> ::std::os::raw::c_int;
3703}
3704extern "C" {
3705 pub fn snd_timer_start(handle: *mut snd_timer_t) -> ::std::os::raw::c_int;
3706}
3707extern "C" {
3708 pub fn snd_timer_stop(handle: *mut snd_timer_t) -> ::std::os::raw::c_int;
3709}
3710extern "C" {
3711 pub fn snd_timer_continue(handle: *mut snd_timer_t) -> ::std::os::raw::c_int;
3712}
3713extern "C" {
3714 pub fn snd_timer_read(
3715 handle: *mut snd_timer_t,
3716 buffer: *mut ::std::os::raw::c_void,
3717 size: usize,
3718 ) -> isize;
3719}
3720extern "C" {
3721 pub fn snd_timer_id_sizeof() -> usize;
3722}
3723extern "C" {
3724 pub fn snd_timer_id_malloc(ptr: *mut *mut snd_timer_id_t) -> ::std::os::raw::c_int;
3725}
3726extern "C" {
3727 pub fn snd_timer_id_free(obj: *mut snd_timer_id_t);
3728}
3729extern "C" {
3730 pub fn snd_timer_id_copy(dst: *mut snd_timer_id_t, src: *const snd_timer_id_t);
3731}
3732extern "C" {
3733 pub fn snd_timer_id_set_class(id: *mut snd_timer_id_t, dev_class: ::std::os::raw::c_int);
3734}
3735extern "C" {
3736 pub fn snd_timer_id_get_class(id: *mut snd_timer_id_t) -> ::std::os::raw::c_int;
3737}
3738extern "C" {
3739 pub fn snd_timer_id_set_sclass(id: *mut snd_timer_id_t, dev_sclass: ::std::os::raw::c_int);
3740}
3741extern "C" {
3742 pub fn snd_timer_id_get_sclass(id: *mut snd_timer_id_t) -> ::std::os::raw::c_int;
3743}
3744extern "C" {
3745 pub fn snd_timer_id_set_card(id: *mut snd_timer_id_t, card: ::std::os::raw::c_int);
3746}
3747extern "C" {
3748 pub fn snd_timer_id_get_card(id: *mut snd_timer_id_t) -> ::std::os::raw::c_int;
3749}
3750extern "C" {
3751 pub fn snd_timer_id_set_device(id: *mut snd_timer_id_t, device: ::std::os::raw::c_int);
3752}
3753extern "C" {
3754 pub fn snd_timer_id_get_device(id: *mut snd_timer_id_t) -> ::std::os::raw::c_int;
3755}
3756extern "C" {
3757 pub fn snd_timer_id_set_subdevice(id: *mut snd_timer_id_t, subdevice: ::std::os::raw::c_int);
3758}
3759extern "C" {
3760 pub fn snd_timer_id_get_subdevice(id: *mut snd_timer_id_t) -> ::std::os::raw::c_int;
3761}
3762extern "C" {
3763 pub fn snd_timer_ginfo_sizeof() -> usize;
3764}
3765extern "C" {
3766 pub fn snd_timer_ginfo_malloc(ptr: *mut *mut snd_timer_ginfo_t) -> ::std::os::raw::c_int;
3767}
3768extern "C" {
3769 pub fn snd_timer_ginfo_free(obj: *mut snd_timer_ginfo_t);
3770}
3771extern "C" {
3772 pub fn snd_timer_ginfo_copy(dst: *mut snd_timer_ginfo_t, src: *const snd_timer_ginfo_t);
3773}
3774extern "C" {
3775 pub fn snd_timer_ginfo_set_tid(
3776 obj: *mut snd_timer_ginfo_t,
3777 tid: *mut snd_timer_id_t,
3778 ) -> ::std::os::raw::c_int;
3779}
3780extern "C" {
3781 pub fn snd_timer_ginfo_get_tid(obj: *mut snd_timer_ginfo_t) -> *mut snd_timer_id_t;
3782}
3783extern "C" {
3784 pub fn snd_timer_ginfo_get_flags(obj: *mut snd_timer_ginfo_t) -> ::std::os::raw::c_uint;
3785}
3786extern "C" {
3787 pub fn snd_timer_ginfo_get_card(obj: *mut snd_timer_ginfo_t) -> ::std::os::raw::c_int;
3788}
3789extern "C" {
3790 pub fn snd_timer_ginfo_get_id(obj: *mut snd_timer_ginfo_t) -> *mut ::std::os::raw::c_char;
3791}
3792extern "C" {
3793 pub fn snd_timer_ginfo_get_name(obj: *mut snd_timer_ginfo_t) -> *mut ::std::os::raw::c_char;
3794}
3795extern "C" {
3796 pub fn snd_timer_ginfo_get_resolution(obj: *mut snd_timer_ginfo_t) -> ::std::os::raw::c_ulong;
3797}
3798extern "C" {
3799 pub fn snd_timer_ginfo_get_resolution_min(
3800 obj: *mut snd_timer_ginfo_t,
3801 ) -> ::std::os::raw::c_ulong;
3802}
3803extern "C" {
3804 pub fn snd_timer_ginfo_get_resolution_max(
3805 obj: *mut snd_timer_ginfo_t,
3806 ) -> ::std::os::raw::c_ulong;
3807}
3808extern "C" {
3809 pub fn snd_timer_ginfo_get_clients(obj: *mut snd_timer_ginfo_t) -> ::std::os::raw::c_uint;
3810}
3811extern "C" {
3812 pub fn snd_timer_info_sizeof() -> usize;
3813}
3814extern "C" {
3815 pub fn snd_timer_info_malloc(ptr: *mut *mut snd_timer_info_t) -> ::std::os::raw::c_int;
3816}
3817extern "C" {
3818 pub fn snd_timer_info_free(obj: *mut snd_timer_info_t);
3819}
3820extern "C" {
3821 pub fn snd_timer_info_copy(dst: *mut snd_timer_info_t, src: *const snd_timer_info_t);
3822}
3823extern "C" {
3824 pub fn snd_timer_info_is_slave(info: *mut snd_timer_info_t) -> ::std::os::raw::c_int;
3825}
3826extern "C" {
3827 pub fn snd_timer_info_get_card(info: *mut snd_timer_info_t) -> ::std::os::raw::c_int;
3828}
3829extern "C" {
3830 pub fn snd_timer_info_get_id(info: *mut snd_timer_info_t) -> *const ::std::os::raw::c_char;
3831}
3832extern "C" {
3833 pub fn snd_timer_info_get_name(info: *mut snd_timer_info_t) -> *const ::std::os::raw::c_char;
3834}
3835extern "C" {
3836 pub fn snd_timer_info_get_resolution(info: *mut snd_timer_info_t) -> ::std::os::raw::c_long;
3837}
3838extern "C" {
3839 pub fn snd_timer_params_sizeof() -> usize;
3840}
3841extern "C" {
3842 pub fn snd_timer_params_malloc(ptr: *mut *mut snd_timer_params_t) -> ::std::os::raw::c_int;
3843}
3844extern "C" {
3845 pub fn snd_timer_params_free(obj: *mut snd_timer_params_t);
3846}
3847extern "C" {
3848 pub fn snd_timer_params_copy(dst: *mut snd_timer_params_t, src: *const snd_timer_params_t);
3849}
3850extern "C" {
3851 pub fn snd_timer_params_set_auto_start(
3852 params: *mut snd_timer_params_t,
3853 auto_start: ::std::os::raw::c_int,
3854 ) -> ::std::os::raw::c_int;
3855}
3856extern "C" {
3857 pub fn snd_timer_params_get_auto_start(
3858 params: *mut snd_timer_params_t,
3859 ) -> ::std::os::raw::c_int;
3860}
3861extern "C" {
3862 pub fn snd_timer_params_set_exclusive(
3863 params: *mut snd_timer_params_t,
3864 exclusive: ::std::os::raw::c_int,
3865 ) -> ::std::os::raw::c_int;
3866}
3867extern "C" {
3868 pub fn snd_timer_params_get_exclusive(params: *mut snd_timer_params_t)
3869 -> ::std::os::raw::c_int;
3870}
3871extern "C" {
3872 pub fn snd_timer_params_set_early_event(
3873 params: *mut snd_timer_params_t,
3874 early_event: ::std::os::raw::c_int,
3875 ) -> ::std::os::raw::c_int;
3876}
3877extern "C" {
3878 pub fn snd_timer_params_get_early_event(
3879 params: *mut snd_timer_params_t,
3880 ) -> ::std::os::raw::c_int;
3881}
3882extern "C" {
3883 pub fn snd_timer_params_set_ticks(
3884 params: *mut snd_timer_params_t,
3885 ticks: ::std::os::raw::c_long,
3886 );
3887}
3888extern "C" {
3889 pub fn snd_timer_params_get_ticks(params: *mut snd_timer_params_t) -> ::std::os::raw::c_long;
3890}
3891extern "C" {
3892 pub fn snd_timer_params_set_queue_size(
3893 params: *mut snd_timer_params_t,
3894 queue_size: ::std::os::raw::c_long,
3895 );
3896}
3897extern "C" {
3898 pub fn snd_timer_params_get_queue_size(
3899 params: *mut snd_timer_params_t,
3900 ) -> ::std::os::raw::c_long;
3901}
3902extern "C" {
3903 pub fn snd_timer_params_set_filter(
3904 params: *mut snd_timer_params_t,
3905 filter: ::std::os::raw::c_uint,
3906 );
3907}
3908extern "C" {
3909 pub fn snd_timer_params_get_filter(params: *mut snd_timer_params_t) -> ::std::os::raw::c_uint;
3910}
3911extern "C" {
3912 pub fn snd_timer_status_sizeof() -> usize;
3913}
3914extern "C" {
3915 pub fn snd_timer_status_malloc(ptr: *mut *mut snd_timer_status_t) -> ::std::os::raw::c_int;
3916}
3917extern "C" {
3918 pub fn snd_timer_status_free(obj: *mut snd_timer_status_t);
3919}
3920extern "C" {
3921 pub fn snd_timer_status_copy(dst: *mut snd_timer_status_t, src: *const snd_timer_status_t);
3922}
3923extern "C" {
3924 pub fn snd_timer_status_get_timestamp(status: *mut snd_timer_status_t) -> snd_htimestamp_t;
3925}
3926extern "C" {
3927 pub fn snd_timer_status_get_resolution(
3928 status: *mut snd_timer_status_t,
3929 ) -> ::std::os::raw::c_long;
3930}
3931extern "C" {
3932 pub fn snd_timer_status_get_lost(status: *mut snd_timer_status_t) -> ::std::os::raw::c_long;
3933}
3934extern "C" {
3935 pub fn snd_timer_status_get_overrun(status: *mut snd_timer_status_t) -> ::std::os::raw::c_long;
3936}
3937extern "C" {
3938 pub fn snd_timer_status_get_queue(status: *mut snd_timer_status_t) -> ::std::os::raw::c_long;
3939}
3940extern "C" {
3941 pub fn snd_timer_info_get_ticks(info: *mut snd_timer_info_t) -> ::std::os::raw::c_long;
3942}
3943#[repr(C)]
3944#[derive(Debug, Copy, Clone)]
3945pub struct _snd_hwdep_info {
3946 _unused: [u8; 0],
3947}
3948pub type snd_hwdep_info_t = _snd_hwdep_info;
3949#[repr(C)]
3950#[derive(Debug, Copy, Clone)]
3951pub struct _snd_hwdep_dsp_status {
3952 _unused: [u8; 0],
3953}
3954pub type snd_hwdep_dsp_status_t = _snd_hwdep_dsp_status;
3955#[repr(C)]
3956#[derive(Debug, Copy, Clone)]
3957pub struct _snd_hwdep_dsp_image {
3958 _unused: [u8; 0],
3959}
3960pub type snd_hwdep_dsp_image_t = _snd_hwdep_dsp_image;
3961pub const SND_HWDEP_IFACE_OPL2: _snd_hwdep_iface = 0;
3962pub const SND_HWDEP_IFACE_OPL3: _snd_hwdep_iface = 1;
3963pub const SND_HWDEP_IFACE_OPL4: _snd_hwdep_iface = 2;
3964pub const SND_HWDEP_IFACE_SB16CSP: _snd_hwdep_iface = 3;
3965pub const SND_HWDEP_IFACE_EMU10K1: _snd_hwdep_iface = 4;
3966pub const SND_HWDEP_IFACE_YSS225: _snd_hwdep_iface = 5;
3967pub const SND_HWDEP_IFACE_ICS2115: _snd_hwdep_iface = 6;
3968pub const SND_HWDEP_IFACE_SSCAPE: _snd_hwdep_iface = 7;
3969pub const SND_HWDEP_IFACE_VX: _snd_hwdep_iface = 8;
3970pub const SND_HWDEP_IFACE_MIXART: _snd_hwdep_iface = 9;
3971pub const SND_HWDEP_IFACE_USX2Y: _snd_hwdep_iface = 10;
3972pub const SND_HWDEP_IFACE_EMUX_WAVETABLE: _snd_hwdep_iface = 11;
3973pub const SND_HWDEP_IFACE_BLUETOOTH: _snd_hwdep_iface = 12;
3974pub const SND_HWDEP_IFACE_USX2Y_PCM: _snd_hwdep_iface = 13;
3975pub const SND_HWDEP_IFACE_PCXHR: _snd_hwdep_iface = 14;
3976pub const SND_HWDEP_IFACE_SB_RC: _snd_hwdep_iface = 15;
3977pub const SND_HWDEP_IFACE_HDA: _snd_hwdep_iface = 16;
3978pub const SND_HWDEP_IFACE_USB_STREAM: _snd_hwdep_iface = 17;
3979pub const SND_HWDEP_IFACE_FW_DICE: _snd_hwdep_iface = 18;
3980pub const SND_HWDEP_IFACE_FW_FIREWORKS: _snd_hwdep_iface = 19;
3981pub const SND_HWDEP_IFACE_FW_BEBOB: _snd_hwdep_iface = 20;
3982pub const SND_HWDEP_IFACE_FW_OXFW: _snd_hwdep_iface = 21;
3983pub const SND_HWDEP_IFACE_FW_DIGI00X: _snd_hwdep_iface = 22;
3984pub const SND_HWDEP_IFACE_FW_TASCAM: _snd_hwdep_iface = 23;
3985pub const SND_HWDEP_IFACE_LINE6: _snd_hwdep_iface = 24;
3986pub const SND_HWDEP_IFACE_FW_MOTU: _snd_hwdep_iface = 25;
3987pub const SND_HWDEP_IFACE_FW_FIREFACE: _snd_hwdep_iface = 26;
3988pub const SND_HWDEP_IFACE_LAST: _snd_hwdep_iface = 26;
3989pub type _snd_hwdep_iface = ::std::os::raw::c_uint;
3990pub use self::_snd_hwdep_iface as snd_hwdep_iface_t;
3991pub const SND_HWDEP_TYPE_HW: _snd_hwdep_type = 0;
3992pub const SND_HWDEP_TYPE_SHM: _snd_hwdep_type = 1;
3993pub const SND_HWDEP_TYPE_INET: _snd_hwdep_type = 2;
3994pub type _snd_hwdep_type = ::std::os::raw::c_uint;
3995pub use self::_snd_hwdep_type as snd_hwdep_type_t;
3996#[repr(C)]
3997#[derive(Debug, Copy, Clone)]
3998pub struct _snd_hwdep {
3999 _unused: [u8; 0],
4000}
4001pub type snd_hwdep_t = _snd_hwdep;
4002extern "C" {
4003 pub fn snd_hwdep_open(
4004 hwdep: *mut *mut snd_hwdep_t,
4005 name: *const ::std::os::raw::c_char,
4006 mode: ::std::os::raw::c_int,
4007 ) -> ::std::os::raw::c_int;
4008}
4009extern "C" {
4010 pub fn snd_hwdep_close(hwdep: *mut snd_hwdep_t) -> ::std::os::raw::c_int;
4011}
4012extern "C" {
4013 pub fn snd_hwdep_poll_descriptors(
4014 hwdep: *mut snd_hwdep_t,
4015 pfds: *mut pollfd,
4016 space: ::std::os::raw::c_uint,
4017 ) -> ::std::os::raw::c_int;
4018}
4019extern "C" {
4020 pub fn snd_hwdep_poll_descriptors_count(hwdep: *mut snd_hwdep_t) -> ::std::os::raw::c_int;
4021}
4022extern "C" {
4023 pub fn snd_hwdep_poll_descriptors_revents(
4024 hwdep: *mut snd_hwdep_t,
4025 pfds: *mut pollfd,
4026 nfds: ::std::os::raw::c_uint,
4027 revents: *mut ::std::os::raw::c_ushort,
4028 ) -> ::std::os::raw::c_int;
4029}
4030extern "C" {
4031 pub fn snd_hwdep_nonblock(
4032 hwdep: *mut snd_hwdep_t,
4033 nonblock: ::std::os::raw::c_int,
4034 ) -> ::std::os::raw::c_int;
4035}
4036extern "C" {
4037 pub fn snd_hwdep_info(
4038 hwdep: *mut snd_hwdep_t,
4039 info: *mut snd_hwdep_info_t,
4040 ) -> ::std::os::raw::c_int;
4041}
4042extern "C" {
4043 pub fn snd_hwdep_dsp_status(
4044 hwdep: *mut snd_hwdep_t,
4045 status: *mut snd_hwdep_dsp_status_t,
4046 ) -> ::std::os::raw::c_int;
4047}
4048extern "C" {
4049 pub fn snd_hwdep_dsp_load(
4050 hwdep: *mut snd_hwdep_t,
4051 block: *mut snd_hwdep_dsp_image_t,
4052 ) -> ::std::os::raw::c_int;
4053}
4054extern "C" {
4055 pub fn snd_hwdep_ioctl(
4056 hwdep: *mut snd_hwdep_t,
4057 request: ::std::os::raw::c_uint,
4058 arg: *mut ::std::os::raw::c_void,
4059 ) -> ::std::os::raw::c_int;
4060}
4061extern "C" {
4062 pub fn snd_hwdep_write(
4063 hwdep: *mut snd_hwdep_t,
4064 buffer: *const ::std::os::raw::c_void,
4065 size: usize,
4066 ) -> isize;
4067}
4068extern "C" {
4069 pub fn snd_hwdep_read(
4070 hwdep: *mut snd_hwdep_t,
4071 buffer: *mut ::std::os::raw::c_void,
4072 size: usize,
4073 ) -> isize;
4074}
4075extern "C" {
4076 pub fn snd_hwdep_info_sizeof() -> usize;
4077}
4078extern "C" {
4079 pub fn snd_hwdep_info_malloc(ptr: *mut *mut snd_hwdep_info_t) -> ::std::os::raw::c_int;
4080}
4081extern "C" {
4082 pub fn snd_hwdep_info_free(obj: *mut snd_hwdep_info_t);
4083}
4084extern "C" {
4085 pub fn snd_hwdep_info_copy(dst: *mut snd_hwdep_info_t, src: *const snd_hwdep_info_t);
4086}
4087extern "C" {
4088 pub fn snd_hwdep_info_get_device(obj: *const snd_hwdep_info_t) -> ::std::os::raw::c_uint;
4089}
4090extern "C" {
4091 pub fn snd_hwdep_info_get_card(obj: *const snd_hwdep_info_t) -> ::std::os::raw::c_int;
4092}
4093extern "C" {
4094 pub fn snd_hwdep_info_get_id(obj: *const snd_hwdep_info_t) -> *const ::std::os::raw::c_char;
4095}
4096extern "C" {
4097 pub fn snd_hwdep_info_get_name(obj: *const snd_hwdep_info_t) -> *const ::std::os::raw::c_char;
4098}
4099extern "C" {
4100 pub fn snd_hwdep_info_get_iface(obj: *const snd_hwdep_info_t) -> snd_hwdep_iface_t;
4101}
4102extern "C" {
4103 pub fn snd_hwdep_info_set_device(obj: *mut snd_hwdep_info_t, val: ::std::os::raw::c_uint);
4104}
4105extern "C" {
4106 pub fn snd_hwdep_dsp_status_sizeof() -> usize;
4107}
4108extern "C" {
4109 pub fn snd_hwdep_dsp_status_malloc(
4110 ptr: *mut *mut snd_hwdep_dsp_status_t,
4111 ) -> ::std::os::raw::c_int;
4112}
4113extern "C" {
4114 pub fn snd_hwdep_dsp_status_free(obj: *mut snd_hwdep_dsp_status_t);
4115}
4116extern "C" {
4117 pub fn snd_hwdep_dsp_status_copy(
4118 dst: *mut snd_hwdep_dsp_status_t,
4119 src: *const snd_hwdep_dsp_status_t,
4120 );
4121}
4122extern "C" {
4123 pub fn snd_hwdep_dsp_status_get_version(
4124 obj: *const snd_hwdep_dsp_status_t,
4125 ) -> ::std::os::raw::c_uint;
4126}
4127extern "C" {
4128 pub fn snd_hwdep_dsp_status_get_id(
4129 obj: *const snd_hwdep_dsp_status_t,
4130 ) -> *const ::std::os::raw::c_char;
4131}
4132extern "C" {
4133 pub fn snd_hwdep_dsp_status_get_num_dsps(
4134 obj: *const snd_hwdep_dsp_status_t,
4135 ) -> ::std::os::raw::c_uint;
4136}
4137extern "C" {
4138 pub fn snd_hwdep_dsp_status_get_dsp_loaded(
4139 obj: *const snd_hwdep_dsp_status_t,
4140 ) -> ::std::os::raw::c_uint;
4141}
4142extern "C" {
4143 pub fn snd_hwdep_dsp_status_get_chip_ready(
4144 obj: *const snd_hwdep_dsp_status_t,
4145 ) -> ::std::os::raw::c_uint;
4146}
4147extern "C" {
4148 pub fn snd_hwdep_dsp_image_sizeof() -> usize;
4149}
4150extern "C" {
4151 pub fn snd_hwdep_dsp_image_malloc(
4152 ptr: *mut *mut snd_hwdep_dsp_image_t,
4153 ) -> ::std::os::raw::c_int;
4154}
4155extern "C" {
4156 pub fn snd_hwdep_dsp_image_free(obj: *mut snd_hwdep_dsp_image_t);
4157}
4158extern "C" {
4159 pub fn snd_hwdep_dsp_image_copy(
4160 dst: *mut snd_hwdep_dsp_image_t,
4161 src: *const snd_hwdep_dsp_image_t,
4162 );
4163}
4164extern "C" {
4165 pub fn snd_hwdep_dsp_image_get_index(
4166 obj: *const snd_hwdep_dsp_image_t,
4167 ) -> ::std::os::raw::c_uint;
4168}
4169extern "C" {
4170 pub fn snd_hwdep_dsp_image_get_name(
4171 obj: *const snd_hwdep_dsp_image_t,
4172 ) -> *const ::std::os::raw::c_char;
4173}
4174extern "C" {
4175 pub fn snd_hwdep_dsp_image_get_image(
4176 obj: *const snd_hwdep_dsp_image_t,
4177 ) -> *const ::std::os::raw::c_void;
4178}
4179extern "C" {
4180 pub fn snd_hwdep_dsp_image_get_length(obj: *const snd_hwdep_dsp_image_t) -> usize;
4181}
4182extern "C" {
4183 pub fn snd_hwdep_dsp_image_set_index(
4184 obj: *mut snd_hwdep_dsp_image_t,
4185 _index: ::std::os::raw::c_uint,
4186 );
4187}
4188extern "C" {
4189 pub fn snd_hwdep_dsp_image_set_name(
4190 obj: *mut snd_hwdep_dsp_image_t,
4191 name: *const ::std::os::raw::c_char,
4192 );
4193}
4194extern "C" {
4195 pub fn snd_hwdep_dsp_image_set_image(
4196 obj: *mut snd_hwdep_dsp_image_t,
4197 buffer: *mut ::std::os::raw::c_void,
4198 );
4199}
4200extern "C" {
4201 pub fn snd_hwdep_dsp_image_set_length(obj: *mut snd_hwdep_dsp_image_t, length: usize);
4202}
4203#[repr(C)]
4204#[derive(Copy, Clone)]
4205pub struct snd_aes_iec958 {
4206 pub status: [::std::os::raw::c_uchar; 24usize],
4207 pub subcode: [::std::os::raw::c_uchar; 147usize],
4208 pub pad: ::std::os::raw::c_uchar,
4209 pub dig_subframe: [::std::os::raw::c_uchar; 4usize],
4210}
4211pub type snd_aes_iec958_t = snd_aes_iec958;
4212#[repr(C)]
4213#[derive(Debug, Copy, Clone)]
4214pub struct _snd_ctl_card_info {
4215 _unused: [u8; 0],
4216}
4217pub type snd_ctl_card_info_t = _snd_ctl_card_info;
4218#[repr(C)]
4219#[derive(Debug, Copy, Clone)]
4220pub struct _snd_ctl_elem_id {
4221 _unused: [u8; 0],
4222}
4223pub type snd_ctl_elem_id_t = _snd_ctl_elem_id;
4224#[repr(C)]
4225#[derive(Debug, Copy, Clone)]
4226pub struct _snd_ctl_elem_list {
4227 _unused: [u8; 0],
4228}
4229pub type snd_ctl_elem_list_t = _snd_ctl_elem_list;
4230#[repr(C)]
4231#[derive(Debug, Copy, Clone)]
4232pub struct _snd_ctl_elem_info {
4233 _unused: [u8; 0],
4234}
4235pub type snd_ctl_elem_info_t = _snd_ctl_elem_info;
4236#[repr(C)]
4237#[derive(Debug, Copy, Clone)]
4238pub struct _snd_ctl_elem_value {
4239 _unused: [u8; 0],
4240}
4241pub type snd_ctl_elem_value_t = _snd_ctl_elem_value;
4242#[repr(C)]
4243#[derive(Debug, Copy, Clone)]
4244pub struct _snd_ctl_event {
4245 _unused: [u8; 0],
4246}
4247pub type snd_ctl_event_t = _snd_ctl_event;
4248pub const SND_CTL_ELEM_TYPE_NONE: _snd_ctl_elem_type = 0;
4249pub const SND_CTL_ELEM_TYPE_BOOLEAN: _snd_ctl_elem_type = 1;
4250pub const SND_CTL_ELEM_TYPE_INTEGER: _snd_ctl_elem_type = 2;
4251pub const SND_CTL_ELEM_TYPE_ENUMERATED: _snd_ctl_elem_type = 3;
4252pub const SND_CTL_ELEM_TYPE_BYTES: _snd_ctl_elem_type = 4;
4253pub const SND_CTL_ELEM_TYPE_IEC958: _snd_ctl_elem_type = 5;
4254pub const SND_CTL_ELEM_TYPE_INTEGER64: _snd_ctl_elem_type = 6;
4255pub const SND_CTL_ELEM_TYPE_LAST: _snd_ctl_elem_type = 6;
4256pub type _snd_ctl_elem_type = ::std::os::raw::c_uint;
4257pub use self::_snd_ctl_elem_type as snd_ctl_elem_type_t;
4258pub const SND_CTL_ELEM_IFACE_CARD: _snd_ctl_elem_iface = 0;
4259pub const SND_CTL_ELEM_IFACE_HWDEP: _snd_ctl_elem_iface = 1;
4260pub const SND_CTL_ELEM_IFACE_MIXER: _snd_ctl_elem_iface = 2;
4261pub const SND_CTL_ELEM_IFACE_PCM: _snd_ctl_elem_iface = 3;
4262pub const SND_CTL_ELEM_IFACE_RAWMIDI: _snd_ctl_elem_iface = 4;
4263pub const SND_CTL_ELEM_IFACE_TIMER: _snd_ctl_elem_iface = 5;
4264pub const SND_CTL_ELEM_IFACE_SEQUENCER: _snd_ctl_elem_iface = 6;
4265pub const SND_CTL_ELEM_IFACE_LAST: _snd_ctl_elem_iface = 6;
4266pub type _snd_ctl_elem_iface = ::std::os::raw::c_uint;
4267pub use self::_snd_ctl_elem_iface as snd_ctl_elem_iface_t;
4268pub const SND_CTL_EVENT_ELEM: _snd_ctl_event_type = 0;
4269pub const SND_CTL_EVENT_LAST: _snd_ctl_event_type = 0;
4270pub type _snd_ctl_event_type = ::std::os::raw::c_uint;
4271pub use self::_snd_ctl_event_type as snd_ctl_event_type_t;
4272pub const SND_CTL_TYPE_HW: _snd_ctl_type = 0;
4273pub const SND_CTL_TYPE_SHM: _snd_ctl_type = 1;
4274pub const SND_CTL_TYPE_INET: _snd_ctl_type = 2;
4275pub const SND_CTL_TYPE_EXT: _snd_ctl_type = 3;
4276pub type _snd_ctl_type = ::std::os::raw::c_uint;
4277pub use self::_snd_ctl_type as snd_ctl_type_t;
4278#[repr(C)]
4279#[derive(Debug, Copy, Clone)]
4280pub struct _snd_ctl {
4281 _unused: [u8; 0],
4282}
4283pub type snd_ctl_t = _snd_ctl;
4284#[repr(C)]
4285#[derive(Debug, Copy, Clone)]
4286pub struct _snd_sctl {
4287 _unused: [u8; 0],
4288}
4289pub type snd_sctl_t = _snd_sctl;
4290extern "C" {
4291 pub fn snd_card_load(card: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4292}
4293extern "C" {
4294 pub fn snd_card_next(card: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4295}
4296extern "C" {
4297 pub fn snd_card_get_index(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4298}
4299extern "C" {
4300 pub fn snd_card_get_name(
4301 card: ::std::os::raw::c_int,
4302 name: *mut *mut ::std::os::raw::c_char,
4303 ) -> ::std::os::raw::c_int;
4304}
4305extern "C" {
4306 pub fn snd_card_get_longname(
4307 card: ::std::os::raw::c_int,
4308 name: *mut *mut ::std::os::raw::c_char,
4309 ) -> ::std::os::raw::c_int;
4310}
4311extern "C" {
4312 pub fn snd_device_name_hint(
4313 card: ::std::os::raw::c_int,
4314 iface: *const ::std::os::raw::c_char,
4315 hints: *mut *mut *mut ::std::os::raw::c_void,
4316 ) -> ::std::os::raw::c_int;
4317}
4318extern "C" {
4319 pub fn snd_device_name_free_hint(
4320 hints: *mut *mut ::std::os::raw::c_void,
4321 ) -> ::std::os::raw::c_int;
4322}
4323extern "C" {
4324 pub fn snd_device_name_get_hint(
4325 hint: *const ::std::os::raw::c_void,
4326 id: *const ::std::os::raw::c_char,
4327 ) -> *mut ::std::os::raw::c_char;
4328}
4329extern "C" {
4330 pub fn snd_ctl_open(
4331 ctl: *mut *mut snd_ctl_t,
4332 name: *const ::std::os::raw::c_char,
4333 mode: ::std::os::raw::c_int,
4334 ) -> ::std::os::raw::c_int;
4335}
4336extern "C" {
4337 pub fn snd_ctl_open_lconf(
4338 ctl: *mut *mut snd_ctl_t,
4339 name: *const ::std::os::raw::c_char,
4340 mode: ::std::os::raw::c_int,
4341 lconf: *mut snd_config_t,
4342 ) -> ::std::os::raw::c_int;
4343}
4344extern "C" {
4345 pub fn snd_ctl_open_fallback(
4346 ctl: *mut *mut snd_ctl_t,
4347 root: *mut snd_config_t,
4348 name: *const ::std::os::raw::c_char,
4349 orig_name: *const ::std::os::raw::c_char,
4350 mode: ::std::os::raw::c_int,
4351 ) -> ::std::os::raw::c_int;
4352}
4353extern "C" {
4354 pub fn snd_ctl_close(ctl: *mut snd_ctl_t) -> ::std::os::raw::c_int;
4355}
4356extern "C" {
4357 pub fn snd_ctl_nonblock(
4358 ctl: *mut snd_ctl_t,
4359 nonblock: ::std::os::raw::c_int,
4360 ) -> ::std::os::raw::c_int;
4361}
4362extern "C" {
4363 pub fn snd_async_add_ctl_handler(
4364 handler: *mut *mut snd_async_handler_t,
4365 ctl: *mut snd_ctl_t,
4366 callback: snd_async_callback_t,
4367 private_data: *mut ::std::os::raw::c_void,
4368 ) -> ::std::os::raw::c_int;
4369}
4370extern "C" {
4371 pub fn snd_async_handler_get_ctl(handler: *mut snd_async_handler_t) -> *mut snd_ctl_t;
4372}
4373extern "C" {
4374 pub fn snd_ctl_poll_descriptors_count(ctl: *mut snd_ctl_t) -> ::std::os::raw::c_int;
4375}
4376extern "C" {
4377 pub fn snd_ctl_poll_descriptors(
4378 ctl: *mut snd_ctl_t,
4379 pfds: *mut pollfd,
4380 space: ::std::os::raw::c_uint,
4381 ) -> ::std::os::raw::c_int;
4382}
4383extern "C" {
4384 pub fn snd_ctl_poll_descriptors_revents(
4385 ctl: *mut snd_ctl_t,
4386 pfds: *mut pollfd,
4387 nfds: ::std::os::raw::c_uint,
4388 revents: *mut ::std::os::raw::c_ushort,
4389 ) -> ::std::os::raw::c_int;
4390}
4391extern "C" {
4392 pub fn snd_ctl_subscribe_events(
4393 ctl: *mut snd_ctl_t,
4394 subscribe: ::std::os::raw::c_int,
4395 ) -> ::std::os::raw::c_int;
4396}
4397extern "C" {
4398 pub fn snd_ctl_card_info(
4399 ctl: *mut snd_ctl_t,
4400 info: *mut snd_ctl_card_info_t,
4401 ) -> ::std::os::raw::c_int;
4402}
4403extern "C" {
4404 pub fn snd_ctl_elem_list(
4405 ctl: *mut snd_ctl_t,
4406 list: *mut snd_ctl_elem_list_t,
4407 ) -> ::std::os::raw::c_int;
4408}
4409extern "C" {
4410 pub fn snd_ctl_elem_info(
4411 ctl: *mut snd_ctl_t,
4412 info: *mut snd_ctl_elem_info_t,
4413 ) -> ::std::os::raw::c_int;
4414}
4415extern "C" {
4416 pub fn snd_ctl_elem_read(
4417 ctl: *mut snd_ctl_t,
4418 data: *mut snd_ctl_elem_value_t,
4419 ) -> ::std::os::raw::c_int;
4420}
4421extern "C" {
4422 pub fn snd_ctl_elem_write(
4423 ctl: *mut snd_ctl_t,
4424 data: *mut snd_ctl_elem_value_t,
4425 ) -> ::std::os::raw::c_int;
4426}
4427extern "C" {
4428 pub fn snd_ctl_elem_lock(
4429 ctl: *mut snd_ctl_t,
4430 id: *mut snd_ctl_elem_id_t,
4431 ) -> ::std::os::raw::c_int;
4432}
4433extern "C" {
4434 pub fn snd_ctl_elem_unlock(
4435 ctl: *mut snd_ctl_t,
4436 id: *mut snd_ctl_elem_id_t,
4437 ) -> ::std::os::raw::c_int;
4438}
4439extern "C" {
4440 pub fn snd_ctl_elem_tlv_read(
4441 ctl: *mut snd_ctl_t,
4442 id: *const snd_ctl_elem_id_t,
4443 tlv: *mut ::std::os::raw::c_uint,
4444 tlv_size: ::std::os::raw::c_uint,
4445 ) -> ::std::os::raw::c_int;
4446}
4447extern "C" {
4448 pub fn snd_ctl_elem_tlv_write(
4449 ctl: *mut snd_ctl_t,
4450 id: *const snd_ctl_elem_id_t,
4451 tlv: *const ::std::os::raw::c_uint,
4452 ) -> ::std::os::raw::c_int;
4453}
4454extern "C" {
4455 pub fn snd_ctl_elem_tlv_command(
4456 ctl: *mut snd_ctl_t,
4457 id: *const snd_ctl_elem_id_t,
4458 tlv: *const ::std::os::raw::c_uint,
4459 ) -> ::std::os::raw::c_int;
4460}
4461extern "C" {
4462 pub fn snd_ctl_hwdep_next_device(
4463 ctl: *mut snd_ctl_t,
4464 device: *mut ::std::os::raw::c_int,
4465 ) -> ::std::os::raw::c_int;
4466}
4467extern "C" {
4468 pub fn snd_ctl_hwdep_info(
4469 ctl: *mut snd_ctl_t,
4470 info: *mut snd_hwdep_info_t,
4471 ) -> ::std::os::raw::c_int;
4472}
4473extern "C" {
4474 pub fn snd_ctl_pcm_next_device(
4475 ctl: *mut snd_ctl_t,
4476 device: *mut ::std::os::raw::c_int,
4477 ) -> ::std::os::raw::c_int;
4478}
4479extern "C" {
4480 pub fn snd_ctl_pcm_info(
4481 ctl: *mut snd_ctl_t,
4482 info: *mut snd_pcm_info_t,
4483 ) -> ::std::os::raw::c_int;
4484}
4485extern "C" {
4486 pub fn snd_ctl_pcm_prefer_subdevice(
4487 ctl: *mut snd_ctl_t,
4488 subdev: ::std::os::raw::c_int,
4489 ) -> ::std::os::raw::c_int;
4490}
4491extern "C" {
4492 pub fn snd_ctl_rawmidi_next_device(
4493 ctl: *mut snd_ctl_t,
4494 device: *mut ::std::os::raw::c_int,
4495 ) -> ::std::os::raw::c_int;
4496}
4497extern "C" {
4498 pub fn snd_ctl_rawmidi_info(
4499 ctl: *mut snd_ctl_t,
4500 info: *mut snd_rawmidi_info_t,
4501 ) -> ::std::os::raw::c_int;
4502}
4503extern "C" {
4504 pub fn snd_ctl_rawmidi_prefer_subdevice(
4505 ctl: *mut snd_ctl_t,
4506 subdev: ::std::os::raw::c_int,
4507 ) -> ::std::os::raw::c_int;
4508}
4509extern "C" {
4510 pub fn snd_ctl_set_power_state(
4511 ctl: *mut snd_ctl_t,
4512 state: ::std::os::raw::c_uint,
4513 ) -> ::std::os::raw::c_int;
4514}
4515extern "C" {
4516 pub fn snd_ctl_get_power_state(
4517 ctl: *mut snd_ctl_t,
4518 state: *mut ::std::os::raw::c_uint,
4519 ) -> ::std::os::raw::c_int;
4520}
4521extern "C" {
4522 pub fn snd_ctl_read(ctl: *mut snd_ctl_t, event: *mut snd_ctl_event_t) -> ::std::os::raw::c_int;
4523}
4524extern "C" {
4525 pub fn snd_ctl_wait(
4526 ctl: *mut snd_ctl_t,
4527 timeout: ::std::os::raw::c_int,
4528 ) -> ::std::os::raw::c_int;
4529}
4530extern "C" {
4531 pub fn snd_ctl_name(ctl: *mut snd_ctl_t) -> *const ::std::os::raw::c_char;
4532}
4533extern "C" {
4534 pub fn snd_ctl_type(ctl: *mut snd_ctl_t) -> snd_ctl_type_t;
4535}
4536extern "C" {
4537 pub fn snd_ctl_elem_type_name(type_: snd_ctl_elem_type_t) -> *const ::std::os::raw::c_char;
4538}
4539extern "C" {
4540 pub fn snd_ctl_elem_iface_name(iface: snd_ctl_elem_iface_t) -> *const ::std::os::raw::c_char;
4541}
4542extern "C" {
4543 pub fn snd_ctl_event_type_name(type_: snd_ctl_event_type_t) -> *const ::std::os::raw::c_char;
4544}
4545extern "C" {
4546 pub fn snd_ctl_event_elem_get_mask(obj: *const snd_ctl_event_t) -> ::std::os::raw::c_uint;
4547}
4548extern "C" {
4549 pub fn snd_ctl_event_elem_get_numid(obj: *const snd_ctl_event_t) -> ::std::os::raw::c_uint;
4550}
4551extern "C" {
4552 pub fn snd_ctl_event_elem_get_id(obj: *const snd_ctl_event_t, ptr: *mut snd_ctl_elem_id_t);
4553}
4554extern "C" {
4555 pub fn snd_ctl_event_elem_get_interface(obj: *const snd_ctl_event_t) -> snd_ctl_elem_iface_t;
4556}
4557extern "C" {
4558 pub fn snd_ctl_event_elem_get_device(obj: *const snd_ctl_event_t) -> ::std::os::raw::c_uint;
4559}
4560extern "C" {
4561 pub fn snd_ctl_event_elem_get_subdevice(obj: *const snd_ctl_event_t) -> ::std::os::raw::c_uint;
4562}
4563extern "C" {
4564 pub fn snd_ctl_event_elem_get_name(
4565 obj: *const snd_ctl_event_t,
4566 ) -> *const ::std::os::raw::c_char;
4567}
4568extern "C" {
4569 pub fn snd_ctl_event_elem_get_index(obj: *const snd_ctl_event_t) -> ::std::os::raw::c_uint;
4570}
4571extern "C" {
4572 pub fn snd_ctl_elem_list_alloc_space(
4573 obj: *mut snd_ctl_elem_list_t,
4574 entries: ::std::os::raw::c_uint,
4575 ) -> ::std::os::raw::c_int;
4576}
4577extern "C" {
4578 pub fn snd_ctl_elem_list_free_space(obj: *mut snd_ctl_elem_list_t);
4579}
4580extern "C" {
4581 pub fn snd_ctl_ascii_elem_id_get(id: *mut snd_ctl_elem_id_t) -> *mut ::std::os::raw::c_char;
4582}
4583extern "C" {
4584 pub fn snd_ctl_ascii_elem_id_parse(
4585 dst: *mut snd_ctl_elem_id_t,
4586 str_: *const ::std::os::raw::c_char,
4587 ) -> ::std::os::raw::c_int;
4588}
4589extern "C" {
4590 pub fn snd_ctl_ascii_value_parse(
4591 handle: *mut snd_ctl_t,
4592 dst: *mut snd_ctl_elem_value_t,
4593 info: *mut snd_ctl_elem_info_t,
4594 value: *const ::std::os::raw::c_char,
4595 ) -> ::std::os::raw::c_int;
4596}
4597extern "C" {
4598 pub fn snd_ctl_elem_id_sizeof() -> usize;
4599}
4600extern "C" {
4601 pub fn snd_ctl_elem_id_malloc(ptr: *mut *mut snd_ctl_elem_id_t) -> ::std::os::raw::c_int;
4602}
4603extern "C" {
4604 pub fn snd_ctl_elem_id_free(obj: *mut snd_ctl_elem_id_t);
4605}
4606extern "C" {
4607 pub fn snd_ctl_elem_id_clear(obj: *mut snd_ctl_elem_id_t);
4608}
4609extern "C" {
4610 pub fn snd_ctl_elem_id_copy(dst: *mut snd_ctl_elem_id_t, src: *const snd_ctl_elem_id_t);
4611}
4612extern "C" {
4613 pub fn snd_ctl_elem_id_get_numid(obj: *const snd_ctl_elem_id_t) -> ::std::os::raw::c_uint;
4614}
4615extern "C" {
4616 pub fn snd_ctl_elem_id_get_interface(obj: *const snd_ctl_elem_id_t) -> snd_ctl_elem_iface_t;
4617}
4618extern "C" {
4619 pub fn snd_ctl_elem_id_get_device(obj: *const snd_ctl_elem_id_t) -> ::std::os::raw::c_uint;
4620}
4621extern "C" {
4622 pub fn snd_ctl_elem_id_get_subdevice(obj: *const snd_ctl_elem_id_t) -> ::std::os::raw::c_uint;
4623}
4624extern "C" {
4625 pub fn snd_ctl_elem_id_get_name(obj: *const snd_ctl_elem_id_t)
4626 -> *const ::std::os::raw::c_char;
4627}
4628extern "C" {
4629 pub fn snd_ctl_elem_id_get_index(obj: *const snd_ctl_elem_id_t) -> ::std::os::raw::c_uint;
4630}
4631extern "C" {
4632 pub fn snd_ctl_elem_id_set_numid(obj: *mut snd_ctl_elem_id_t, val: ::std::os::raw::c_uint);
4633}
4634extern "C" {
4635 pub fn snd_ctl_elem_id_set_interface(obj: *mut snd_ctl_elem_id_t, val: snd_ctl_elem_iface_t);
4636}
4637extern "C" {
4638 pub fn snd_ctl_elem_id_set_device(obj: *mut snd_ctl_elem_id_t, val: ::std::os::raw::c_uint);
4639}
4640extern "C" {
4641 pub fn snd_ctl_elem_id_set_subdevice(obj: *mut snd_ctl_elem_id_t, val: ::std::os::raw::c_uint);
4642}
4643extern "C" {
4644 pub fn snd_ctl_elem_id_set_name(
4645 obj: *mut snd_ctl_elem_id_t,
4646 val: *const ::std::os::raw::c_char,
4647 );
4648}
4649extern "C" {
4650 pub fn snd_ctl_elem_id_set_index(obj: *mut snd_ctl_elem_id_t, val: ::std::os::raw::c_uint);
4651}
4652extern "C" {
4653 pub fn snd_ctl_card_info_sizeof() -> usize;
4654}
4655extern "C" {
4656 pub fn snd_ctl_card_info_malloc(ptr: *mut *mut snd_ctl_card_info_t) -> ::std::os::raw::c_int;
4657}
4658extern "C" {
4659 pub fn snd_ctl_card_info_free(obj: *mut snd_ctl_card_info_t);
4660}
4661extern "C" {
4662 pub fn snd_ctl_card_info_clear(obj: *mut snd_ctl_card_info_t);
4663}
4664extern "C" {
4665 pub fn snd_ctl_card_info_copy(dst: *mut snd_ctl_card_info_t, src: *const snd_ctl_card_info_t);
4666}
4667extern "C" {
4668 pub fn snd_ctl_card_info_get_card(obj: *const snd_ctl_card_info_t) -> ::std::os::raw::c_int;
4669}
4670extern "C" {
4671 pub fn snd_ctl_card_info_get_id(
4672 obj: *const snd_ctl_card_info_t,
4673 ) -> *const ::std::os::raw::c_char;
4674}
4675extern "C" {
4676 pub fn snd_ctl_card_info_get_driver(
4677 obj: *const snd_ctl_card_info_t,
4678 ) -> *const ::std::os::raw::c_char;
4679}
4680extern "C" {
4681 pub fn snd_ctl_card_info_get_name(
4682 obj: *const snd_ctl_card_info_t,
4683 ) -> *const ::std::os::raw::c_char;
4684}
4685extern "C" {
4686 pub fn snd_ctl_card_info_get_longname(
4687 obj: *const snd_ctl_card_info_t,
4688 ) -> *const ::std::os::raw::c_char;
4689}
4690extern "C" {
4691 pub fn snd_ctl_card_info_get_mixername(
4692 obj: *const snd_ctl_card_info_t,
4693 ) -> *const ::std::os::raw::c_char;
4694}
4695extern "C" {
4696 pub fn snd_ctl_card_info_get_components(
4697 obj: *const snd_ctl_card_info_t,
4698 ) -> *const ::std::os::raw::c_char;
4699}
4700extern "C" {
4701 pub fn snd_ctl_event_sizeof() -> usize;
4702}
4703extern "C" {
4704 pub fn snd_ctl_event_malloc(ptr: *mut *mut snd_ctl_event_t) -> ::std::os::raw::c_int;
4705}
4706extern "C" {
4707 pub fn snd_ctl_event_free(obj: *mut snd_ctl_event_t);
4708}
4709extern "C" {
4710 pub fn snd_ctl_event_clear(obj: *mut snd_ctl_event_t);
4711}
4712extern "C" {
4713 pub fn snd_ctl_event_copy(dst: *mut snd_ctl_event_t, src: *const snd_ctl_event_t);
4714}
4715extern "C" {
4716 pub fn snd_ctl_event_get_type(obj: *const snd_ctl_event_t) -> snd_ctl_event_type_t;
4717}
4718extern "C" {
4719 pub fn snd_ctl_elem_list_sizeof() -> usize;
4720}
4721extern "C" {
4722 pub fn snd_ctl_elem_list_malloc(ptr: *mut *mut snd_ctl_elem_list_t) -> ::std::os::raw::c_int;
4723}
4724extern "C" {
4725 pub fn snd_ctl_elem_list_free(obj: *mut snd_ctl_elem_list_t);
4726}
4727extern "C" {
4728 pub fn snd_ctl_elem_list_clear(obj: *mut snd_ctl_elem_list_t);
4729}
4730extern "C" {
4731 pub fn snd_ctl_elem_list_copy(dst: *mut snd_ctl_elem_list_t, src: *const snd_ctl_elem_list_t);
4732}
4733extern "C" {
4734 pub fn snd_ctl_elem_list_set_offset(obj: *mut snd_ctl_elem_list_t, val: ::std::os::raw::c_uint);
4735}
4736extern "C" {
4737 pub fn snd_ctl_elem_list_get_used(obj: *const snd_ctl_elem_list_t) -> ::std::os::raw::c_uint;
4738}
4739extern "C" {
4740 pub fn snd_ctl_elem_list_get_count(obj: *const snd_ctl_elem_list_t) -> ::std::os::raw::c_uint;
4741}
4742extern "C" {
4743 pub fn snd_ctl_elem_list_get_id(
4744 obj: *const snd_ctl_elem_list_t,
4745 idx: ::std::os::raw::c_uint,
4746 ptr: *mut snd_ctl_elem_id_t,
4747 );
4748}
4749extern "C" {
4750 pub fn snd_ctl_elem_list_get_numid(
4751 obj: *const snd_ctl_elem_list_t,
4752 idx: ::std::os::raw::c_uint,
4753 ) -> ::std::os::raw::c_uint;
4754}
4755extern "C" {
4756 pub fn snd_ctl_elem_list_get_interface(
4757 obj: *const snd_ctl_elem_list_t,
4758 idx: ::std::os::raw::c_uint,
4759 ) -> snd_ctl_elem_iface_t;
4760}
4761extern "C" {
4762 pub fn snd_ctl_elem_list_get_device(
4763 obj: *const snd_ctl_elem_list_t,
4764 idx: ::std::os::raw::c_uint,
4765 ) -> ::std::os::raw::c_uint;
4766}
4767extern "C" {
4768 pub fn snd_ctl_elem_list_get_subdevice(
4769 obj: *const snd_ctl_elem_list_t,
4770 idx: ::std::os::raw::c_uint,
4771 ) -> ::std::os::raw::c_uint;
4772}
4773extern "C" {
4774 pub fn snd_ctl_elem_list_get_name(
4775 obj: *const snd_ctl_elem_list_t,
4776 idx: ::std::os::raw::c_uint,
4777 ) -> *const ::std::os::raw::c_char;
4778}
4779extern "C" {
4780 pub fn snd_ctl_elem_list_get_index(
4781 obj: *const snd_ctl_elem_list_t,
4782 idx: ::std::os::raw::c_uint,
4783 ) -> ::std::os::raw::c_uint;
4784}
4785extern "C" {
4786 pub fn snd_ctl_elem_info_sizeof() -> usize;
4787}
4788extern "C" {
4789 pub fn snd_ctl_elem_info_malloc(ptr: *mut *mut snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4790}
4791extern "C" {
4792 pub fn snd_ctl_elem_info_free(obj: *mut snd_ctl_elem_info_t);
4793}
4794extern "C" {
4795 pub fn snd_ctl_elem_info_clear(obj: *mut snd_ctl_elem_info_t);
4796}
4797extern "C" {
4798 pub fn snd_ctl_elem_info_copy(dst: *mut snd_ctl_elem_info_t, src: *const snd_ctl_elem_info_t);
4799}
4800extern "C" {
4801 pub fn snd_ctl_elem_info_get_type(obj: *const snd_ctl_elem_info_t) -> snd_ctl_elem_type_t;
4802}
4803extern "C" {
4804 pub fn snd_ctl_elem_info_is_readable(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4805}
4806extern "C" {
4807 pub fn snd_ctl_elem_info_is_writable(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4808}
4809extern "C" {
4810 pub fn snd_ctl_elem_info_is_volatile(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4811}
4812extern "C" {
4813 pub fn snd_ctl_elem_info_is_inactive(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4814}
4815extern "C" {
4816 pub fn snd_ctl_elem_info_is_locked(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4817}
4818extern "C" {
4819 pub fn snd_ctl_elem_info_is_tlv_readable(
4820 obj: *const snd_ctl_elem_info_t,
4821 ) -> ::std::os::raw::c_int;
4822}
4823extern "C" {
4824 pub fn snd_ctl_elem_info_is_tlv_writable(
4825 obj: *const snd_ctl_elem_info_t,
4826 ) -> ::std::os::raw::c_int;
4827}
4828extern "C" {
4829 pub fn snd_ctl_elem_info_is_tlv_commandable(
4830 obj: *const snd_ctl_elem_info_t,
4831 ) -> ::std::os::raw::c_int;
4832}
4833extern "C" {
4834 pub fn snd_ctl_elem_info_is_owner(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4835}
4836extern "C" {
4837 pub fn snd_ctl_elem_info_is_user(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_int;
4838}
4839extern "C" {
4840 pub fn snd_ctl_elem_info_get_owner(obj: *const snd_ctl_elem_info_t) -> pid_t;
4841}
4842extern "C" {
4843 pub fn snd_ctl_elem_info_get_count(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_uint;
4844}
4845extern "C" {
4846 pub fn snd_ctl_elem_info_get_min(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_long;
4847}
4848extern "C" {
4849 pub fn snd_ctl_elem_info_get_max(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_long;
4850}
4851extern "C" {
4852 pub fn snd_ctl_elem_info_get_step(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_long;
4853}
4854extern "C" {
4855 pub fn snd_ctl_elem_info_get_min64(
4856 obj: *const snd_ctl_elem_info_t,
4857 ) -> ::std::os::raw::c_longlong;
4858}
4859extern "C" {
4860 pub fn snd_ctl_elem_info_get_max64(
4861 obj: *const snd_ctl_elem_info_t,
4862 ) -> ::std::os::raw::c_longlong;
4863}
4864extern "C" {
4865 pub fn snd_ctl_elem_info_get_step64(
4866 obj: *const snd_ctl_elem_info_t,
4867 ) -> ::std::os::raw::c_longlong;
4868}
4869extern "C" {
4870 pub fn snd_ctl_elem_info_get_items(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_uint;
4871}
4872extern "C" {
4873 pub fn snd_ctl_elem_info_set_item(obj: *mut snd_ctl_elem_info_t, val: ::std::os::raw::c_uint);
4874}
4875extern "C" {
4876 pub fn snd_ctl_elem_info_get_item_name(
4877 obj: *const snd_ctl_elem_info_t,
4878 ) -> *const ::std::os::raw::c_char;
4879}
4880extern "C" {
4881 pub fn snd_ctl_elem_info_get_dimensions(
4882 obj: *const snd_ctl_elem_info_t,
4883 ) -> ::std::os::raw::c_int;
4884}
4885extern "C" {
4886 pub fn snd_ctl_elem_info_get_dimension(
4887 obj: *const snd_ctl_elem_info_t,
4888 idx: ::std::os::raw::c_uint,
4889 ) -> ::std::os::raw::c_int;
4890}
4891extern "C" {
4892 pub fn snd_ctl_elem_info_set_dimension(
4893 info: *mut snd_ctl_elem_info_t,
4894 dimension: *const ::std::os::raw::c_int,
4895 ) -> ::std::os::raw::c_int;
4896}
4897extern "C" {
4898 pub fn snd_ctl_elem_info_get_id(obj: *const snd_ctl_elem_info_t, ptr: *mut snd_ctl_elem_id_t);
4899}
4900extern "C" {
4901 pub fn snd_ctl_elem_info_get_numid(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_uint;
4902}
4903extern "C" {
4904 pub fn snd_ctl_elem_info_get_interface(obj: *const snd_ctl_elem_info_t)
4905 -> snd_ctl_elem_iface_t;
4906}
4907extern "C" {
4908 pub fn snd_ctl_elem_info_get_device(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_uint;
4909}
4910extern "C" {
4911 pub fn snd_ctl_elem_info_get_subdevice(
4912 obj: *const snd_ctl_elem_info_t,
4913 ) -> ::std::os::raw::c_uint;
4914}
4915extern "C" {
4916 pub fn snd_ctl_elem_info_get_name(
4917 obj: *const snd_ctl_elem_info_t,
4918 ) -> *const ::std::os::raw::c_char;
4919}
4920extern "C" {
4921 pub fn snd_ctl_elem_info_get_index(obj: *const snd_ctl_elem_info_t) -> ::std::os::raw::c_uint;
4922}
4923extern "C" {
4924 pub fn snd_ctl_elem_info_set_id(obj: *mut snd_ctl_elem_info_t, ptr: *const snd_ctl_elem_id_t);
4925}
4926extern "C" {
4927 pub fn snd_ctl_elem_info_set_numid(obj: *mut snd_ctl_elem_info_t, val: ::std::os::raw::c_uint);
4928}
4929extern "C" {
4930 pub fn snd_ctl_elem_info_set_interface(
4931 obj: *mut snd_ctl_elem_info_t,
4932 val: snd_ctl_elem_iface_t,
4933 );
4934}
4935extern "C" {
4936 pub fn snd_ctl_elem_info_set_device(obj: *mut snd_ctl_elem_info_t, val: ::std::os::raw::c_uint);
4937}
4938extern "C" {
4939 pub fn snd_ctl_elem_info_set_subdevice(
4940 obj: *mut snd_ctl_elem_info_t,
4941 val: ::std::os::raw::c_uint,
4942 );
4943}
4944extern "C" {
4945 pub fn snd_ctl_elem_info_set_name(
4946 obj: *mut snd_ctl_elem_info_t,
4947 val: *const ::std::os::raw::c_char,
4948 );
4949}
4950extern "C" {
4951 pub fn snd_ctl_elem_info_set_index(obj: *mut snd_ctl_elem_info_t, val: ::std::os::raw::c_uint);
4952}
4953extern "C" {
4954 pub fn snd_ctl_add_integer_elem_set(
4955 ctl: *mut snd_ctl_t,
4956 info: *mut snd_ctl_elem_info_t,
4957 element_count: ::std::os::raw::c_uint,
4958 member_count: ::std::os::raw::c_uint,
4959 min: ::std::os::raw::c_long,
4960 max: ::std::os::raw::c_long,
4961 step: ::std::os::raw::c_long,
4962 ) -> ::std::os::raw::c_int;
4963}
4964extern "C" {
4965 pub fn snd_ctl_add_integer64_elem_set(
4966 ctl: *mut snd_ctl_t,
4967 info: *mut snd_ctl_elem_info_t,
4968 element_count: ::std::os::raw::c_uint,
4969 member_count: ::std::os::raw::c_uint,
4970 min: ::std::os::raw::c_longlong,
4971 max: ::std::os::raw::c_longlong,
4972 step: ::std::os::raw::c_longlong,
4973 ) -> ::std::os::raw::c_int;
4974}
4975extern "C" {
4976 pub fn snd_ctl_add_boolean_elem_set(
4977 ctl: *mut snd_ctl_t,
4978 info: *mut snd_ctl_elem_info_t,
4979 element_count: ::std::os::raw::c_uint,
4980 member_count: ::std::os::raw::c_uint,
4981 ) -> ::std::os::raw::c_int;
4982}
4983extern "C" {
4984 pub fn snd_ctl_add_enumerated_elem_set(
4985 ctl: *mut snd_ctl_t,
4986 info: *mut snd_ctl_elem_info_t,
4987 element_count: ::std::os::raw::c_uint,
4988 member_count: ::std::os::raw::c_uint,
4989 items: ::std::os::raw::c_uint,
4990 labels: *const *const ::std::os::raw::c_char,
4991 ) -> ::std::os::raw::c_int;
4992}
4993extern "C" {
4994 pub fn snd_ctl_add_bytes_elem_set(
4995 ctl: *mut snd_ctl_t,
4996 info: *mut snd_ctl_elem_info_t,
4997 element_count: ::std::os::raw::c_uint,
4998 member_count: ::std::os::raw::c_uint,
4999 ) -> ::std::os::raw::c_int;
5000}
5001extern "C" {
5002 pub fn snd_ctl_elem_add_integer(
5003 ctl: *mut snd_ctl_t,
5004 id: *const snd_ctl_elem_id_t,
5005 count: ::std::os::raw::c_uint,
5006 imin: ::std::os::raw::c_long,
5007 imax: ::std::os::raw::c_long,
5008 istep: ::std::os::raw::c_long,
5009 ) -> ::std::os::raw::c_int;
5010}
5011extern "C" {
5012 pub fn snd_ctl_elem_add_integer64(
5013 ctl: *mut snd_ctl_t,
5014 id: *const snd_ctl_elem_id_t,
5015 count: ::std::os::raw::c_uint,
5016 imin: ::std::os::raw::c_longlong,
5017 imax: ::std::os::raw::c_longlong,
5018 istep: ::std::os::raw::c_longlong,
5019 ) -> ::std::os::raw::c_int;
5020}
5021extern "C" {
5022 pub fn snd_ctl_elem_add_boolean(
5023 ctl: *mut snd_ctl_t,
5024 id: *const snd_ctl_elem_id_t,
5025 count: ::std::os::raw::c_uint,
5026 ) -> ::std::os::raw::c_int;
5027}
5028extern "C" {
5029 pub fn snd_ctl_elem_add_enumerated(
5030 ctl: *mut snd_ctl_t,
5031 id: *const snd_ctl_elem_id_t,
5032 count: ::std::os::raw::c_uint,
5033 items: ::std::os::raw::c_uint,
5034 names: *const *const ::std::os::raw::c_char,
5035 ) -> ::std::os::raw::c_int;
5036}
5037extern "C" {
5038 pub fn snd_ctl_elem_add_iec958(
5039 ctl: *mut snd_ctl_t,
5040 id: *const snd_ctl_elem_id_t,
5041 ) -> ::std::os::raw::c_int;
5042}
5043extern "C" {
5044 pub fn snd_ctl_elem_remove(
5045 ctl: *mut snd_ctl_t,
5046 id: *mut snd_ctl_elem_id_t,
5047 ) -> ::std::os::raw::c_int;
5048}
5049extern "C" {
5050 pub fn snd_ctl_elem_value_sizeof() -> usize;
5051}
5052extern "C" {
5053 pub fn snd_ctl_elem_value_malloc(ptr: *mut *mut snd_ctl_elem_value_t) -> ::std::os::raw::c_int;
5054}
5055extern "C" {
5056 pub fn snd_ctl_elem_value_free(obj: *mut snd_ctl_elem_value_t);
5057}
5058extern "C" {
5059 pub fn snd_ctl_elem_value_clear(obj: *mut snd_ctl_elem_value_t);
5060}
5061extern "C" {
5062 pub fn snd_ctl_elem_value_copy(
5063 dst: *mut snd_ctl_elem_value_t,
5064 src: *const snd_ctl_elem_value_t,
5065 );
5066}
5067extern "C" {
5068 pub fn snd_ctl_elem_value_compare(
5069 left: *mut snd_ctl_elem_value_t,
5070 right: *const snd_ctl_elem_value_t,
5071 ) -> ::std::os::raw::c_int;
5072}
5073extern "C" {
5074 pub fn snd_ctl_elem_value_get_id(obj: *const snd_ctl_elem_value_t, ptr: *mut snd_ctl_elem_id_t);
5075}
5076extern "C" {
5077 pub fn snd_ctl_elem_value_get_numid(obj: *const snd_ctl_elem_value_t)
5078 -> ::std::os::raw::c_uint;
5079}
5080extern "C" {
5081 pub fn snd_ctl_elem_value_get_interface(
5082 obj: *const snd_ctl_elem_value_t,
5083 ) -> snd_ctl_elem_iface_t;
5084}
5085extern "C" {
5086 pub fn snd_ctl_elem_value_get_device(
5087 obj: *const snd_ctl_elem_value_t,
5088 ) -> ::std::os::raw::c_uint;
5089}
5090extern "C" {
5091 pub fn snd_ctl_elem_value_get_subdevice(
5092 obj: *const snd_ctl_elem_value_t,
5093 ) -> ::std::os::raw::c_uint;
5094}
5095extern "C" {
5096 pub fn snd_ctl_elem_value_get_name(
5097 obj: *const snd_ctl_elem_value_t,
5098 ) -> *const ::std::os::raw::c_char;
5099}
5100extern "C" {
5101 pub fn snd_ctl_elem_value_get_index(obj: *const snd_ctl_elem_value_t)
5102 -> ::std::os::raw::c_uint;
5103}
5104extern "C" {
5105 pub fn snd_ctl_elem_value_set_id(obj: *mut snd_ctl_elem_value_t, ptr: *const snd_ctl_elem_id_t);
5106}
5107extern "C" {
5108 pub fn snd_ctl_elem_value_set_numid(
5109 obj: *mut snd_ctl_elem_value_t,
5110 val: ::std::os::raw::c_uint,
5111 );
5112}
5113extern "C" {
5114 pub fn snd_ctl_elem_value_set_interface(
5115 obj: *mut snd_ctl_elem_value_t,
5116 val: snd_ctl_elem_iface_t,
5117 );
5118}
5119extern "C" {
5120 pub fn snd_ctl_elem_value_set_device(
5121 obj: *mut snd_ctl_elem_value_t,
5122 val: ::std::os::raw::c_uint,
5123 );
5124}
5125extern "C" {
5126 pub fn snd_ctl_elem_value_set_subdevice(
5127 obj: *mut snd_ctl_elem_value_t,
5128 val: ::std::os::raw::c_uint,
5129 );
5130}
5131extern "C" {
5132 pub fn snd_ctl_elem_value_set_name(
5133 obj: *mut snd_ctl_elem_value_t,
5134 val: *const ::std::os::raw::c_char,
5135 );
5136}
5137extern "C" {
5138 pub fn snd_ctl_elem_value_set_index(
5139 obj: *mut snd_ctl_elem_value_t,
5140 val: ::std::os::raw::c_uint,
5141 );
5142}
5143extern "C" {
5144 pub fn snd_ctl_elem_value_get_boolean(
5145 obj: *const snd_ctl_elem_value_t,
5146 idx: ::std::os::raw::c_uint,
5147 ) -> ::std::os::raw::c_int;
5148}
5149extern "C" {
5150 pub fn snd_ctl_elem_value_get_integer(
5151 obj: *const snd_ctl_elem_value_t,
5152 idx: ::std::os::raw::c_uint,
5153 ) -> ::std::os::raw::c_long;
5154}
5155extern "C" {
5156 pub fn snd_ctl_elem_value_get_integer64(
5157 obj: *const snd_ctl_elem_value_t,
5158 idx: ::std::os::raw::c_uint,
5159 ) -> ::std::os::raw::c_longlong;
5160}
5161extern "C" {
5162 pub fn snd_ctl_elem_value_get_enumerated(
5163 obj: *const snd_ctl_elem_value_t,
5164 idx: ::std::os::raw::c_uint,
5165 ) -> ::std::os::raw::c_uint;
5166}
5167extern "C" {
5168 pub fn snd_ctl_elem_value_get_byte(
5169 obj: *const snd_ctl_elem_value_t,
5170 idx: ::std::os::raw::c_uint,
5171 ) -> ::std::os::raw::c_uchar;
5172}
5173extern "C" {
5174 pub fn snd_ctl_elem_value_set_boolean(
5175 obj: *mut snd_ctl_elem_value_t,
5176 idx: ::std::os::raw::c_uint,
5177 val: ::std::os::raw::c_long,
5178 );
5179}
5180extern "C" {
5181 pub fn snd_ctl_elem_value_set_integer(
5182 obj: *mut snd_ctl_elem_value_t,
5183 idx: ::std::os::raw::c_uint,
5184 val: ::std::os::raw::c_long,
5185 );
5186}
5187extern "C" {
5188 pub fn snd_ctl_elem_value_set_integer64(
5189 obj: *mut snd_ctl_elem_value_t,
5190 idx: ::std::os::raw::c_uint,
5191 val: ::std::os::raw::c_longlong,
5192 );
5193}
5194extern "C" {
5195 pub fn snd_ctl_elem_value_set_enumerated(
5196 obj: *mut snd_ctl_elem_value_t,
5197 idx: ::std::os::raw::c_uint,
5198 val: ::std::os::raw::c_uint,
5199 );
5200}
5201extern "C" {
5202 pub fn snd_ctl_elem_value_set_byte(
5203 obj: *mut snd_ctl_elem_value_t,
5204 idx: ::std::os::raw::c_uint,
5205 val: ::std::os::raw::c_uchar,
5206 );
5207}
5208extern "C" {
5209 pub fn snd_ctl_elem_set_bytes(
5210 obj: *mut snd_ctl_elem_value_t,
5211 data: *mut ::std::os::raw::c_void,
5212 size: usize,
5213 );
5214}
5215extern "C" {
5216 pub fn snd_ctl_elem_value_get_bytes(
5217 obj: *const snd_ctl_elem_value_t,
5218 ) -> *const ::std::os::raw::c_void;
5219}
5220extern "C" {
5221 pub fn snd_ctl_elem_value_get_iec958(
5222 obj: *const snd_ctl_elem_value_t,
5223 ptr: *mut snd_aes_iec958_t,
5224 );
5225}
5226extern "C" {
5227 pub fn snd_ctl_elem_value_set_iec958(
5228 obj: *mut snd_ctl_elem_value_t,
5229 ptr: *const snd_aes_iec958_t,
5230 );
5231}
5232extern "C" {
5233 pub fn snd_tlv_parse_dB_info(
5234 tlv: *mut ::std::os::raw::c_uint,
5235 tlv_size: ::std::os::raw::c_uint,
5236 db_tlvp: *mut *mut ::std::os::raw::c_uint,
5237 ) -> ::std::os::raw::c_int;
5238}
5239extern "C" {
5240 pub fn snd_tlv_get_dB_range(
5241 tlv: *mut ::std::os::raw::c_uint,
5242 rangemin: ::std::os::raw::c_long,
5243 rangemax: ::std::os::raw::c_long,
5244 min: *mut ::std::os::raw::c_long,
5245 max: *mut ::std::os::raw::c_long,
5246 ) -> ::std::os::raw::c_int;
5247}
5248extern "C" {
5249 pub fn snd_tlv_convert_to_dB(
5250 tlv: *mut ::std::os::raw::c_uint,
5251 rangemin: ::std::os::raw::c_long,
5252 rangemax: ::std::os::raw::c_long,
5253 volume: ::std::os::raw::c_long,
5254 db_gain: *mut ::std::os::raw::c_long,
5255 ) -> ::std::os::raw::c_int;
5256}
5257extern "C" {
5258 pub fn snd_tlv_convert_from_dB(
5259 tlv: *mut ::std::os::raw::c_uint,
5260 rangemin: ::std::os::raw::c_long,
5261 rangemax: ::std::os::raw::c_long,
5262 db_gain: ::std::os::raw::c_long,
5263 value: *mut ::std::os::raw::c_long,
5264 xdir: ::std::os::raw::c_int,
5265 ) -> ::std::os::raw::c_int;
5266}
5267extern "C" {
5268 pub fn snd_ctl_get_dB_range(
5269 ctl: *mut snd_ctl_t,
5270 id: *const snd_ctl_elem_id_t,
5271 min: *mut ::std::os::raw::c_long,
5272 max: *mut ::std::os::raw::c_long,
5273 ) -> ::std::os::raw::c_int;
5274}
5275extern "C" {
5276 pub fn snd_ctl_convert_to_dB(
5277 ctl: *mut snd_ctl_t,
5278 id: *const snd_ctl_elem_id_t,
5279 volume: ::std::os::raw::c_long,
5280 db_gain: *mut ::std::os::raw::c_long,
5281 ) -> ::std::os::raw::c_int;
5282}
5283extern "C" {
5284 pub fn snd_ctl_convert_from_dB(
5285 ctl: *mut snd_ctl_t,
5286 id: *const snd_ctl_elem_id_t,
5287 db_gain: ::std::os::raw::c_long,
5288 value: *mut ::std::os::raw::c_long,
5289 xdir: ::std::os::raw::c_int,
5290 ) -> ::std::os::raw::c_int;
5291}
5292#[repr(C)]
5293#[derive(Debug, Copy, Clone)]
5294pub struct _snd_hctl_elem {
5295 _unused: [u8; 0],
5296}
5297pub type snd_hctl_elem_t = _snd_hctl_elem;
5298#[repr(C)]
5299#[derive(Debug, Copy, Clone)]
5300pub struct _snd_hctl {
5301 _unused: [u8; 0],
5302}
5303pub type snd_hctl_t = _snd_hctl;
5304pub type snd_hctl_compare_t = ::std::option::Option<
5305 unsafe extern "C" fn(
5306 e1: *const snd_hctl_elem_t,
5307 e2: *const snd_hctl_elem_t,
5308 ) -> ::std::os::raw::c_int,
5309>;
5310extern "C" {
5311 pub fn snd_hctl_compare_fast(
5312 c1: *const snd_hctl_elem_t,
5313 c2: *const snd_hctl_elem_t,
5314 ) -> ::std::os::raw::c_int;
5315}
5316pub type snd_hctl_callback_t = ::std::option::Option<
5317 unsafe extern "C" fn(
5318 hctl: *mut snd_hctl_t,
5319 mask: ::std::os::raw::c_uint,
5320 elem: *mut snd_hctl_elem_t,
5321 ) -> ::std::os::raw::c_int,
5322>;
5323pub type snd_hctl_elem_callback_t = ::std::option::Option<
5324 unsafe extern "C" fn(
5325 elem: *mut snd_hctl_elem_t,
5326 mask: ::std::os::raw::c_uint,
5327 ) -> ::std::os::raw::c_int,
5328>;
5329extern "C" {
5330 pub fn snd_hctl_open(
5331 hctl: *mut *mut snd_hctl_t,
5332 name: *const ::std::os::raw::c_char,
5333 mode: ::std::os::raw::c_int,
5334 ) -> ::std::os::raw::c_int;
5335}
5336extern "C" {
5337 pub fn snd_hctl_open_ctl(
5338 hctlp: *mut *mut snd_hctl_t,
5339 ctl: *mut snd_ctl_t,
5340 ) -> ::std::os::raw::c_int;
5341}
5342extern "C" {
5343 pub fn snd_hctl_close(hctl: *mut snd_hctl_t) -> ::std::os::raw::c_int;
5344}
5345extern "C" {
5346 pub fn snd_hctl_nonblock(
5347 hctl: *mut snd_hctl_t,
5348 nonblock: ::std::os::raw::c_int,
5349 ) -> ::std::os::raw::c_int;
5350}
5351extern "C" {
5352 pub fn snd_hctl_poll_descriptors_count(hctl: *mut snd_hctl_t) -> ::std::os::raw::c_int;
5353}
5354extern "C" {
5355 pub fn snd_hctl_poll_descriptors(
5356 hctl: *mut snd_hctl_t,
5357 pfds: *mut pollfd,
5358 space: ::std::os::raw::c_uint,
5359 ) -> ::std::os::raw::c_int;
5360}
5361extern "C" {
5362 pub fn snd_hctl_poll_descriptors_revents(
5363 ctl: *mut snd_hctl_t,
5364 pfds: *mut pollfd,
5365 nfds: ::std::os::raw::c_uint,
5366 revents: *mut ::std::os::raw::c_ushort,
5367 ) -> ::std::os::raw::c_int;
5368}
5369extern "C" {
5370 pub fn snd_hctl_get_count(hctl: *mut snd_hctl_t) -> ::std::os::raw::c_uint;
5371}
5372extern "C" {
5373 pub fn snd_hctl_set_compare(
5374 hctl: *mut snd_hctl_t,
5375 hsort: snd_hctl_compare_t,
5376 ) -> ::std::os::raw::c_int;
5377}
5378extern "C" {
5379 pub fn snd_hctl_first_elem(hctl: *mut snd_hctl_t) -> *mut snd_hctl_elem_t;
5380}
5381extern "C" {
5382 pub fn snd_hctl_last_elem(hctl: *mut snd_hctl_t) -> *mut snd_hctl_elem_t;
5383}
5384extern "C" {
5385 pub fn snd_hctl_find_elem(
5386 hctl: *mut snd_hctl_t,
5387 id: *const snd_ctl_elem_id_t,
5388 ) -> *mut snd_hctl_elem_t;
5389}
5390extern "C" {
5391 pub fn snd_hctl_set_callback(hctl: *mut snd_hctl_t, callback: snd_hctl_callback_t);
5392}
5393extern "C" {
5394 pub fn snd_hctl_set_callback_private(hctl: *mut snd_hctl_t, data: *mut ::std::os::raw::c_void);
5395}
5396extern "C" {
5397 pub fn snd_hctl_get_callback_private(hctl: *mut snd_hctl_t) -> *mut ::std::os::raw::c_void;
5398}
5399extern "C" {
5400 pub fn snd_hctl_load(hctl: *mut snd_hctl_t) -> ::std::os::raw::c_int;
5401}
5402extern "C" {
5403 pub fn snd_hctl_free(hctl: *mut snd_hctl_t) -> ::std::os::raw::c_int;
5404}
5405extern "C" {
5406 pub fn snd_hctl_handle_events(hctl: *mut snd_hctl_t) -> ::std::os::raw::c_int;
5407}
5408extern "C" {
5409 pub fn snd_hctl_name(hctl: *mut snd_hctl_t) -> *const ::std::os::raw::c_char;
5410}
5411extern "C" {
5412 pub fn snd_hctl_wait(
5413 hctl: *mut snd_hctl_t,
5414 timeout: ::std::os::raw::c_int,
5415 ) -> ::std::os::raw::c_int;
5416}
5417extern "C" {
5418 pub fn snd_hctl_ctl(hctl: *mut snd_hctl_t) -> *mut snd_ctl_t;
5419}
5420extern "C" {
5421 pub fn snd_hctl_elem_next(elem: *mut snd_hctl_elem_t) -> *mut snd_hctl_elem_t;
5422}
5423extern "C" {
5424 pub fn snd_hctl_elem_prev(elem: *mut snd_hctl_elem_t) -> *mut snd_hctl_elem_t;
5425}
5426extern "C" {
5427 pub fn snd_hctl_elem_info(
5428 elem: *mut snd_hctl_elem_t,
5429 info: *mut snd_ctl_elem_info_t,
5430 ) -> ::std::os::raw::c_int;
5431}
5432extern "C" {
5433 pub fn snd_hctl_elem_read(
5434 elem: *mut snd_hctl_elem_t,
5435 value: *mut snd_ctl_elem_value_t,
5436 ) -> ::std::os::raw::c_int;
5437}
5438extern "C" {
5439 pub fn snd_hctl_elem_write(
5440 elem: *mut snd_hctl_elem_t,
5441 value: *mut snd_ctl_elem_value_t,
5442 ) -> ::std::os::raw::c_int;
5443}
5444extern "C" {
5445 pub fn snd_hctl_elem_tlv_read(
5446 elem: *mut snd_hctl_elem_t,
5447 tlv: *mut ::std::os::raw::c_uint,
5448 tlv_size: ::std::os::raw::c_uint,
5449 ) -> ::std::os::raw::c_int;
5450}
5451extern "C" {
5452 pub fn snd_hctl_elem_tlv_write(
5453 elem: *mut snd_hctl_elem_t,
5454 tlv: *const ::std::os::raw::c_uint,
5455 ) -> ::std::os::raw::c_int;
5456}
5457extern "C" {
5458 pub fn snd_hctl_elem_tlv_command(
5459 elem: *mut snd_hctl_elem_t,
5460 tlv: *const ::std::os::raw::c_uint,
5461 ) -> ::std::os::raw::c_int;
5462}
5463extern "C" {
5464 pub fn snd_hctl_elem_get_hctl(elem: *mut snd_hctl_elem_t) -> *mut snd_hctl_t;
5465}
5466extern "C" {
5467 pub fn snd_hctl_elem_get_id(obj: *const snd_hctl_elem_t, ptr: *mut snd_ctl_elem_id_t);
5468}
5469extern "C" {
5470 pub fn snd_hctl_elem_get_numid(obj: *const snd_hctl_elem_t) -> ::std::os::raw::c_uint;
5471}
5472extern "C" {
5473 pub fn snd_hctl_elem_get_interface(obj: *const snd_hctl_elem_t) -> snd_ctl_elem_iface_t;
5474}
5475extern "C" {
5476 pub fn snd_hctl_elem_get_device(obj: *const snd_hctl_elem_t) -> ::std::os::raw::c_uint;
5477}
5478extern "C" {
5479 pub fn snd_hctl_elem_get_subdevice(obj: *const snd_hctl_elem_t) -> ::std::os::raw::c_uint;
5480}
5481extern "C" {
5482 pub fn snd_hctl_elem_get_name(obj: *const snd_hctl_elem_t) -> *const ::std::os::raw::c_char;
5483}
5484extern "C" {
5485 pub fn snd_hctl_elem_get_index(obj: *const snd_hctl_elem_t) -> ::std::os::raw::c_uint;
5486}
5487extern "C" {
5488 pub fn snd_hctl_elem_set_callback(obj: *mut snd_hctl_elem_t, val: snd_hctl_elem_callback_t);
5489}
5490extern "C" {
5491 pub fn snd_hctl_elem_get_callback_private(
5492 obj: *const snd_hctl_elem_t,
5493 ) -> *mut ::std::os::raw::c_void;
5494}
5495extern "C" {
5496 pub fn snd_hctl_elem_set_callback_private(
5497 obj: *mut snd_hctl_elem_t,
5498 val: *mut ::std::os::raw::c_void,
5499 );
5500}
5501extern "C" {
5502 pub fn snd_sctl_build(
5503 ctl: *mut *mut snd_sctl_t,
5504 handle: *mut snd_ctl_t,
5505 config: *mut snd_config_t,
5506 private_data: *mut snd_config_t,
5507 mode: ::std::os::raw::c_int,
5508 ) -> ::std::os::raw::c_int;
5509}
5510extern "C" {
5511 pub fn snd_sctl_free(handle: *mut snd_sctl_t) -> ::std::os::raw::c_int;
5512}
5513extern "C" {
5514 pub fn snd_sctl_install(handle: *mut snd_sctl_t) -> ::std::os::raw::c_int;
5515}
5516extern "C" {
5517 pub fn snd_sctl_remove(handle: *mut snd_sctl_t) -> ::std::os::raw::c_int;
5518}
5519#[repr(C)]
5520#[derive(Debug, Copy, Clone)]
5521pub struct _snd_mixer {
5522 _unused: [u8; 0],
5523}
5524pub type snd_mixer_t = _snd_mixer;
5525#[repr(C)]
5526#[derive(Debug, Copy, Clone)]
5527pub struct _snd_mixer_class {
5528 _unused: [u8; 0],
5529}
5530pub type snd_mixer_class_t = _snd_mixer_class;
5531#[repr(C)]
5532#[derive(Debug, Copy, Clone)]
5533pub struct _snd_mixer_elem {
5534 _unused: [u8; 0],
5535}
5536pub type snd_mixer_elem_t = _snd_mixer_elem;
5537pub type snd_mixer_callback_t = ::std::option::Option<
5538 unsafe extern "C" fn(
5539 ctl: *mut snd_mixer_t,
5540 mask: ::std::os::raw::c_uint,
5541 elem: *mut snd_mixer_elem_t,
5542 ) -> ::std::os::raw::c_int,
5543>;
5544pub type snd_mixer_elem_callback_t = ::std::option::Option<
5545 unsafe extern "C" fn(
5546 elem: *mut snd_mixer_elem_t,
5547 mask: ::std::os::raw::c_uint,
5548 ) -> ::std::os::raw::c_int,
5549>;
5550pub type snd_mixer_compare_t = ::std::option::Option<
5551 unsafe extern "C" fn(
5552 e1: *const snd_mixer_elem_t,
5553 e2: *const snd_mixer_elem_t,
5554 ) -> ::std::os::raw::c_int,
5555>;
5556pub type snd_mixer_event_t = ::std::option::Option<
5557 unsafe extern "C" fn(
5558 class_: *mut snd_mixer_class_t,
5559 mask: ::std::os::raw::c_uint,
5560 helem: *mut snd_hctl_elem_t,
5561 melem: *mut snd_mixer_elem_t,
5562 ) -> ::std::os::raw::c_int,
5563>;
5564pub const SND_MIXER_ELEM_SIMPLE: _snd_mixer_elem_type = 0;
5565pub const SND_MIXER_ELEM_LAST: _snd_mixer_elem_type = 0;
5566pub type _snd_mixer_elem_type = ::std::os::raw::c_uint;
5567pub use self::_snd_mixer_elem_type as snd_mixer_elem_type_t;
5568extern "C" {
5569 pub fn snd_mixer_open(
5570 mixer: *mut *mut snd_mixer_t,
5571 mode: ::std::os::raw::c_int,
5572 ) -> ::std::os::raw::c_int;
5573}
5574extern "C" {
5575 pub fn snd_mixer_close(mixer: *mut snd_mixer_t) -> ::std::os::raw::c_int;
5576}
5577extern "C" {
5578 pub fn snd_mixer_first_elem(mixer: *mut snd_mixer_t) -> *mut snd_mixer_elem_t;
5579}
5580extern "C" {
5581 pub fn snd_mixer_last_elem(mixer: *mut snd_mixer_t) -> *mut snd_mixer_elem_t;
5582}
5583extern "C" {
5584 pub fn snd_mixer_handle_events(mixer: *mut snd_mixer_t) -> ::std::os::raw::c_int;
5585}
5586extern "C" {
5587 pub fn snd_mixer_attach(
5588 mixer: *mut snd_mixer_t,
5589 name: *const ::std::os::raw::c_char,
5590 ) -> ::std::os::raw::c_int;
5591}
5592extern "C" {
5593 pub fn snd_mixer_attach_hctl(
5594 mixer: *mut snd_mixer_t,
5595 hctl: *mut snd_hctl_t,
5596 ) -> ::std::os::raw::c_int;
5597}
5598extern "C" {
5599 pub fn snd_mixer_detach(
5600 mixer: *mut snd_mixer_t,
5601 name: *const ::std::os::raw::c_char,
5602 ) -> ::std::os::raw::c_int;
5603}
5604extern "C" {
5605 pub fn snd_mixer_detach_hctl(
5606 mixer: *mut snd_mixer_t,
5607 hctl: *mut snd_hctl_t,
5608 ) -> ::std::os::raw::c_int;
5609}
5610extern "C" {
5611 pub fn snd_mixer_get_hctl(
5612 mixer: *mut snd_mixer_t,
5613 name: *const ::std::os::raw::c_char,
5614 hctl: *mut *mut snd_hctl_t,
5615 ) -> ::std::os::raw::c_int;
5616}
5617extern "C" {
5618 pub fn snd_mixer_poll_descriptors_count(mixer: *mut snd_mixer_t) -> ::std::os::raw::c_int;
5619}
5620extern "C" {
5621 pub fn snd_mixer_poll_descriptors(
5622 mixer: *mut snd_mixer_t,
5623 pfds: *mut pollfd,
5624 space: ::std::os::raw::c_uint,
5625 ) -> ::std::os::raw::c_int;
5626}
5627extern "C" {
5628 pub fn snd_mixer_poll_descriptors_revents(
5629 mixer: *mut snd_mixer_t,
5630 pfds: *mut pollfd,
5631 nfds: ::std::os::raw::c_uint,
5632 revents: *mut ::std::os::raw::c_ushort,
5633 ) -> ::std::os::raw::c_int;
5634}
5635extern "C" {
5636 pub fn snd_mixer_load(mixer: *mut snd_mixer_t) -> ::std::os::raw::c_int;
5637}
5638extern "C" {
5639 pub fn snd_mixer_free(mixer: *mut snd_mixer_t);
5640}
5641extern "C" {
5642 pub fn snd_mixer_wait(
5643 mixer: *mut snd_mixer_t,
5644 timeout: ::std::os::raw::c_int,
5645 ) -> ::std::os::raw::c_int;
5646}
5647extern "C" {
5648 pub fn snd_mixer_set_compare(
5649 mixer: *mut snd_mixer_t,
5650 msort: snd_mixer_compare_t,
5651 ) -> ::std::os::raw::c_int;
5652}
5653extern "C" {
5654 pub fn snd_mixer_set_callback(obj: *mut snd_mixer_t, val: snd_mixer_callback_t);
5655}
5656extern "C" {
5657 pub fn snd_mixer_get_callback_private(obj: *const snd_mixer_t) -> *mut ::std::os::raw::c_void;
5658}
5659extern "C" {
5660 pub fn snd_mixer_set_callback_private(obj: *mut snd_mixer_t, val: *mut ::std::os::raw::c_void);
5661}
5662extern "C" {
5663 pub fn snd_mixer_get_count(obj: *const snd_mixer_t) -> ::std::os::raw::c_uint;
5664}
5665extern "C" {
5666 pub fn snd_mixer_class_unregister(clss: *mut snd_mixer_class_t) -> ::std::os::raw::c_int;
5667}
5668extern "C" {
5669 pub fn snd_mixer_elem_next(elem: *mut snd_mixer_elem_t) -> *mut snd_mixer_elem_t;
5670}
5671extern "C" {
5672 pub fn snd_mixer_elem_prev(elem: *mut snd_mixer_elem_t) -> *mut snd_mixer_elem_t;
5673}
5674extern "C" {
5675 pub fn snd_mixer_elem_set_callback(obj: *mut snd_mixer_elem_t, val: snd_mixer_elem_callback_t);
5676}
5677extern "C" {
5678 pub fn snd_mixer_elem_get_callback_private(
5679 obj: *const snd_mixer_elem_t,
5680 ) -> *mut ::std::os::raw::c_void;
5681}
5682extern "C" {
5683 pub fn snd_mixer_elem_set_callback_private(
5684 obj: *mut snd_mixer_elem_t,
5685 val: *mut ::std::os::raw::c_void,
5686 );
5687}
5688extern "C" {
5689 pub fn snd_mixer_elem_get_type(obj: *const snd_mixer_elem_t) -> snd_mixer_elem_type_t;
5690}
5691extern "C" {
5692 pub fn snd_mixer_class_register(
5693 class_: *mut snd_mixer_class_t,
5694 mixer: *mut snd_mixer_t,
5695 ) -> ::std::os::raw::c_int;
5696}
5697extern "C" {
5698 pub fn snd_mixer_elem_new(
5699 elem: *mut *mut snd_mixer_elem_t,
5700 type_: snd_mixer_elem_type_t,
5701 compare_weight: ::std::os::raw::c_int,
5702 private_data: *mut ::std::os::raw::c_void,
5703 private_free: ::std::option::Option<unsafe extern "C" fn(elem: *mut snd_mixer_elem_t)>,
5704 ) -> ::std::os::raw::c_int;
5705}
5706extern "C" {
5707 pub fn snd_mixer_elem_add(
5708 elem: *mut snd_mixer_elem_t,
5709 class_: *mut snd_mixer_class_t,
5710 ) -> ::std::os::raw::c_int;
5711}
5712extern "C" {
5713 pub fn snd_mixer_elem_remove(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5714}
5715extern "C" {
5716 pub fn snd_mixer_elem_free(elem: *mut snd_mixer_elem_t);
5717}
5718extern "C" {
5719 pub fn snd_mixer_elem_info(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5720}
5721extern "C" {
5722 pub fn snd_mixer_elem_value(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5723}
5724extern "C" {
5725 pub fn snd_mixer_elem_attach(
5726 melem: *mut snd_mixer_elem_t,
5727 helem: *mut snd_hctl_elem_t,
5728 ) -> ::std::os::raw::c_int;
5729}
5730extern "C" {
5731 pub fn snd_mixer_elem_detach(
5732 melem: *mut snd_mixer_elem_t,
5733 helem: *mut snd_hctl_elem_t,
5734 ) -> ::std::os::raw::c_int;
5735}
5736extern "C" {
5737 pub fn snd_mixer_elem_empty(melem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5738}
5739extern "C" {
5740 pub fn snd_mixer_elem_get_private(
5741 melem: *const snd_mixer_elem_t,
5742 ) -> *mut ::std::os::raw::c_void;
5743}
5744extern "C" {
5745 pub fn snd_mixer_class_sizeof() -> usize;
5746}
5747extern "C" {
5748 pub fn snd_mixer_class_malloc(ptr: *mut *mut snd_mixer_class_t) -> ::std::os::raw::c_int;
5749}
5750extern "C" {
5751 pub fn snd_mixer_class_free(obj: *mut snd_mixer_class_t);
5752}
5753extern "C" {
5754 pub fn snd_mixer_class_copy(dst: *mut snd_mixer_class_t, src: *const snd_mixer_class_t);
5755}
5756extern "C" {
5757 pub fn snd_mixer_class_get_mixer(class_: *const snd_mixer_class_t) -> *mut snd_mixer_t;
5758}
5759extern "C" {
5760 pub fn snd_mixer_class_get_event(class_: *const snd_mixer_class_t) -> snd_mixer_event_t;
5761}
5762extern "C" {
5763 pub fn snd_mixer_class_get_private(
5764 class_: *const snd_mixer_class_t,
5765 ) -> *mut ::std::os::raw::c_void;
5766}
5767extern "C" {
5768 pub fn snd_mixer_class_get_compare(class_: *const snd_mixer_class_t) -> snd_mixer_compare_t;
5769}
5770extern "C" {
5771 pub fn snd_mixer_class_set_event(
5772 class_: *mut snd_mixer_class_t,
5773 event: snd_mixer_event_t,
5774 ) -> ::std::os::raw::c_int;
5775}
5776extern "C" {
5777 pub fn snd_mixer_class_set_private(
5778 class_: *mut snd_mixer_class_t,
5779 private_data: *mut ::std::os::raw::c_void,
5780 ) -> ::std::os::raw::c_int;
5781}
5782extern "C" {
5783 pub fn snd_mixer_class_set_private_free(
5784 class_: *mut snd_mixer_class_t,
5785 private_free: ::std::option::Option<unsafe extern "C" fn(arg1: *mut snd_mixer_class_t)>,
5786 ) -> ::std::os::raw::c_int;
5787}
5788extern "C" {
5789 pub fn snd_mixer_class_set_compare(
5790 class_: *mut snd_mixer_class_t,
5791 compare: snd_mixer_compare_t,
5792 ) -> ::std::os::raw::c_int;
5793}
5794pub const SND_MIXER_SCHN_UNKNOWN: _snd_mixer_selem_channel_id = -1;
5795pub const SND_MIXER_SCHN_FRONT_LEFT: _snd_mixer_selem_channel_id = 0;
5796pub const SND_MIXER_SCHN_FRONT_RIGHT: _snd_mixer_selem_channel_id = 1;
5797pub const SND_MIXER_SCHN_REAR_LEFT: _snd_mixer_selem_channel_id = 2;
5798pub const SND_MIXER_SCHN_REAR_RIGHT: _snd_mixer_selem_channel_id = 3;
5799pub const SND_MIXER_SCHN_FRONT_CENTER: _snd_mixer_selem_channel_id = 4;
5800pub const SND_MIXER_SCHN_WOOFER: _snd_mixer_selem_channel_id = 5;
5801pub const SND_MIXER_SCHN_SIDE_LEFT: _snd_mixer_selem_channel_id = 6;
5802pub const SND_MIXER_SCHN_SIDE_RIGHT: _snd_mixer_selem_channel_id = 7;
5803pub const SND_MIXER_SCHN_REAR_CENTER: _snd_mixer_selem_channel_id = 8;
5804pub const SND_MIXER_SCHN_LAST: _snd_mixer_selem_channel_id = 31;
5805pub const SND_MIXER_SCHN_MONO: _snd_mixer_selem_channel_id = 0;
5806pub type _snd_mixer_selem_channel_id = ::std::os::raw::c_int;
5807pub use self::_snd_mixer_selem_channel_id as snd_mixer_selem_channel_id_t;
5808pub const SND_MIXER_SABSTRACT_NONE: snd_mixer_selem_regopt_abstract = 0;
5809pub const SND_MIXER_SABSTRACT_BASIC: snd_mixer_selem_regopt_abstract = 1;
5810pub type snd_mixer_selem_regopt_abstract = ::std::os::raw::c_uint;
5811#[repr(C)]
5812#[derive(Debug, Copy, Clone)]
5813pub struct snd_mixer_selem_regopt {
5814 pub ver: ::std::os::raw::c_int,
5815 pub abstract_: snd_mixer_selem_regopt_abstract,
5816 pub device: *const ::std::os::raw::c_char,
5817 pub playback_pcm: *mut snd_pcm_t,
5818 pub capture_pcm: *mut snd_pcm_t,
5819}
5820#[repr(C)]
5821#[derive(Debug, Copy, Clone)]
5822pub struct _snd_mixer_selem_id {
5823 _unused: [u8; 0],
5824}
5825pub type snd_mixer_selem_id_t = _snd_mixer_selem_id;
5826extern "C" {
5827 pub fn snd_mixer_selem_channel_name(
5828 channel: snd_mixer_selem_channel_id_t,
5829 ) -> *const ::std::os::raw::c_char;
5830}
5831extern "C" {
5832 pub fn snd_mixer_selem_register(
5833 mixer: *mut snd_mixer_t,
5834 options: *mut snd_mixer_selem_regopt,
5835 classp: *mut *mut snd_mixer_class_t,
5836 ) -> ::std::os::raw::c_int;
5837}
5838extern "C" {
5839 pub fn snd_mixer_selem_get_id(element: *mut snd_mixer_elem_t, id: *mut snd_mixer_selem_id_t);
5840}
5841extern "C" {
5842 pub fn snd_mixer_selem_get_name(elem: *mut snd_mixer_elem_t) -> *const ::std::os::raw::c_char;
5843}
5844extern "C" {
5845 pub fn snd_mixer_selem_get_index(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_uint;
5846}
5847extern "C" {
5848 pub fn snd_mixer_find_selem(
5849 mixer: *mut snd_mixer_t,
5850 id: *const snd_mixer_selem_id_t,
5851 ) -> *mut snd_mixer_elem_t;
5852}
5853extern "C" {
5854 pub fn snd_mixer_selem_is_active(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5855}
5856extern "C" {
5857 pub fn snd_mixer_selem_is_playback_mono(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5858}
5859extern "C" {
5860 pub fn snd_mixer_selem_has_playback_channel(
5861 obj: *mut snd_mixer_elem_t,
5862 channel: snd_mixer_selem_channel_id_t,
5863 ) -> ::std::os::raw::c_int;
5864}
5865extern "C" {
5866 pub fn snd_mixer_selem_is_capture_mono(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5867}
5868extern "C" {
5869 pub fn snd_mixer_selem_has_capture_channel(
5870 obj: *mut snd_mixer_elem_t,
5871 channel: snd_mixer_selem_channel_id_t,
5872 ) -> ::std::os::raw::c_int;
5873}
5874extern "C" {
5875 pub fn snd_mixer_selem_get_capture_group(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5876}
5877extern "C" {
5878 pub fn snd_mixer_selem_has_common_volume(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5879}
5880extern "C" {
5881 pub fn snd_mixer_selem_has_playback_volume(
5882 elem: *mut snd_mixer_elem_t,
5883 ) -> ::std::os::raw::c_int;
5884}
5885extern "C" {
5886 pub fn snd_mixer_selem_has_playback_volume_joined(
5887 elem: *mut snd_mixer_elem_t,
5888 ) -> ::std::os::raw::c_int;
5889}
5890extern "C" {
5891 pub fn snd_mixer_selem_has_capture_volume(elem: *mut snd_mixer_elem_t)
5892 -> ::std::os::raw::c_int;
5893}
5894extern "C" {
5895 pub fn snd_mixer_selem_has_capture_volume_joined(
5896 elem: *mut snd_mixer_elem_t,
5897 ) -> ::std::os::raw::c_int;
5898}
5899extern "C" {
5900 pub fn snd_mixer_selem_has_common_switch(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
5901}
5902extern "C" {
5903 pub fn snd_mixer_selem_has_playback_switch(
5904 elem: *mut snd_mixer_elem_t,
5905 ) -> ::std::os::raw::c_int;
5906}
5907extern "C" {
5908 pub fn snd_mixer_selem_has_playback_switch_joined(
5909 elem: *mut snd_mixer_elem_t,
5910 ) -> ::std::os::raw::c_int;
5911}
5912extern "C" {
5913 pub fn snd_mixer_selem_has_capture_switch(elem: *mut snd_mixer_elem_t)
5914 -> ::std::os::raw::c_int;
5915}
5916extern "C" {
5917 pub fn snd_mixer_selem_has_capture_switch_joined(
5918 elem: *mut snd_mixer_elem_t,
5919 ) -> ::std::os::raw::c_int;
5920}
5921extern "C" {
5922 pub fn snd_mixer_selem_has_capture_switch_exclusive(
5923 elem: *mut snd_mixer_elem_t,
5924 ) -> ::std::os::raw::c_int;
5925}
5926extern "C" {
5927 pub fn snd_mixer_selem_ask_playback_vol_dB(
5928 elem: *mut snd_mixer_elem_t,
5929 value: ::std::os::raw::c_long,
5930 dBvalue: *mut ::std::os::raw::c_long,
5931 ) -> ::std::os::raw::c_int;
5932}
5933extern "C" {
5934 pub fn snd_mixer_selem_ask_capture_vol_dB(
5935 elem: *mut snd_mixer_elem_t,
5936 value: ::std::os::raw::c_long,
5937 dBvalue: *mut ::std::os::raw::c_long,
5938 ) -> ::std::os::raw::c_int;
5939}
5940extern "C" {
5941 pub fn snd_mixer_selem_ask_playback_dB_vol(
5942 elem: *mut snd_mixer_elem_t,
5943 dBvalue: ::std::os::raw::c_long,
5944 dir: ::std::os::raw::c_int,
5945 value: *mut ::std::os::raw::c_long,
5946 ) -> ::std::os::raw::c_int;
5947}
5948extern "C" {
5949 pub fn snd_mixer_selem_ask_capture_dB_vol(
5950 elem: *mut snd_mixer_elem_t,
5951 dBvalue: ::std::os::raw::c_long,
5952 dir: ::std::os::raw::c_int,
5953 value: *mut ::std::os::raw::c_long,
5954 ) -> ::std::os::raw::c_int;
5955}
5956extern "C" {
5957 pub fn snd_mixer_selem_get_playback_volume(
5958 elem: *mut snd_mixer_elem_t,
5959 channel: snd_mixer_selem_channel_id_t,
5960 value: *mut ::std::os::raw::c_long,
5961 ) -> ::std::os::raw::c_int;
5962}
5963extern "C" {
5964 pub fn snd_mixer_selem_get_capture_volume(
5965 elem: *mut snd_mixer_elem_t,
5966 channel: snd_mixer_selem_channel_id_t,
5967 value: *mut ::std::os::raw::c_long,
5968 ) -> ::std::os::raw::c_int;
5969}
5970extern "C" {
5971 pub fn snd_mixer_selem_get_playback_dB(
5972 elem: *mut snd_mixer_elem_t,
5973 channel: snd_mixer_selem_channel_id_t,
5974 value: *mut ::std::os::raw::c_long,
5975 ) -> ::std::os::raw::c_int;
5976}
5977extern "C" {
5978 pub fn snd_mixer_selem_get_capture_dB(
5979 elem: *mut snd_mixer_elem_t,
5980 channel: snd_mixer_selem_channel_id_t,
5981 value: *mut ::std::os::raw::c_long,
5982 ) -> ::std::os::raw::c_int;
5983}
5984extern "C" {
5985 pub fn snd_mixer_selem_get_playback_switch(
5986 elem: *mut snd_mixer_elem_t,
5987 channel: snd_mixer_selem_channel_id_t,
5988 value: *mut ::std::os::raw::c_int,
5989 ) -> ::std::os::raw::c_int;
5990}
5991extern "C" {
5992 pub fn snd_mixer_selem_get_capture_switch(
5993 elem: *mut snd_mixer_elem_t,
5994 channel: snd_mixer_selem_channel_id_t,
5995 value: *mut ::std::os::raw::c_int,
5996 ) -> ::std::os::raw::c_int;
5997}
5998extern "C" {
5999 pub fn snd_mixer_selem_set_playback_volume(
6000 elem: *mut snd_mixer_elem_t,
6001 channel: snd_mixer_selem_channel_id_t,
6002 value: ::std::os::raw::c_long,
6003 ) -> ::std::os::raw::c_int;
6004}
6005extern "C" {
6006 pub fn snd_mixer_selem_set_capture_volume(
6007 elem: *mut snd_mixer_elem_t,
6008 channel: snd_mixer_selem_channel_id_t,
6009 value: ::std::os::raw::c_long,
6010 ) -> ::std::os::raw::c_int;
6011}
6012extern "C" {
6013 pub fn snd_mixer_selem_set_playback_dB(
6014 elem: *mut snd_mixer_elem_t,
6015 channel: snd_mixer_selem_channel_id_t,
6016 value: ::std::os::raw::c_long,
6017 dir: ::std::os::raw::c_int,
6018 ) -> ::std::os::raw::c_int;
6019}
6020extern "C" {
6021 pub fn snd_mixer_selem_set_capture_dB(
6022 elem: *mut snd_mixer_elem_t,
6023 channel: snd_mixer_selem_channel_id_t,
6024 value: ::std::os::raw::c_long,
6025 dir: ::std::os::raw::c_int,
6026 ) -> ::std::os::raw::c_int;
6027}
6028extern "C" {
6029 pub fn snd_mixer_selem_set_playback_volume_all(
6030 elem: *mut snd_mixer_elem_t,
6031 value: ::std::os::raw::c_long,
6032 ) -> ::std::os::raw::c_int;
6033}
6034extern "C" {
6035 pub fn snd_mixer_selem_set_capture_volume_all(
6036 elem: *mut snd_mixer_elem_t,
6037 value: ::std::os::raw::c_long,
6038 ) -> ::std::os::raw::c_int;
6039}
6040extern "C" {
6041 pub fn snd_mixer_selem_set_playback_dB_all(
6042 elem: *mut snd_mixer_elem_t,
6043 value: ::std::os::raw::c_long,
6044 dir: ::std::os::raw::c_int,
6045 ) -> ::std::os::raw::c_int;
6046}
6047extern "C" {
6048 pub fn snd_mixer_selem_set_capture_dB_all(
6049 elem: *mut snd_mixer_elem_t,
6050 value: ::std::os::raw::c_long,
6051 dir: ::std::os::raw::c_int,
6052 ) -> ::std::os::raw::c_int;
6053}
6054extern "C" {
6055 pub fn snd_mixer_selem_set_playback_switch(
6056 elem: *mut snd_mixer_elem_t,
6057 channel: snd_mixer_selem_channel_id_t,
6058 value: ::std::os::raw::c_int,
6059 ) -> ::std::os::raw::c_int;
6060}
6061extern "C" {
6062 pub fn snd_mixer_selem_set_capture_switch(
6063 elem: *mut snd_mixer_elem_t,
6064 channel: snd_mixer_selem_channel_id_t,
6065 value: ::std::os::raw::c_int,
6066 ) -> ::std::os::raw::c_int;
6067}
6068extern "C" {
6069 pub fn snd_mixer_selem_set_playback_switch_all(
6070 elem: *mut snd_mixer_elem_t,
6071 value: ::std::os::raw::c_int,
6072 ) -> ::std::os::raw::c_int;
6073}
6074extern "C" {
6075 pub fn snd_mixer_selem_set_capture_switch_all(
6076 elem: *mut snd_mixer_elem_t,
6077 value: ::std::os::raw::c_int,
6078 ) -> ::std::os::raw::c_int;
6079}
6080extern "C" {
6081 pub fn snd_mixer_selem_get_playback_volume_range(
6082 elem: *mut snd_mixer_elem_t,
6083 min: *mut ::std::os::raw::c_long,
6084 max: *mut ::std::os::raw::c_long,
6085 ) -> ::std::os::raw::c_int;
6086}
6087extern "C" {
6088 pub fn snd_mixer_selem_get_playback_dB_range(
6089 elem: *mut snd_mixer_elem_t,
6090 min: *mut ::std::os::raw::c_long,
6091 max: *mut ::std::os::raw::c_long,
6092 ) -> ::std::os::raw::c_int;
6093}
6094extern "C" {
6095 pub fn snd_mixer_selem_set_playback_volume_range(
6096 elem: *mut snd_mixer_elem_t,
6097 min: ::std::os::raw::c_long,
6098 max: ::std::os::raw::c_long,
6099 ) -> ::std::os::raw::c_int;
6100}
6101extern "C" {
6102 pub fn snd_mixer_selem_get_capture_volume_range(
6103 elem: *mut snd_mixer_elem_t,
6104 min: *mut ::std::os::raw::c_long,
6105 max: *mut ::std::os::raw::c_long,
6106 ) -> ::std::os::raw::c_int;
6107}
6108extern "C" {
6109 pub fn snd_mixer_selem_get_capture_dB_range(
6110 elem: *mut snd_mixer_elem_t,
6111 min: *mut ::std::os::raw::c_long,
6112 max: *mut ::std::os::raw::c_long,
6113 ) -> ::std::os::raw::c_int;
6114}
6115extern "C" {
6116 pub fn snd_mixer_selem_set_capture_volume_range(
6117 elem: *mut snd_mixer_elem_t,
6118 min: ::std::os::raw::c_long,
6119 max: ::std::os::raw::c_long,
6120 ) -> ::std::os::raw::c_int;
6121}
6122extern "C" {
6123 pub fn snd_mixer_selem_is_enumerated(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
6124}
6125extern "C" {
6126 pub fn snd_mixer_selem_is_enum_playback(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
6127}
6128extern "C" {
6129 pub fn snd_mixer_selem_is_enum_capture(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
6130}
6131extern "C" {
6132 pub fn snd_mixer_selem_get_enum_items(elem: *mut snd_mixer_elem_t) -> ::std::os::raw::c_int;
6133}
6134extern "C" {
6135 pub fn snd_mixer_selem_get_enum_item_name(
6136 elem: *mut snd_mixer_elem_t,
6137 idx: ::std::os::raw::c_uint,
6138 maxlen: usize,
6139 str_: *mut ::std::os::raw::c_char,
6140 ) -> ::std::os::raw::c_int;
6141}
6142extern "C" {
6143 pub fn snd_mixer_selem_get_enum_item(
6144 elem: *mut snd_mixer_elem_t,
6145 channel: snd_mixer_selem_channel_id_t,
6146 idxp: *mut ::std::os::raw::c_uint,
6147 ) -> ::std::os::raw::c_int;
6148}
6149extern "C" {
6150 pub fn snd_mixer_selem_set_enum_item(
6151 elem: *mut snd_mixer_elem_t,
6152 channel: snd_mixer_selem_channel_id_t,
6153 idx: ::std::os::raw::c_uint,
6154 ) -> ::std::os::raw::c_int;
6155}
6156extern "C" {
6157 pub fn snd_mixer_selem_id_sizeof() -> usize;
6158}
6159extern "C" {
6160 pub fn snd_mixer_selem_id_malloc(ptr: *mut *mut snd_mixer_selem_id_t) -> ::std::os::raw::c_int;
6161}
6162extern "C" {
6163 pub fn snd_mixer_selem_id_free(obj: *mut snd_mixer_selem_id_t);
6164}
6165extern "C" {
6166 pub fn snd_mixer_selem_id_copy(
6167 dst: *mut snd_mixer_selem_id_t,
6168 src: *const snd_mixer_selem_id_t,
6169 );
6170}
6171extern "C" {
6172 pub fn snd_mixer_selem_id_get_name(
6173 obj: *const snd_mixer_selem_id_t,
6174 ) -> *const ::std::os::raw::c_char;
6175}
6176extern "C" {
6177 pub fn snd_mixer_selem_id_get_index(obj: *const snd_mixer_selem_id_t)
6178 -> ::std::os::raw::c_uint;
6179}
6180extern "C" {
6181 pub fn snd_mixer_selem_id_set_name(
6182 obj: *mut snd_mixer_selem_id_t,
6183 val: *const ::std::os::raw::c_char,
6184 );
6185}
6186extern "C" {
6187 pub fn snd_mixer_selem_id_set_index(
6188 obj: *mut snd_mixer_selem_id_t,
6189 val: ::std::os::raw::c_uint,
6190 );
6191}
6192extern "C" {
6193 pub fn snd_mixer_selem_id_parse(
6194 dst: *mut snd_mixer_selem_id_t,
6195 str_: *const ::std::os::raw::c_char,
6196 ) -> ::std::os::raw::c_int;
6197}
6198pub type snd_seq_event_type_t = ::std::os::raw::c_uchar;
6199pub const SND_SEQ_EVENT_SYSTEM: snd_seq_event_type = 0;
6200pub const SND_SEQ_EVENT_RESULT: snd_seq_event_type = 1;
6201pub const SND_SEQ_EVENT_NOTE: snd_seq_event_type = 5;
6202pub const SND_SEQ_EVENT_NOTEON: snd_seq_event_type = 6;
6203pub const SND_SEQ_EVENT_NOTEOFF: snd_seq_event_type = 7;
6204pub const SND_SEQ_EVENT_KEYPRESS: snd_seq_event_type = 8;
6205pub const SND_SEQ_EVENT_CONTROLLER: snd_seq_event_type = 10;
6206pub const SND_SEQ_EVENT_PGMCHANGE: snd_seq_event_type = 11;
6207pub const SND_SEQ_EVENT_CHANPRESS: snd_seq_event_type = 12;
6208pub const SND_SEQ_EVENT_PITCHBEND: snd_seq_event_type = 13;
6209pub const SND_SEQ_EVENT_CONTROL14: snd_seq_event_type = 14;
6210pub const SND_SEQ_EVENT_NONREGPARAM: snd_seq_event_type = 15;
6211pub const SND_SEQ_EVENT_REGPARAM: snd_seq_event_type = 16;
6212pub const SND_SEQ_EVENT_SONGPOS: snd_seq_event_type = 20;
6213pub const SND_SEQ_EVENT_SONGSEL: snd_seq_event_type = 21;
6214pub const SND_SEQ_EVENT_QFRAME: snd_seq_event_type = 22;
6215pub const SND_SEQ_EVENT_TIMESIGN: snd_seq_event_type = 23;
6216pub const SND_SEQ_EVENT_KEYSIGN: snd_seq_event_type = 24;
6217pub const SND_SEQ_EVENT_START: snd_seq_event_type = 30;
6218pub const SND_SEQ_EVENT_CONTINUE: snd_seq_event_type = 31;
6219pub const SND_SEQ_EVENT_STOP: snd_seq_event_type = 32;
6220pub const SND_SEQ_EVENT_SETPOS_TICK: snd_seq_event_type = 33;
6221pub const SND_SEQ_EVENT_SETPOS_TIME: snd_seq_event_type = 34;
6222pub const SND_SEQ_EVENT_TEMPO: snd_seq_event_type = 35;
6223pub const SND_SEQ_EVENT_CLOCK: snd_seq_event_type = 36;
6224pub const SND_SEQ_EVENT_TICK: snd_seq_event_type = 37;
6225pub const SND_SEQ_EVENT_QUEUE_SKEW: snd_seq_event_type = 38;
6226pub const SND_SEQ_EVENT_SYNC_POS: snd_seq_event_type = 39;
6227pub const SND_SEQ_EVENT_TUNE_REQUEST: snd_seq_event_type = 40;
6228pub const SND_SEQ_EVENT_RESET: snd_seq_event_type = 41;
6229pub const SND_SEQ_EVENT_SENSING: snd_seq_event_type = 42;
6230pub const SND_SEQ_EVENT_ECHO: snd_seq_event_type = 50;
6231pub const SND_SEQ_EVENT_OSS: snd_seq_event_type = 51;
6232pub const SND_SEQ_EVENT_CLIENT_START: snd_seq_event_type = 60;
6233pub const SND_SEQ_EVENT_CLIENT_EXIT: snd_seq_event_type = 61;
6234pub const SND_SEQ_EVENT_CLIENT_CHANGE: snd_seq_event_type = 62;
6235pub const SND_SEQ_EVENT_PORT_START: snd_seq_event_type = 63;
6236pub const SND_SEQ_EVENT_PORT_EXIT: snd_seq_event_type = 64;
6237pub const SND_SEQ_EVENT_PORT_CHANGE: snd_seq_event_type = 65;
6238pub const SND_SEQ_EVENT_PORT_SUBSCRIBED: snd_seq_event_type = 66;
6239pub const SND_SEQ_EVENT_PORT_UNSUBSCRIBED: snd_seq_event_type = 67;
6240pub const SND_SEQ_EVENT_USR0: snd_seq_event_type = 90;
6241pub const SND_SEQ_EVENT_USR1: snd_seq_event_type = 91;
6242pub const SND_SEQ_EVENT_USR2: snd_seq_event_type = 92;
6243pub const SND_SEQ_EVENT_USR3: snd_seq_event_type = 93;
6244pub const SND_SEQ_EVENT_USR4: snd_seq_event_type = 94;
6245pub const SND_SEQ_EVENT_USR5: snd_seq_event_type = 95;
6246pub const SND_SEQ_EVENT_USR6: snd_seq_event_type = 96;
6247pub const SND_SEQ_EVENT_USR7: snd_seq_event_type = 97;
6248pub const SND_SEQ_EVENT_USR8: snd_seq_event_type = 98;
6249pub const SND_SEQ_EVENT_USR9: snd_seq_event_type = 99;
6250pub const SND_SEQ_EVENT_SYSEX: snd_seq_event_type = 130;
6251pub const SND_SEQ_EVENT_BOUNCE: snd_seq_event_type = 131;
6252pub const SND_SEQ_EVENT_USR_VAR0: snd_seq_event_type = 135;
6253pub const SND_SEQ_EVENT_USR_VAR1: snd_seq_event_type = 136;
6254pub const SND_SEQ_EVENT_USR_VAR2: snd_seq_event_type = 137;
6255pub const SND_SEQ_EVENT_USR_VAR3: snd_seq_event_type = 138;
6256pub const SND_SEQ_EVENT_USR_VAR4: snd_seq_event_type = 139;
6257pub const SND_SEQ_EVENT_NONE: snd_seq_event_type = 255;
6258pub type snd_seq_event_type = ::std::os::raw::c_uint;
6259#[repr(C)]
6260#[derive(Debug, Copy, Clone)]
6261pub struct snd_seq_addr {
6262 pub client: ::std::os::raw::c_uchar,
6263 pub port: ::std::os::raw::c_uchar,
6264}
6265pub type snd_seq_addr_t = snd_seq_addr;
6266#[repr(C)]
6267#[derive(Debug, Copy, Clone)]
6268pub struct snd_seq_connect {
6269 pub sender: snd_seq_addr_t,
6270 pub dest: snd_seq_addr_t,
6271}
6272pub type snd_seq_connect_t = snd_seq_connect;
6273#[repr(C)]
6274#[derive(Debug, Copy, Clone)]
6275pub struct snd_seq_real_time {
6276 pub tv_sec: ::std::os::raw::c_uint,
6277 pub tv_nsec: ::std::os::raw::c_uint,
6278}
6279pub type snd_seq_real_time_t = snd_seq_real_time;
6280pub type snd_seq_tick_time_t = ::std::os::raw::c_uint;
6281#[repr(C)]
6282#[derive(Copy, Clone)]
6283pub union snd_seq_timestamp {
6284 pub tick: snd_seq_tick_time_t,
6285 pub time: snd_seq_real_time,
6286}
6287pub type snd_seq_timestamp_t = snd_seq_timestamp;
6288#[repr(C)]
6289#[derive(Debug, Copy, Clone)]
6290pub struct snd_seq_ev_note {
6291 pub channel: ::std::os::raw::c_uchar,
6292 pub note: ::std::os::raw::c_uchar,
6293 pub velocity: ::std::os::raw::c_uchar,
6294 pub off_velocity: ::std::os::raw::c_uchar,
6295 pub duration: ::std::os::raw::c_uint,
6296}
6297pub type snd_seq_ev_note_t = snd_seq_ev_note;
6298#[repr(C)]
6299#[derive(Debug, Copy, Clone)]
6300pub struct snd_seq_ev_ctrl {
6301 pub channel: ::std::os::raw::c_uchar,
6302 pub unused: [::std::os::raw::c_uchar; 3usize],
6303 pub param: ::std::os::raw::c_uint,
6304 pub value: ::std::os::raw::c_int,
6305}
6306pub type snd_seq_ev_ctrl_t = snd_seq_ev_ctrl;
6307#[repr(C)]
6308#[derive(Debug, Copy, Clone)]
6309pub struct snd_seq_ev_raw8 {
6310 pub d: [::std::os::raw::c_uchar; 12usize],
6311}
6312pub type snd_seq_ev_raw8_t = snd_seq_ev_raw8;
6313#[repr(C)]
6314#[derive(Debug, Copy, Clone)]
6315pub struct snd_seq_ev_raw32 {
6316 pub d: [::std::os::raw::c_uint; 3usize],
6317}
6318pub type snd_seq_ev_raw32_t = snd_seq_ev_raw32;
6319#[repr(C, packed)]
6320#[derive(Debug, Copy, Clone)]
6321pub struct snd_seq_ev_ext {
6322 pub len: ::std::os::raw::c_uint,
6323 pub ptr: *mut ::std::os::raw::c_void,
6324}
6325pub type snd_seq_ev_ext_t = snd_seq_ev_ext;
6326#[repr(C)]
6327#[derive(Debug, Copy, Clone)]
6328pub struct snd_seq_result {
6329 pub event: ::std::os::raw::c_int,
6330 pub result: ::std::os::raw::c_int,
6331}
6332pub type snd_seq_result_t = snd_seq_result;
6333#[repr(C)]
6334#[derive(Debug, Copy, Clone)]
6335pub struct snd_seq_queue_skew {
6336 pub value: ::std::os::raw::c_uint,
6337 pub base: ::std::os::raw::c_uint,
6338}
6339pub type snd_seq_queue_skew_t = snd_seq_queue_skew;
6340#[repr(C)]
6341#[derive(Copy, Clone)]
6342pub struct snd_seq_ev_queue_control {
6343 pub queue: ::std::os::raw::c_uchar,
6344 pub unused: [::std::os::raw::c_uchar; 3usize],
6345 pub param: snd_seq_ev_queue_control__bindgen_ty_1,
6346}
6347#[repr(C)]
6348#[derive(Copy, Clone)]
6349pub union snd_seq_ev_queue_control__bindgen_ty_1 {
6350 pub value: ::std::os::raw::c_int,
6351 pub time: snd_seq_timestamp_t,
6352 pub position: ::std::os::raw::c_uint,
6353 pub skew: snd_seq_queue_skew_t,
6354 pub d32: [::std::os::raw::c_uint; 2usize],
6355 pub d8: [::std::os::raw::c_uchar; 8usize],
6356}
6357pub type snd_seq_ev_queue_control_t = snd_seq_ev_queue_control;
6358#[repr(C)]
6359#[derive(Copy, Clone)]
6360pub struct snd_seq_event {
6361 pub type_: snd_seq_event_type_t,
6362 pub flags: ::std::os::raw::c_uchar,
6363 pub tag: ::std::os::raw::c_uchar,
6364 pub queue: ::std::os::raw::c_uchar,
6365 pub time: snd_seq_timestamp_t,
6366 pub source: snd_seq_addr_t,
6367 pub dest: snd_seq_addr_t,
6368 pub data: snd_seq_event__bindgen_ty_1,
6369}
6370#[repr(C)]
6371#[derive(Copy, Clone)]
6372pub union snd_seq_event__bindgen_ty_1 {
6373 pub note: snd_seq_ev_note_t,
6374 pub control: snd_seq_ev_ctrl_t,
6375 pub raw8: snd_seq_ev_raw8_t,
6376 pub raw32: snd_seq_ev_raw32_t,
6377 pub ext: snd_seq_ev_ext_t,
6378 pub queue: snd_seq_ev_queue_control_t,
6379 pub time: snd_seq_timestamp_t,
6380 pub addr: snd_seq_addr_t,
6381 pub connect: snd_seq_connect_t,
6382 pub result: snd_seq_result_t,
6383}
6384pub type snd_seq_event_t = snd_seq_event;
6385#[repr(C)]
6386#[derive(Debug, Copy, Clone)]
6387pub struct _snd_seq {
6388 _unused: [u8; 0],
6389}
6390pub type snd_seq_t = _snd_seq;
6391pub const SND_SEQ_TYPE_HW: _snd_seq_type = 0;
6392pub const SND_SEQ_TYPE_SHM: _snd_seq_type = 1;
6393pub const SND_SEQ_TYPE_INET: _snd_seq_type = 2;
6394pub type _snd_seq_type = ::std::os::raw::c_uint;
6395pub use self::_snd_seq_type as snd_seq_type_t;
6396extern "C" {
6397 pub fn snd_seq_open(
6398 handle: *mut *mut snd_seq_t,
6399 name: *const ::std::os::raw::c_char,
6400 streams: ::std::os::raw::c_int,
6401 mode: ::std::os::raw::c_int,
6402 ) -> ::std::os::raw::c_int;
6403}
6404extern "C" {
6405 pub fn snd_seq_open_lconf(
6406 handle: *mut *mut snd_seq_t,
6407 name: *const ::std::os::raw::c_char,
6408 streams: ::std::os::raw::c_int,
6409 mode: ::std::os::raw::c_int,
6410 lconf: *mut snd_config_t,
6411 ) -> ::std::os::raw::c_int;
6412}
6413extern "C" {
6414 pub fn snd_seq_name(seq: *mut snd_seq_t) -> *const ::std::os::raw::c_char;
6415}
6416extern "C" {
6417 pub fn snd_seq_type(seq: *mut snd_seq_t) -> snd_seq_type_t;
6418}
6419extern "C" {
6420 pub fn snd_seq_close(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
6421}
6422extern "C" {
6423 pub fn snd_seq_poll_descriptors_count(
6424 handle: *mut snd_seq_t,
6425 events: ::std::os::raw::c_short,
6426 ) -> ::std::os::raw::c_int;
6427}
6428extern "C" {
6429 pub fn snd_seq_poll_descriptors(
6430 handle: *mut snd_seq_t,
6431 pfds: *mut pollfd,
6432 space: ::std::os::raw::c_uint,
6433 events: ::std::os::raw::c_short,
6434 ) -> ::std::os::raw::c_int;
6435}
6436extern "C" {
6437 pub fn snd_seq_poll_descriptors_revents(
6438 seq: *mut snd_seq_t,
6439 pfds: *mut pollfd,
6440 nfds: ::std::os::raw::c_uint,
6441 revents: *mut ::std::os::raw::c_ushort,
6442 ) -> ::std::os::raw::c_int;
6443}
6444extern "C" {
6445 pub fn snd_seq_nonblock(
6446 handle: *mut snd_seq_t,
6447 nonblock: ::std::os::raw::c_int,
6448 ) -> ::std::os::raw::c_int;
6449}
6450extern "C" {
6451 pub fn snd_seq_client_id(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
6452}
6453extern "C" {
6454 pub fn snd_seq_get_output_buffer_size(handle: *mut snd_seq_t) -> usize;
6455}
6456extern "C" {
6457 pub fn snd_seq_get_input_buffer_size(handle: *mut snd_seq_t) -> usize;
6458}
6459extern "C" {
6460 pub fn snd_seq_set_output_buffer_size(
6461 handle: *mut snd_seq_t,
6462 size: usize,
6463 ) -> ::std::os::raw::c_int;
6464}
6465extern "C" {
6466 pub fn snd_seq_set_input_buffer_size(
6467 handle: *mut snd_seq_t,
6468 size: usize,
6469 ) -> ::std::os::raw::c_int;
6470}
6471#[repr(C)]
6472#[derive(Debug, Copy, Clone)]
6473pub struct _snd_seq_system_info {
6474 _unused: [u8; 0],
6475}
6476pub type snd_seq_system_info_t = _snd_seq_system_info;
6477extern "C" {
6478 pub fn snd_seq_system_info_sizeof() -> usize;
6479}
6480extern "C" {
6481 pub fn snd_seq_system_info_malloc(
6482 ptr: *mut *mut snd_seq_system_info_t,
6483 ) -> ::std::os::raw::c_int;
6484}
6485extern "C" {
6486 pub fn snd_seq_system_info_free(ptr: *mut snd_seq_system_info_t);
6487}
6488extern "C" {
6489 pub fn snd_seq_system_info_copy(
6490 dst: *mut snd_seq_system_info_t,
6491 src: *const snd_seq_system_info_t,
6492 );
6493}
6494extern "C" {
6495 pub fn snd_seq_system_info_get_queues(
6496 info: *const snd_seq_system_info_t,
6497 ) -> ::std::os::raw::c_int;
6498}
6499extern "C" {
6500 pub fn snd_seq_system_info_get_clients(
6501 info: *const snd_seq_system_info_t,
6502 ) -> ::std::os::raw::c_int;
6503}
6504extern "C" {
6505 pub fn snd_seq_system_info_get_ports(
6506 info: *const snd_seq_system_info_t,
6507 ) -> ::std::os::raw::c_int;
6508}
6509extern "C" {
6510 pub fn snd_seq_system_info_get_channels(
6511 info: *const snd_seq_system_info_t,
6512 ) -> ::std::os::raw::c_int;
6513}
6514extern "C" {
6515 pub fn snd_seq_system_info_get_cur_clients(
6516 info: *const snd_seq_system_info_t,
6517 ) -> ::std::os::raw::c_int;
6518}
6519extern "C" {
6520 pub fn snd_seq_system_info_get_cur_queues(
6521 info: *const snd_seq_system_info_t,
6522 ) -> ::std::os::raw::c_int;
6523}
6524extern "C" {
6525 pub fn snd_seq_system_info(
6526 handle: *mut snd_seq_t,
6527 info: *mut snd_seq_system_info_t,
6528 ) -> ::std::os::raw::c_int;
6529}
6530#[repr(C)]
6531#[derive(Debug, Copy, Clone)]
6532pub struct _snd_seq_client_info {
6533 _unused: [u8; 0],
6534}
6535pub type snd_seq_client_info_t = _snd_seq_client_info;
6536pub const SND_SEQ_USER_CLIENT: snd_seq_client_type = 1;
6537pub const SND_SEQ_KERNEL_CLIENT: snd_seq_client_type = 2;
6538pub type snd_seq_client_type = ::std::os::raw::c_uint;
6539pub use self::snd_seq_client_type as snd_seq_client_type_t;
6540extern "C" {
6541 pub fn snd_seq_client_info_sizeof() -> usize;
6542}
6543extern "C" {
6544 pub fn snd_seq_client_info_malloc(
6545 ptr: *mut *mut snd_seq_client_info_t,
6546 ) -> ::std::os::raw::c_int;
6547}
6548extern "C" {
6549 pub fn snd_seq_client_info_free(ptr: *mut snd_seq_client_info_t);
6550}
6551extern "C" {
6552 pub fn snd_seq_client_info_copy(
6553 dst: *mut snd_seq_client_info_t,
6554 src: *const snd_seq_client_info_t,
6555 );
6556}
6557extern "C" {
6558 pub fn snd_seq_client_info_get_client(
6559 info: *const snd_seq_client_info_t,
6560 ) -> ::std::os::raw::c_int;
6561}
6562extern "C" {
6563 pub fn snd_seq_client_info_get_type(
6564 info: *const snd_seq_client_info_t,
6565 ) -> snd_seq_client_type_t;
6566}
6567extern "C" {
6568 pub fn snd_seq_client_info_get_name(
6569 info: *mut snd_seq_client_info_t,
6570 ) -> *const ::std::os::raw::c_char;
6571}
6572extern "C" {
6573 pub fn snd_seq_client_info_get_broadcast_filter(
6574 info: *const snd_seq_client_info_t,
6575 ) -> ::std::os::raw::c_int;
6576}
6577extern "C" {
6578 pub fn snd_seq_client_info_get_error_bounce(
6579 info: *const snd_seq_client_info_t,
6580 ) -> ::std::os::raw::c_int;
6581}
6582extern "C" {
6583 pub fn snd_seq_client_info_get_card(
6584 info: *const snd_seq_client_info_t,
6585 ) -> ::std::os::raw::c_int;
6586}
6587extern "C" {
6588 pub fn snd_seq_client_info_get_pid(info: *const snd_seq_client_info_t)
6589 -> ::std::os::raw::c_int;
6590}
6591extern "C" {
6592 pub fn snd_seq_client_info_get_event_filter(
6593 info: *const snd_seq_client_info_t,
6594 ) -> *const ::std::os::raw::c_uchar;
6595}
6596extern "C" {
6597 pub fn snd_seq_client_info_get_num_ports(
6598 info: *const snd_seq_client_info_t,
6599 ) -> ::std::os::raw::c_int;
6600}
6601extern "C" {
6602 pub fn snd_seq_client_info_get_event_lost(
6603 info: *const snd_seq_client_info_t,
6604 ) -> ::std::os::raw::c_int;
6605}
6606extern "C" {
6607 pub fn snd_seq_client_info_set_client(
6608 info: *mut snd_seq_client_info_t,
6609 client: ::std::os::raw::c_int,
6610 );
6611}
6612extern "C" {
6613 pub fn snd_seq_client_info_set_name(
6614 info: *mut snd_seq_client_info_t,
6615 name: *const ::std::os::raw::c_char,
6616 );
6617}
6618extern "C" {
6619 pub fn snd_seq_client_info_set_broadcast_filter(
6620 info: *mut snd_seq_client_info_t,
6621 val: ::std::os::raw::c_int,
6622 );
6623}
6624extern "C" {
6625 pub fn snd_seq_client_info_set_error_bounce(
6626 info: *mut snd_seq_client_info_t,
6627 val: ::std::os::raw::c_int,
6628 );
6629}
6630extern "C" {
6631 pub fn snd_seq_client_info_set_event_filter(
6632 info: *mut snd_seq_client_info_t,
6633 filter: *mut ::std::os::raw::c_uchar,
6634 );
6635}
6636extern "C" {
6637 pub fn snd_seq_client_info_event_filter_clear(info: *mut snd_seq_client_info_t);
6638}
6639extern "C" {
6640 pub fn snd_seq_client_info_event_filter_add(
6641 info: *mut snd_seq_client_info_t,
6642 event_type: ::std::os::raw::c_int,
6643 );
6644}
6645extern "C" {
6646 pub fn snd_seq_client_info_event_filter_del(
6647 info: *mut snd_seq_client_info_t,
6648 event_type: ::std::os::raw::c_int,
6649 );
6650}
6651extern "C" {
6652 pub fn snd_seq_client_info_event_filter_check(
6653 info: *mut snd_seq_client_info_t,
6654 event_type: ::std::os::raw::c_int,
6655 ) -> ::std::os::raw::c_int;
6656}
6657extern "C" {
6658 pub fn snd_seq_get_client_info(
6659 handle: *mut snd_seq_t,
6660 info: *mut snd_seq_client_info_t,
6661 ) -> ::std::os::raw::c_int;
6662}
6663extern "C" {
6664 pub fn snd_seq_get_any_client_info(
6665 handle: *mut snd_seq_t,
6666 client: ::std::os::raw::c_int,
6667 info: *mut snd_seq_client_info_t,
6668 ) -> ::std::os::raw::c_int;
6669}
6670extern "C" {
6671 pub fn snd_seq_set_client_info(
6672 handle: *mut snd_seq_t,
6673 info: *mut snd_seq_client_info_t,
6674 ) -> ::std::os::raw::c_int;
6675}
6676extern "C" {
6677 pub fn snd_seq_query_next_client(
6678 handle: *mut snd_seq_t,
6679 info: *mut snd_seq_client_info_t,
6680 ) -> ::std::os::raw::c_int;
6681}
6682#[repr(C)]
6683#[derive(Debug, Copy, Clone)]
6684pub struct _snd_seq_client_pool {
6685 _unused: [u8; 0],
6686}
6687pub type snd_seq_client_pool_t = _snd_seq_client_pool;
6688extern "C" {
6689 pub fn snd_seq_client_pool_sizeof() -> usize;
6690}
6691extern "C" {
6692 pub fn snd_seq_client_pool_malloc(
6693 ptr: *mut *mut snd_seq_client_pool_t,
6694 ) -> ::std::os::raw::c_int;
6695}
6696extern "C" {
6697 pub fn snd_seq_client_pool_free(ptr: *mut snd_seq_client_pool_t);
6698}
6699extern "C" {
6700 pub fn snd_seq_client_pool_copy(
6701 dst: *mut snd_seq_client_pool_t,
6702 src: *const snd_seq_client_pool_t,
6703 );
6704}
6705extern "C" {
6706 pub fn snd_seq_client_pool_get_client(
6707 info: *const snd_seq_client_pool_t,
6708 ) -> ::std::os::raw::c_int;
6709}
6710extern "C" {
6711 pub fn snd_seq_client_pool_get_output_pool(info: *const snd_seq_client_pool_t) -> usize;
6712}
6713extern "C" {
6714 pub fn snd_seq_client_pool_get_input_pool(info: *const snd_seq_client_pool_t) -> usize;
6715}
6716extern "C" {
6717 pub fn snd_seq_client_pool_get_output_room(info: *const snd_seq_client_pool_t) -> usize;
6718}
6719extern "C" {
6720 pub fn snd_seq_client_pool_get_output_free(info: *const snd_seq_client_pool_t) -> usize;
6721}
6722extern "C" {
6723 pub fn snd_seq_client_pool_get_input_free(info: *const snd_seq_client_pool_t) -> usize;
6724}
6725extern "C" {
6726 pub fn snd_seq_client_pool_set_output_pool(info: *mut snd_seq_client_pool_t, size: usize);
6727}
6728extern "C" {
6729 pub fn snd_seq_client_pool_set_input_pool(info: *mut snd_seq_client_pool_t, size: usize);
6730}
6731extern "C" {
6732 pub fn snd_seq_client_pool_set_output_room(info: *mut snd_seq_client_pool_t, size: usize);
6733}
6734extern "C" {
6735 pub fn snd_seq_get_client_pool(
6736 handle: *mut snd_seq_t,
6737 info: *mut snd_seq_client_pool_t,
6738 ) -> ::std::os::raw::c_int;
6739}
6740extern "C" {
6741 pub fn snd_seq_set_client_pool(
6742 handle: *mut snd_seq_t,
6743 info: *mut snd_seq_client_pool_t,
6744 ) -> ::std::os::raw::c_int;
6745}
6746#[repr(C)]
6747#[derive(Debug, Copy, Clone)]
6748pub struct _snd_seq_port_info {
6749 _unused: [u8; 0],
6750}
6751pub type snd_seq_port_info_t = _snd_seq_port_info;
6752extern "C" {
6753 pub fn snd_seq_port_info_sizeof() -> usize;
6754}
6755extern "C" {
6756 pub fn snd_seq_port_info_malloc(ptr: *mut *mut snd_seq_port_info_t) -> ::std::os::raw::c_int;
6757}
6758extern "C" {
6759 pub fn snd_seq_port_info_free(ptr: *mut snd_seq_port_info_t);
6760}
6761extern "C" {
6762 pub fn snd_seq_port_info_copy(dst: *mut snd_seq_port_info_t, src: *const snd_seq_port_info_t);
6763}
6764extern "C" {
6765 pub fn snd_seq_port_info_get_client(info: *const snd_seq_port_info_t) -> ::std::os::raw::c_int;
6766}
6767extern "C" {
6768 pub fn snd_seq_port_info_get_port(info: *const snd_seq_port_info_t) -> ::std::os::raw::c_int;
6769}
6770extern "C" {
6771 pub fn snd_seq_port_info_get_addr(info: *const snd_seq_port_info_t) -> *const snd_seq_addr_t;
6772}
6773extern "C" {
6774 pub fn snd_seq_port_info_get_name(
6775 info: *const snd_seq_port_info_t,
6776 ) -> *const ::std::os::raw::c_char;
6777}
6778extern "C" {
6779 pub fn snd_seq_port_info_get_capability(
6780 info: *const snd_seq_port_info_t,
6781 ) -> ::std::os::raw::c_uint;
6782}
6783extern "C" {
6784 pub fn snd_seq_port_info_get_type(info: *const snd_seq_port_info_t) -> ::std::os::raw::c_uint;
6785}
6786extern "C" {
6787 pub fn snd_seq_port_info_get_midi_channels(
6788 info: *const snd_seq_port_info_t,
6789 ) -> ::std::os::raw::c_int;
6790}
6791extern "C" {
6792 pub fn snd_seq_port_info_get_midi_voices(
6793 info: *const snd_seq_port_info_t,
6794 ) -> ::std::os::raw::c_int;
6795}
6796extern "C" {
6797 pub fn snd_seq_port_info_get_synth_voices(
6798 info: *const snd_seq_port_info_t,
6799 ) -> ::std::os::raw::c_int;
6800}
6801extern "C" {
6802 pub fn snd_seq_port_info_get_read_use(
6803 info: *const snd_seq_port_info_t,
6804 ) -> ::std::os::raw::c_int;
6805}
6806extern "C" {
6807 pub fn snd_seq_port_info_get_write_use(
6808 info: *const snd_seq_port_info_t,
6809 ) -> ::std::os::raw::c_int;
6810}
6811extern "C" {
6812 pub fn snd_seq_port_info_get_port_specified(
6813 info: *const snd_seq_port_info_t,
6814 ) -> ::std::os::raw::c_int;
6815}
6816extern "C" {
6817 pub fn snd_seq_port_info_get_timestamping(
6818 info: *const snd_seq_port_info_t,
6819 ) -> ::std::os::raw::c_int;
6820}
6821extern "C" {
6822 pub fn snd_seq_port_info_get_timestamp_real(
6823 info: *const snd_seq_port_info_t,
6824 ) -> ::std::os::raw::c_int;
6825}
6826extern "C" {
6827 pub fn snd_seq_port_info_get_timestamp_queue(
6828 info: *const snd_seq_port_info_t,
6829 ) -> ::std::os::raw::c_int;
6830}
6831extern "C" {
6832 pub fn snd_seq_port_info_set_client(
6833 info: *mut snd_seq_port_info_t,
6834 client: ::std::os::raw::c_int,
6835 );
6836}
6837extern "C" {
6838 pub fn snd_seq_port_info_set_port(info: *mut snd_seq_port_info_t, port: ::std::os::raw::c_int);
6839}
6840extern "C" {
6841 pub fn snd_seq_port_info_set_addr(info: *mut snd_seq_port_info_t, addr: *const snd_seq_addr_t);
6842}
6843extern "C" {
6844 pub fn snd_seq_port_info_set_name(
6845 info: *mut snd_seq_port_info_t,
6846 name: *const ::std::os::raw::c_char,
6847 );
6848}
6849extern "C" {
6850 pub fn snd_seq_port_info_set_capability(
6851 info: *mut snd_seq_port_info_t,
6852 capability: ::std::os::raw::c_uint,
6853 );
6854}
6855extern "C" {
6856 pub fn snd_seq_port_info_set_type(
6857 info: *mut snd_seq_port_info_t,
6858 type_: ::std::os::raw::c_uint,
6859 );
6860}
6861extern "C" {
6862 pub fn snd_seq_port_info_set_midi_channels(
6863 info: *mut snd_seq_port_info_t,
6864 channels: ::std::os::raw::c_int,
6865 );
6866}
6867extern "C" {
6868 pub fn snd_seq_port_info_set_midi_voices(
6869 info: *mut snd_seq_port_info_t,
6870 voices: ::std::os::raw::c_int,
6871 );
6872}
6873extern "C" {
6874 pub fn snd_seq_port_info_set_synth_voices(
6875 info: *mut snd_seq_port_info_t,
6876 voices: ::std::os::raw::c_int,
6877 );
6878}
6879extern "C" {
6880 pub fn snd_seq_port_info_set_port_specified(
6881 info: *mut snd_seq_port_info_t,
6882 val: ::std::os::raw::c_int,
6883 );
6884}
6885extern "C" {
6886 pub fn snd_seq_port_info_set_timestamping(
6887 info: *mut snd_seq_port_info_t,
6888 enable: ::std::os::raw::c_int,
6889 );
6890}
6891extern "C" {
6892 pub fn snd_seq_port_info_set_timestamp_real(
6893 info: *mut snd_seq_port_info_t,
6894 realtime: ::std::os::raw::c_int,
6895 );
6896}
6897extern "C" {
6898 pub fn snd_seq_port_info_set_timestamp_queue(
6899 info: *mut snd_seq_port_info_t,
6900 queue: ::std::os::raw::c_int,
6901 );
6902}
6903extern "C" {
6904 pub fn snd_seq_create_port(
6905 handle: *mut snd_seq_t,
6906 info: *mut snd_seq_port_info_t,
6907 ) -> ::std::os::raw::c_int;
6908}
6909extern "C" {
6910 pub fn snd_seq_delete_port(
6911 handle: *mut snd_seq_t,
6912 port: ::std::os::raw::c_int,
6913 ) -> ::std::os::raw::c_int;
6914}
6915extern "C" {
6916 pub fn snd_seq_get_port_info(
6917 handle: *mut snd_seq_t,
6918 port: ::std::os::raw::c_int,
6919 info: *mut snd_seq_port_info_t,
6920 ) -> ::std::os::raw::c_int;
6921}
6922extern "C" {
6923 pub fn snd_seq_get_any_port_info(
6924 handle: *mut snd_seq_t,
6925 client: ::std::os::raw::c_int,
6926 port: ::std::os::raw::c_int,
6927 info: *mut snd_seq_port_info_t,
6928 ) -> ::std::os::raw::c_int;
6929}
6930extern "C" {
6931 pub fn snd_seq_set_port_info(
6932 handle: *mut snd_seq_t,
6933 port: ::std::os::raw::c_int,
6934 info: *mut snd_seq_port_info_t,
6935 ) -> ::std::os::raw::c_int;
6936}
6937extern "C" {
6938 pub fn snd_seq_query_next_port(
6939 handle: *mut snd_seq_t,
6940 info: *mut snd_seq_port_info_t,
6941 ) -> ::std::os::raw::c_int;
6942}
6943#[repr(C)]
6944#[derive(Debug, Copy, Clone)]
6945pub struct _snd_seq_port_subscribe {
6946 _unused: [u8; 0],
6947}
6948pub type snd_seq_port_subscribe_t = _snd_seq_port_subscribe;
6949extern "C" {
6950 pub fn snd_seq_port_subscribe_sizeof() -> usize;
6951}
6952extern "C" {
6953 pub fn snd_seq_port_subscribe_malloc(
6954 ptr: *mut *mut snd_seq_port_subscribe_t,
6955 ) -> ::std::os::raw::c_int;
6956}
6957extern "C" {
6958 pub fn snd_seq_port_subscribe_free(ptr: *mut snd_seq_port_subscribe_t);
6959}
6960extern "C" {
6961 pub fn snd_seq_port_subscribe_copy(
6962 dst: *mut snd_seq_port_subscribe_t,
6963 src: *const snd_seq_port_subscribe_t,
6964 );
6965}
6966extern "C" {
6967 pub fn snd_seq_port_subscribe_get_sender(
6968 info: *const snd_seq_port_subscribe_t,
6969 ) -> *const snd_seq_addr_t;
6970}
6971extern "C" {
6972 pub fn snd_seq_port_subscribe_get_dest(
6973 info: *const snd_seq_port_subscribe_t,
6974 ) -> *const snd_seq_addr_t;
6975}
6976extern "C" {
6977 pub fn snd_seq_port_subscribe_get_queue(
6978 info: *const snd_seq_port_subscribe_t,
6979 ) -> ::std::os::raw::c_int;
6980}
6981extern "C" {
6982 pub fn snd_seq_port_subscribe_get_exclusive(
6983 info: *const snd_seq_port_subscribe_t,
6984 ) -> ::std::os::raw::c_int;
6985}
6986extern "C" {
6987 pub fn snd_seq_port_subscribe_get_time_update(
6988 info: *const snd_seq_port_subscribe_t,
6989 ) -> ::std::os::raw::c_int;
6990}
6991extern "C" {
6992 pub fn snd_seq_port_subscribe_get_time_real(
6993 info: *const snd_seq_port_subscribe_t,
6994 ) -> ::std::os::raw::c_int;
6995}
6996extern "C" {
6997 pub fn snd_seq_port_subscribe_set_sender(
6998 info: *mut snd_seq_port_subscribe_t,
6999 addr: *const snd_seq_addr_t,
7000 );
7001}
7002extern "C" {
7003 pub fn snd_seq_port_subscribe_set_dest(
7004 info: *mut snd_seq_port_subscribe_t,
7005 addr: *const snd_seq_addr_t,
7006 );
7007}
7008extern "C" {
7009 pub fn snd_seq_port_subscribe_set_queue(
7010 info: *mut snd_seq_port_subscribe_t,
7011 q: ::std::os::raw::c_int,
7012 );
7013}
7014extern "C" {
7015 pub fn snd_seq_port_subscribe_set_exclusive(
7016 info: *mut snd_seq_port_subscribe_t,
7017 val: ::std::os::raw::c_int,
7018 );
7019}
7020extern "C" {
7021 pub fn snd_seq_port_subscribe_set_time_update(
7022 info: *mut snd_seq_port_subscribe_t,
7023 val: ::std::os::raw::c_int,
7024 );
7025}
7026extern "C" {
7027 pub fn snd_seq_port_subscribe_set_time_real(
7028 info: *mut snd_seq_port_subscribe_t,
7029 val: ::std::os::raw::c_int,
7030 );
7031}
7032extern "C" {
7033 pub fn snd_seq_get_port_subscription(
7034 handle: *mut snd_seq_t,
7035 sub: *mut snd_seq_port_subscribe_t,
7036 ) -> ::std::os::raw::c_int;
7037}
7038extern "C" {
7039 pub fn snd_seq_subscribe_port(
7040 handle: *mut snd_seq_t,
7041 sub: *mut snd_seq_port_subscribe_t,
7042 ) -> ::std::os::raw::c_int;
7043}
7044extern "C" {
7045 pub fn snd_seq_unsubscribe_port(
7046 handle: *mut snd_seq_t,
7047 sub: *mut snd_seq_port_subscribe_t,
7048 ) -> ::std::os::raw::c_int;
7049}
7050#[repr(C)]
7051#[derive(Debug, Copy, Clone)]
7052pub struct _snd_seq_query_subscribe {
7053 _unused: [u8; 0],
7054}
7055pub type snd_seq_query_subscribe_t = _snd_seq_query_subscribe;
7056pub const SND_SEQ_QUERY_SUBS_READ: snd_seq_query_subs_type_t = 0;
7057pub const SND_SEQ_QUERY_SUBS_WRITE: snd_seq_query_subs_type_t = 1;
7058pub type snd_seq_query_subs_type_t = ::std::os::raw::c_uint;
7059extern "C" {
7060 pub fn snd_seq_query_subscribe_sizeof() -> usize;
7061}
7062extern "C" {
7063 pub fn snd_seq_query_subscribe_malloc(
7064 ptr: *mut *mut snd_seq_query_subscribe_t,
7065 ) -> ::std::os::raw::c_int;
7066}
7067extern "C" {
7068 pub fn snd_seq_query_subscribe_free(ptr: *mut snd_seq_query_subscribe_t);
7069}
7070extern "C" {
7071 pub fn snd_seq_query_subscribe_copy(
7072 dst: *mut snd_seq_query_subscribe_t,
7073 src: *const snd_seq_query_subscribe_t,
7074 );
7075}
7076extern "C" {
7077 pub fn snd_seq_query_subscribe_get_client(
7078 info: *const snd_seq_query_subscribe_t,
7079 ) -> ::std::os::raw::c_int;
7080}
7081extern "C" {
7082 pub fn snd_seq_query_subscribe_get_port(
7083 info: *const snd_seq_query_subscribe_t,
7084 ) -> ::std::os::raw::c_int;
7085}
7086extern "C" {
7087 pub fn snd_seq_query_subscribe_get_root(
7088 info: *const snd_seq_query_subscribe_t,
7089 ) -> *const snd_seq_addr_t;
7090}
7091extern "C" {
7092 pub fn snd_seq_query_subscribe_get_type(
7093 info: *const snd_seq_query_subscribe_t,
7094 ) -> snd_seq_query_subs_type_t;
7095}
7096extern "C" {
7097 pub fn snd_seq_query_subscribe_get_index(
7098 info: *const snd_seq_query_subscribe_t,
7099 ) -> ::std::os::raw::c_int;
7100}
7101extern "C" {
7102 pub fn snd_seq_query_subscribe_get_num_subs(
7103 info: *const snd_seq_query_subscribe_t,
7104 ) -> ::std::os::raw::c_int;
7105}
7106extern "C" {
7107 pub fn snd_seq_query_subscribe_get_addr(
7108 info: *const snd_seq_query_subscribe_t,
7109 ) -> *const snd_seq_addr_t;
7110}
7111extern "C" {
7112 pub fn snd_seq_query_subscribe_get_queue(
7113 info: *const snd_seq_query_subscribe_t,
7114 ) -> ::std::os::raw::c_int;
7115}
7116extern "C" {
7117 pub fn snd_seq_query_subscribe_get_exclusive(
7118 info: *const snd_seq_query_subscribe_t,
7119 ) -> ::std::os::raw::c_int;
7120}
7121extern "C" {
7122 pub fn snd_seq_query_subscribe_get_time_update(
7123 info: *const snd_seq_query_subscribe_t,
7124 ) -> ::std::os::raw::c_int;
7125}
7126extern "C" {
7127 pub fn snd_seq_query_subscribe_get_time_real(
7128 info: *const snd_seq_query_subscribe_t,
7129 ) -> ::std::os::raw::c_int;
7130}
7131extern "C" {
7132 pub fn snd_seq_query_subscribe_set_client(
7133 info: *mut snd_seq_query_subscribe_t,
7134 client: ::std::os::raw::c_int,
7135 );
7136}
7137extern "C" {
7138 pub fn snd_seq_query_subscribe_set_port(
7139 info: *mut snd_seq_query_subscribe_t,
7140 port: ::std::os::raw::c_int,
7141 );
7142}
7143extern "C" {
7144 pub fn snd_seq_query_subscribe_set_root(
7145 info: *mut snd_seq_query_subscribe_t,
7146 addr: *const snd_seq_addr_t,
7147 );
7148}
7149extern "C" {
7150 pub fn snd_seq_query_subscribe_set_type(
7151 info: *mut snd_seq_query_subscribe_t,
7152 type_: snd_seq_query_subs_type_t,
7153 );
7154}
7155extern "C" {
7156 pub fn snd_seq_query_subscribe_set_index(
7157 info: *mut snd_seq_query_subscribe_t,
7158 _index: ::std::os::raw::c_int,
7159 );
7160}
7161extern "C" {
7162 pub fn snd_seq_query_port_subscribers(
7163 seq: *mut snd_seq_t,
7164 subs: *mut snd_seq_query_subscribe_t,
7165 ) -> ::std::os::raw::c_int;
7166}
7167#[repr(C)]
7168#[derive(Debug, Copy, Clone)]
7169pub struct _snd_seq_queue_info {
7170 _unused: [u8; 0],
7171}
7172pub type snd_seq_queue_info_t = _snd_seq_queue_info;
7173#[repr(C)]
7174#[derive(Debug, Copy, Clone)]
7175pub struct _snd_seq_queue_status {
7176 _unused: [u8; 0],
7177}
7178pub type snd_seq_queue_status_t = _snd_seq_queue_status;
7179#[repr(C)]
7180#[derive(Debug, Copy, Clone)]
7181pub struct _snd_seq_queue_tempo {
7182 _unused: [u8; 0],
7183}
7184pub type snd_seq_queue_tempo_t = _snd_seq_queue_tempo;
7185#[repr(C)]
7186#[derive(Debug, Copy, Clone)]
7187pub struct _snd_seq_queue_timer {
7188 _unused: [u8; 0],
7189}
7190pub type snd_seq_queue_timer_t = _snd_seq_queue_timer;
7191extern "C" {
7192 pub fn snd_seq_queue_info_sizeof() -> usize;
7193}
7194extern "C" {
7195 pub fn snd_seq_queue_info_malloc(ptr: *mut *mut snd_seq_queue_info_t) -> ::std::os::raw::c_int;
7196}
7197extern "C" {
7198 pub fn snd_seq_queue_info_free(ptr: *mut snd_seq_queue_info_t);
7199}
7200extern "C" {
7201 pub fn snd_seq_queue_info_copy(
7202 dst: *mut snd_seq_queue_info_t,
7203 src: *const snd_seq_queue_info_t,
7204 );
7205}
7206extern "C" {
7207 pub fn snd_seq_queue_info_get_queue(info: *const snd_seq_queue_info_t)
7208 -> ::std::os::raw::c_int;
7209}
7210extern "C" {
7211 pub fn snd_seq_queue_info_get_name(
7212 info: *const snd_seq_queue_info_t,
7213 ) -> *const ::std::os::raw::c_char;
7214}
7215extern "C" {
7216 pub fn snd_seq_queue_info_get_owner(info: *const snd_seq_queue_info_t)
7217 -> ::std::os::raw::c_int;
7218}
7219extern "C" {
7220 pub fn snd_seq_queue_info_get_locked(
7221 info: *const snd_seq_queue_info_t,
7222 ) -> ::std::os::raw::c_int;
7223}
7224extern "C" {
7225 pub fn snd_seq_queue_info_get_flags(
7226 info: *const snd_seq_queue_info_t,
7227 ) -> ::std::os::raw::c_uint;
7228}
7229extern "C" {
7230 pub fn snd_seq_queue_info_set_name(
7231 info: *mut snd_seq_queue_info_t,
7232 name: *const ::std::os::raw::c_char,
7233 );
7234}
7235extern "C" {
7236 pub fn snd_seq_queue_info_set_owner(
7237 info: *mut snd_seq_queue_info_t,
7238 owner: ::std::os::raw::c_int,
7239 );
7240}
7241extern "C" {
7242 pub fn snd_seq_queue_info_set_locked(
7243 info: *mut snd_seq_queue_info_t,
7244 locked: ::std::os::raw::c_int,
7245 );
7246}
7247extern "C" {
7248 pub fn snd_seq_queue_info_set_flags(
7249 info: *mut snd_seq_queue_info_t,
7250 flags: ::std::os::raw::c_uint,
7251 );
7252}
7253extern "C" {
7254 pub fn snd_seq_create_queue(
7255 seq: *mut snd_seq_t,
7256 info: *mut snd_seq_queue_info_t,
7257 ) -> ::std::os::raw::c_int;
7258}
7259extern "C" {
7260 pub fn snd_seq_alloc_named_queue(
7261 seq: *mut snd_seq_t,
7262 name: *const ::std::os::raw::c_char,
7263 ) -> ::std::os::raw::c_int;
7264}
7265extern "C" {
7266 pub fn snd_seq_alloc_queue(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
7267}
7268extern "C" {
7269 pub fn snd_seq_free_queue(
7270 handle: *mut snd_seq_t,
7271 q: ::std::os::raw::c_int,
7272 ) -> ::std::os::raw::c_int;
7273}
7274extern "C" {
7275 pub fn snd_seq_get_queue_info(
7276 seq: *mut snd_seq_t,
7277 q: ::std::os::raw::c_int,
7278 info: *mut snd_seq_queue_info_t,
7279 ) -> ::std::os::raw::c_int;
7280}
7281extern "C" {
7282 pub fn snd_seq_set_queue_info(
7283 seq: *mut snd_seq_t,
7284 q: ::std::os::raw::c_int,
7285 info: *mut snd_seq_queue_info_t,
7286 ) -> ::std::os::raw::c_int;
7287}
7288extern "C" {
7289 pub fn snd_seq_query_named_queue(
7290 seq: *mut snd_seq_t,
7291 name: *const ::std::os::raw::c_char,
7292 ) -> ::std::os::raw::c_int;
7293}
7294extern "C" {
7295 pub fn snd_seq_get_queue_usage(
7296 handle: *mut snd_seq_t,
7297 q: ::std::os::raw::c_int,
7298 ) -> ::std::os::raw::c_int;
7299}
7300extern "C" {
7301 pub fn snd_seq_set_queue_usage(
7302 handle: *mut snd_seq_t,
7303 q: ::std::os::raw::c_int,
7304 used: ::std::os::raw::c_int,
7305 ) -> ::std::os::raw::c_int;
7306}
7307extern "C" {
7308 pub fn snd_seq_queue_status_sizeof() -> usize;
7309}
7310extern "C" {
7311 pub fn snd_seq_queue_status_malloc(
7312 ptr: *mut *mut snd_seq_queue_status_t,
7313 ) -> ::std::os::raw::c_int;
7314}
7315extern "C" {
7316 pub fn snd_seq_queue_status_free(ptr: *mut snd_seq_queue_status_t);
7317}
7318extern "C" {
7319 pub fn snd_seq_queue_status_copy(
7320 dst: *mut snd_seq_queue_status_t,
7321 src: *const snd_seq_queue_status_t,
7322 );
7323}
7324extern "C" {
7325 pub fn snd_seq_queue_status_get_queue(
7326 info: *const snd_seq_queue_status_t,
7327 ) -> ::std::os::raw::c_int;
7328}
7329extern "C" {
7330 pub fn snd_seq_queue_status_get_events(
7331 info: *const snd_seq_queue_status_t,
7332 ) -> ::std::os::raw::c_int;
7333}
7334extern "C" {
7335 pub fn snd_seq_queue_status_get_tick_time(
7336 info: *const snd_seq_queue_status_t,
7337 ) -> snd_seq_tick_time_t;
7338}
7339extern "C" {
7340 pub fn snd_seq_queue_status_get_real_time(
7341 info: *const snd_seq_queue_status_t,
7342 ) -> *const snd_seq_real_time_t;
7343}
7344extern "C" {
7345 pub fn snd_seq_queue_status_get_status(
7346 info: *const snd_seq_queue_status_t,
7347 ) -> ::std::os::raw::c_uint;
7348}
7349extern "C" {
7350 pub fn snd_seq_get_queue_status(
7351 handle: *mut snd_seq_t,
7352 q: ::std::os::raw::c_int,
7353 status: *mut snd_seq_queue_status_t,
7354 ) -> ::std::os::raw::c_int;
7355}
7356extern "C" {
7357 pub fn snd_seq_queue_tempo_sizeof() -> usize;
7358}
7359extern "C" {
7360 pub fn snd_seq_queue_tempo_malloc(
7361 ptr: *mut *mut snd_seq_queue_tempo_t,
7362 ) -> ::std::os::raw::c_int;
7363}
7364extern "C" {
7365 pub fn snd_seq_queue_tempo_free(ptr: *mut snd_seq_queue_tempo_t);
7366}
7367extern "C" {
7368 pub fn snd_seq_queue_tempo_copy(
7369 dst: *mut snd_seq_queue_tempo_t,
7370 src: *const snd_seq_queue_tempo_t,
7371 );
7372}
7373extern "C" {
7374 pub fn snd_seq_queue_tempo_get_queue(
7375 info: *const snd_seq_queue_tempo_t,
7376 ) -> ::std::os::raw::c_int;
7377}
7378extern "C" {
7379 pub fn snd_seq_queue_tempo_get_tempo(
7380 info: *const snd_seq_queue_tempo_t,
7381 ) -> ::std::os::raw::c_uint;
7382}
7383extern "C" {
7384 pub fn snd_seq_queue_tempo_get_ppq(info: *const snd_seq_queue_tempo_t)
7385 -> ::std::os::raw::c_int;
7386}
7387extern "C" {
7388 pub fn snd_seq_queue_tempo_get_skew(
7389 info: *const snd_seq_queue_tempo_t,
7390 ) -> ::std::os::raw::c_uint;
7391}
7392extern "C" {
7393 pub fn snd_seq_queue_tempo_get_skew_base(
7394 info: *const snd_seq_queue_tempo_t,
7395 ) -> ::std::os::raw::c_uint;
7396}
7397extern "C" {
7398 pub fn snd_seq_queue_tempo_set_tempo(
7399 info: *mut snd_seq_queue_tempo_t,
7400 tempo: ::std::os::raw::c_uint,
7401 );
7402}
7403extern "C" {
7404 pub fn snd_seq_queue_tempo_set_ppq(
7405 info: *mut snd_seq_queue_tempo_t,
7406 ppq: ::std::os::raw::c_int,
7407 );
7408}
7409extern "C" {
7410 pub fn snd_seq_queue_tempo_set_skew(
7411 info: *mut snd_seq_queue_tempo_t,
7412 skew: ::std::os::raw::c_uint,
7413 );
7414}
7415extern "C" {
7416 pub fn snd_seq_queue_tempo_set_skew_base(
7417 info: *mut snd_seq_queue_tempo_t,
7418 base: ::std::os::raw::c_uint,
7419 );
7420}
7421extern "C" {
7422 pub fn snd_seq_get_queue_tempo(
7423 handle: *mut snd_seq_t,
7424 q: ::std::os::raw::c_int,
7425 tempo: *mut snd_seq_queue_tempo_t,
7426 ) -> ::std::os::raw::c_int;
7427}
7428extern "C" {
7429 pub fn snd_seq_set_queue_tempo(
7430 handle: *mut snd_seq_t,
7431 q: ::std::os::raw::c_int,
7432 tempo: *mut snd_seq_queue_tempo_t,
7433 ) -> ::std::os::raw::c_int;
7434}
7435pub const SND_SEQ_TIMER_ALSA: snd_seq_queue_timer_type_t = 0;
7436pub const SND_SEQ_TIMER_MIDI_CLOCK: snd_seq_queue_timer_type_t = 1;
7437pub const SND_SEQ_TIMER_MIDI_TICK: snd_seq_queue_timer_type_t = 2;
7438pub type snd_seq_queue_timer_type_t = ::std::os::raw::c_uint;
7439extern "C" {
7440 pub fn snd_seq_queue_timer_sizeof() -> usize;
7441}
7442extern "C" {
7443 pub fn snd_seq_queue_timer_malloc(
7444 ptr: *mut *mut snd_seq_queue_timer_t,
7445 ) -> ::std::os::raw::c_int;
7446}
7447extern "C" {
7448 pub fn snd_seq_queue_timer_free(ptr: *mut snd_seq_queue_timer_t);
7449}
7450extern "C" {
7451 pub fn snd_seq_queue_timer_copy(
7452 dst: *mut snd_seq_queue_timer_t,
7453 src: *const snd_seq_queue_timer_t,
7454 );
7455}
7456extern "C" {
7457 pub fn snd_seq_queue_timer_get_queue(
7458 info: *const snd_seq_queue_timer_t,
7459 ) -> ::std::os::raw::c_int;
7460}
7461extern "C" {
7462 pub fn snd_seq_queue_timer_get_type(
7463 info: *const snd_seq_queue_timer_t,
7464 ) -> snd_seq_queue_timer_type_t;
7465}
7466extern "C" {
7467 pub fn snd_seq_queue_timer_get_id(info: *const snd_seq_queue_timer_t) -> *const snd_timer_id_t;
7468}
7469extern "C" {
7470 pub fn snd_seq_queue_timer_get_resolution(
7471 info: *const snd_seq_queue_timer_t,
7472 ) -> ::std::os::raw::c_uint;
7473}
7474extern "C" {
7475 pub fn snd_seq_queue_timer_set_type(
7476 info: *mut snd_seq_queue_timer_t,
7477 type_: snd_seq_queue_timer_type_t,
7478 );
7479}
7480extern "C" {
7481 pub fn snd_seq_queue_timer_set_id(info: *mut snd_seq_queue_timer_t, id: *const snd_timer_id_t);
7482}
7483extern "C" {
7484 pub fn snd_seq_queue_timer_set_resolution(
7485 info: *mut snd_seq_queue_timer_t,
7486 resolution: ::std::os::raw::c_uint,
7487 );
7488}
7489extern "C" {
7490 pub fn snd_seq_get_queue_timer(
7491 handle: *mut snd_seq_t,
7492 q: ::std::os::raw::c_int,
7493 timer: *mut snd_seq_queue_timer_t,
7494 ) -> ::std::os::raw::c_int;
7495}
7496extern "C" {
7497 pub fn snd_seq_set_queue_timer(
7498 handle: *mut snd_seq_t,
7499 q: ::std::os::raw::c_int,
7500 timer: *mut snd_seq_queue_timer_t,
7501 ) -> ::std::os::raw::c_int;
7502}
7503extern "C" {
7504 pub fn snd_seq_free_event(ev: *mut snd_seq_event_t) -> ::std::os::raw::c_int;
7505}
7506extern "C" {
7507 pub fn snd_seq_event_length(ev: *mut snd_seq_event_t) -> isize;
7508}
7509extern "C" {
7510 pub fn snd_seq_event_output(
7511 handle: *mut snd_seq_t,
7512 ev: *mut snd_seq_event_t,
7513 ) -> ::std::os::raw::c_int;
7514}
7515extern "C" {
7516 pub fn snd_seq_event_output_buffer(
7517 handle: *mut snd_seq_t,
7518 ev: *mut snd_seq_event_t,
7519 ) -> ::std::os::raw::c_int;
7520}
7521extern "C" {
7522 pub fn snd_seq_event_output_direct(
7523 handle: *mut snd_seq_t,
7524 ev: *mut snd_seq_event_t,
7525 ) -> ::std::os::raw::c_int;
7526}
7527extern "C" {
7528 pub fn snd_seq_event_input(
7529 handle: *mut snd_seq_t,
7530 ev: *mut *mut snd_seq_event_t,
7531 ) -> ::std::os::raw::c_int;
7532}
7533extern "C" {
7534 pub fn snd_seq_event_input_pending(
7535 seq: *mut snd_seq_t,
7536 fetch_sequencer: ::std::os::raw::c_int,
7537 ) -> ::std::os::raw::c_int;
7538}
7539extern "C" {
7540 pub fn snd_seq_drain_output(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
7541}
7542extern "C" {
7543 pub fn snd_seq_event_output_pending(seq: *mut snd_seq_t) -> ::std::os::raw::c_int;
7544}
7545extern "C" {
7546 pub fn snd_seq_extract_output(
7547 handle: *mut snd_seq_t,
7548 ev: *mut *mut snd_seq_event_t,
7549 ) -> ::std::os::raw::c_int;
7550}
7551extern "C" {
7552 pub fn snd_seq_drop_output(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
7553}
7554extern "C" {
7555 pub fn snd_seq_drop_output_buffer(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
7556}
7557extern "C" {
7558 pub fn snd_seq_drop_input(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
7559}
7560extern "C" {
7561 pub fn snd_seq_drop_input_buffer(handle: *mut snd_seq_t) -> ::std::os::raw::c_int;
7562}
7563#[repr(C)]
7564#[derive(Debug, Copy, Clone)]
7565pub struct _snd_seq_remove_events {
7566 _unused: [u8; 0],
7567}
7568pub type snd_seq_remove_events_t = _snd_seq_remove_events;
7569extern "C" {
7570 pub fn snd_seq_remove_events_sizeof() -> usize;
7571}
7572extern "C" {
7573 pub fn snd_seq_remove_events_malloc(
7574 ptr: *mut *mut snd_seq_remove_events_t,
7575 ) -> ::std::os::raw::c_int;
7576}
7577extern "C" {
7578 pub fn snd_seq_remove_events_free(ptr: *mut snd_seq_remove_events_t);
7579}
7580extern "C" {
7581 pub fn snd_seq_remove_events_copy(
7582 dst: *mut snd_seq_remove_events_t,
7583 src: *const snd_seq_remove_events_t,
7584 );
7585}
7586extern "C" {
7587 pub fn snd_seq_remove_events_get_condition(
7588 info: *const snd_seq_remove_events_t,
7589 ) -> ::std::os::raw::c_uint;
7590}
7591extern "C" {
7592 pub fn snd_seq_remove_events_get_queue(
7593 info: *const snd_seq_remove_events_t,
7594 ) -> ::std::os::raw::c_int;
7595}
7596extern "C" {
7597 pub fn snd_seq_remove_events_get_time(
7598 info: *const snd_seq_remove_events_t,
7599 ) -> *const snd_seq_timestamp_t;
7600}
7601extern "C" {
7602 pub fn snd_seq_remove_events_get_dest(
7603 info: *const snd_seq_remove_events_t,
7604 ) -> *const snd_seq_addr_t;
7605}
7606extern "C" {
7607 pub fn snd_seq_remove_events_get_channel(
7608 info: *const snd_seq_remove_events_t,
7609 ) -> ::std::os::raw::c_int;
7610}
7611extern "C" {
7612 pub fn snd_seq_remove_events_get_event_type(
7613 info: *const snd_seq_remove_events_t,
7614 ) -> ::std::os::raw::c_int;
7615}
7616extern "C" {
7617 pub fn snd_seq_remove_events_get_tag(
7618 info: *const snd_seq_remove_events_t,
7619 ) -> ::std::os::raw::c_int;
7620}
7621extern "C" {
7622 pub fn snd_seq_remove_events_set_condition(
7623 info: *mut snd_seq_remove_events_t,
7624 flags: ::std::os::raw::c_uint,
7625 );
7626}
7627extern "C" {
7628 pub fn snd_seq_remove_events_set_queue(
7629 info: *mut snd_seq_remove_events_t,
7630 queue: ::std::os::raw::c_int,
7631 );
7632}
7633extern "C" {
7634 pub fn snd_seq_remove_events_set_time(
7635 info: *mut snd_seq_remove_events_t,
7636 time: *const snd_seq_timestamp_t,
7637 );
7638}
7639extern "C" {
7640 pub fn snd_seq_remove_events_set_dest(
7641 info: *mut snd_seq_remove_events_t,
7642 addr: *const snd_seq_addr_t,
7643 );
7644}
7645extern "C" {
7646 pub fn snd_seq_remove_events_set_channel(
7647 info: *mut snd_seq_remove_events_t,
7648 channel: ::std::os::raw::c_int,
7649 );
7650}
7651extern "C" {
7652 pub fn snd_seq_remove_events_set_event_type(
7653 info: *mut snd_seq_remove_events_t,
7654 type_: ::std::os::raw::c_int,
7655 );
7656}
7657extern "C" {
7658 pub fn snd_seq_remove_events_set_tag(
7659 info: *mut snd_seq_remove_events_t,
7660 tag: ::std::os::raw::c_int,
7661 );
7662}
7663extern "C" {
7664 pub fn snd_seq_remove_events(
7665 handle: *mut snd_seq_t,
7666 info: *mut snd_seq_remove_events_t,
7667 ) -> ::std::os::raw::c_int;
7668}
7669extern "C" {
7670 pub fn snd_seq_set_bit(nr: ::std::os::raw::c_int, array: *mut ::std::os::raw::c_void);
7671}
7672extern "C" {
7673 pub fn snd_seq_unset_bit(nr: ::std::os::raw::c_int, array: *mut ::std::os::raw::c_void);
7674}
7675extern "C" {
7676 pub fn snd_seq_change_bit(
7677 nr: ::std::os::raw::c_int,
7678 array: *mut ::std::os::raw::c_void,
7679 ) -> ::std::os::raw::c_int;
7680}
7681extern "C" {
7682 pub fn snd_seq_get_bit(
7683 nr: ::std::os::raw::c_int,
7684 array: *mut ::std::os::raw::c_void,
7685 ) -> ::std::os::raw::c_int;
7686}
7687extern "C" {
7688 pub fn snd_seq_control_queue(
7689 seq: *mut snd_seq_t,
7690 q: ::std::os::raw::c_int,
7691 type_: ::std::os::raw::c_int,
7692 value: ::std::os::raw::c_int,
7693 ev: *mut snd_seq_event_t,
7694 ) -> ::std::os::raw::c_int;
7695}
7696extern "C" {
7697 pub fn snd_seq_create_simple_port(
7698 seq: *mut snd_seq_t,
7699 name: *const ::std::os::raw::c_char,
7700 caps: ::std::os::raw::c_uint,
7701 type_: ::std::os::raw::c_uint,
7702 ) -> ::std::os::raw::c_int;
7703}
7704extern "C" {
7705 pub fn snd_seq_delete_simple_port(
7706 seq: *mut snd_seq_t,
7707 port: ::std::os::raw::c_int,
7708 ) -> ::std::os::raw::c_int;
7709}
7710extern "C" {
7711 pub fn snd_seq_connect_from(
7712 seq: *mut snd_seq_t,
7713 my_port: ::std::os::raw::c_int,
7714 src_client: ::std::os::raw::c_int,
7715 src_port: ::std::os::raw::c_int,
7716 ) -> ::std::os::raw::c_int;
7717}
7718extern "C" {
7719 pub fn snd_seq_connect_to(
7720 seq: *mut snd_seq_t,
7721 my_port: ::std::os::raw::c_int,
7722 dest_client: ::std::os::raw::c_int,
7723 dest_port: ::std::os::raw::c_int,
7724 ) -> ::std::os::raw::c_int;
7725}
7726extern "C" {
7727 pub fn snd_seq_disconnect_from(
7728 seq: *mut snd_seq_t,
7729 my_port: ::std::os::raw::c_int,
7730 src_client: ::std::os::raw::c_int,
7731 src_port: ::std::os::raw::c_int,
7732 ) -> ::std::os::raw::c_int;
7733}
7734extern "C" {
7735 pub fn snd_seq_disconnect_to(
7736 seq: *mut snd_seq_t,
7737 my_port: ::std::os::raw::c_int,
7738 dest_client: ::std::os::raw::c_int,
7739 dest_port: ::std::os::raw::c_int,
7740 ) -> ::std::os::raw::c_int;
7741}
7742extern "C" {
7743 pub fn snd_seq_set_client_name(
7744 seq: *mut snd_seq_t,
7745 name: *const ::std::os::raw::c_char,
7746 ) -> ::std::os::raw::c_int;
7747}
7748extern "C" {
7749 pub fn snd_seq_set_client_event_filter(
7750 seq: *mut snd_seq_t,
7751 event_type: ::std::os::raw::c_int,
7752 ) -> ::std::os::raw::c_int;
7753}
7754extern "C" {
7755 pub fn snd_seq_set_client_pool_output(
7756 seq: *mut snd_seq_t,
7757 size: usize,
7758 ) -> ::std::os::raw::c_int;
7759}
7760extern "C" {
7761 pub fn snd_seq_set_client_pool_output_room(
7762 seq: *mut snd_seq_t,
7763 size: usize,
7764 ) -> ::std::os::raw::c_int;
7765}
7766extern "C" {
7767 pub fn snd_seq_set_client_pool_input(seq: *mut snd_seq_t, size: usize)
7768 -> ::std::os::raw::c_int;
7769}
7770extern "C" {
7771 pub fn snd_seq_sync_output_queue(seq: *mut snd_seq_t) -> ::std::os::raw::c_int;
7772}
7773extern "C" {
7774 pub fn snd_seq_parse_address(
7775 seq: *mut snd_seq_t,
7776 addr: *mut snd_seq_addr_t,
7777 str_: *const ::std::os::raw::c_char,
7778 ) -> ::std::os::raw::c_int;
7779}
7780extern "C" {
7781 pub fn snd_seq_reset_pool_output(seq: *mut snd_seq_t) -> ::std::os::raw::c_int;
7782}
7783extern "C" {
7784 pub fn snd_seq_reset_pool_input(seq: *mut snd_seq_t) -> ::std::os::raw::c_int;
7785}
7786#[repr(C)]
7787#[derive(Debug, Copy, Clone)]
7788pub struct snd_midi_event {
7789 _unused: [u8; 0],
7790}
7791pub type snd_midi_event_t = snd_midi_event;
7792extern "C" {
7793 pub fn snd_midi_event_new(
7794 bufsize: usize,
7795 rdev: *mut *mut snd_midi_event_t,
7796 ) -> ::std::os::raw::c_int;
7797}
7798extern "C" {
7799 pub fn snd_midi_event_resize_buffer(
7800 dev: *mut snd_midi_event_t,
7801 bufsize: usize,
7802 ) -> ::std::os::raw::c_int;
7803}
7804extern "C" {
7805 pub fn snd_midi_event_free(dev: *mut snd_midi_event_t);
7806}
7807extern "C" {
7808 pub fn snd_midi_event_init(dev: *mut snd_midi_event_t);
7809}
7810extern "C" {
7811 pub fn snd_midi_event_reset_encode(dev: *mut snd_midi_event_t);
7812}
7813extern "C" {
7814 pub fn snd_midi_event_reset_decode(dev: *mut snd_midi_event_t);
7815}
7816extern "C" {
7817 pub fn snd_midi_event_no_status(dev: *mut snd_midi_event_t, on: ::std::os::raw::c_int);
7818}
7819extern "C" {
7820 pub fn snd_midi_event_encode(
7821 dev: *mut snd_midi_event_t,
7822 buf: *const ::std::os::raw::c_uchar,
7823 count: ::std::os::raw::c_long,
7824 ev: *mut snd_seq_event_t,
7825 ) -> ::std::os::raw::c_long;
7826}
7827extern "C" {
7828 pub fn snd_midi_event_encode_byte(
7829 dev: *mut snd_midi_event_t,
7830 c: ::std::os::raw::c_int,
7831 ev: *mut snd_seq_event_t,
7832 ) -> ::std::os::raw::c_int;
7833}
7834extern "C" {
7835 pub fn snd_midi_event_decode(
7836 dev: *mut snd_midi_event_t,
7837 buf: *mut ::std::os::raw::c_uchar,
7838 count: ::std::os::raw::c_long,
7839 ev: *const snd_seq_event_t,
7840 ) -> ::std::os::raw::c_long;
7841}
7842pub type __builtin_va_list = [__va_list_tag; 1usize];
7843#[repr(C)]
7844#[derive(Debug, Copy, Clone)]
7845pub struct __va_list_tag {
7846 pub gp_offset: ::std::os::raw::c_uint,
7847 pub fp_offset: ::std::os::raw::c_uint,
7848 pub overflow_arg_area: *mut ::std::os::raw::c_void,
7849 pub reg_save_area: *mut ::std::os::raw::c_void,
7850}