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 fn extract_bit(byte: u8, index: usize) -> bool {
20 let bit_index = if cfg!(target_endian = "big") {
21 7 - (index % 8)
22 } else {
23 index % 8
24 };
25 let mask = 1 << bit_index;
26 byte & mask == mask
27 }
28 #[inline]
29 pub fn get_bit(&self, index: usize) -> bool {
30 debug_assert!(index / 8 < self.storage.as_ref().len());
31 let byte_index = index / 8;
32 let byte = self.storage.as_ref()[byte_index];
33 Self::extract_bit(byte, index)
34 }
35 #[inline]
36 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
37 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
38 let byte_index = index / 8;
39 let byte = unsafe {
40 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
41 };
42 Self::extract_bit(byte, index)
43 }
44 #[inline]
45 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
46 let bit_index = if cfg!(target_endian = "big") {
47 7 - (index % 8)
48 } else {
49 index % 8
50 };
51 let mask = 1 << bit_index;
52 if val { byte | mask } else { byte & !mask }
53 }
54 #[inline]
55 pub fn set_bit(&mut self, index: usize, val: bool) {
56 debug_assert!(index / 8 < self.storage.as_ref().len());
57 let byte_index = index / 8;
58 let byte = &mut self.storage.as_mut()[byte_index];
59 *byte = Self::change_bit(*byte, index, val);
60 }
61 #[inline]
62 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
63 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
64 let byte_index = index / 8;
65 let byte = unsafe {
66 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
67 };
68 unsafe { *byte = Self::change_bit(*byte, index, val) };
69 }
70 #[inline]
71 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
72 debug_assert!(bit_width <= 64);
73 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75 let mut val = 0;
76 for i in 0..(bit_width as usize) {
77 if self.get_bit(i + bit_offset) {
78 let index = if cfg!(target_endian = "big") {
79 bit_width as usize - 1 - i
80 } else {
81 i
82 };
83 val |= 1 << index;
84 }
85 }
86 val
87 }
88 #[inline]
89 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
90 debug_assert!(bit_width <= 64);
91 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
92 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
93 let mut val = 0;
94 for i in 0..(bit_width as usize) {
95 if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
96 let index = if cfg!(target_endian = "big") {
97 bit_width as usize - 1 - i
98 } else {
99 i
100 };
101 val |= 1 << index;
102 }
103 }
104 val
105 }
106 #[inline]
107 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
108 debug_assert!(bit_width <= 64);
109 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111 for i in 0..(bit_width as usize) {
112 let mask = 1 << i;
113 let val_bit_is_set = val & mask == mask;
114 let index = if cfg!(target_endian = "big") {
115 bit_width as usize - 1 - i
116 } else {
117 i
118 };
119 self.set_bit(index + bit_offset, val_bit_is_set);
120 }
121 }
122 #[inline]
123 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
124 debug_assert!(bit_width <= 64);
125 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
126 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
127 for i in 0..(bit_width as usize) {
128 let mask = 1 << i;
129 let val_bit_is_set = val & mask == mask;
130 let index = if cfg!(target_endian = "big") {
131 bit_width as usize - 1 - i
132 } else {
133 i
134 };
135 unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
136 }
137 }
138}
139#[repr(C)]
140#[derive(Default)]
141pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
142impl<T> __IncompleteArrayField<T> {
143 #[inline]
144 pub const fn new() -> Self {
145 __IncompleteArrayField(::core::marker::PhantomData, [])
146 }
147 #[inline]
148 pub fn as_ptr(&self) -> *const T {
149 self as *const _ as *const T
150 }
151 #[inline]
152 pub fn as_mut_ptr(&mut self) -> *mut T {
153 self as *mut _ as *mut T
154 }
155 #[inline]
156 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
157 ::core::slice::from_raw_parts(self.as_ptr(), len)
158 }
159 #[inline]
160 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
161 ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
162 }
163}
164impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
165 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
166 fmt.write_str("__IncompleteArrayField")
167 }
168}
169pub type __gnuc_va_list = __builtin_va_list;
170pub type va_list = __gnuc_va_list;
171unsafe extern "C" {
172 pub fn snd_asoundlib_version() -> *const ::core::ffi::c_char;
173}
174#[repr(C)]
175#[derive(Debug, Copy, Clone)]
176pub struct snd_dlsym_link {
177 pub next: *mut snd_dlsym_link,
178 pub dlsym_name: *const ::core::ffi::c_char,
179 pub dlsym_ptr: *const ::core::ffi::c_void,
180}
181unsafe extern "C" {
182 pub fn snd_dlpath(
183 path: *mut ::core::ffi::c_char,
184 path_len: usize,
185 name: *const ::core::ffi::c_char,
186 ) -> ::core::ffi::c_int;
187}
188unsafe extern "C" {
189 pub fn snd_dlopen(
190 file: *const ::core::ffi::c_char,
191 mode: ::core::ffi::c_int,
192 errbuf: *mut ::core::ffi::c_char,
193 errbuflen: usize,
194 ) -> *mut ::core::ffi::c_void;
195}
196unsafe extern "C" {
197 pub fn snd_dlsym(
198 handle: *mut ::core::ffi::c_void,
199 name: *const ::core::ffi::c_char,
200 version: *const ::core::ffi::c_char,
201 ) -> *mut ::core::ffi::c_void;
202}
203unsafe extern "C" {
204 pub fn snd_dlclose(handle: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
205}
206#[repr(C)]
207#[derive(Debug, Copy, Clone)]
208pub struct _snd_async_handler {
209 _unused: [u8; 0],
210}
211pub type snd_async_handler_t = _snd_async_handler;
212pub type snd_async_callback_t =
213 ::core::option::Option<unsafe extern "C" fn(handler: *mut snd_async_handler_t)>;
214unsafe extern "C" {
215 pub fn snd_async_add_handler(
216 handler: *mut *mut snd_async_handler_t,
217 fd: ::core::ffi::c_int,
218 callback: snd_async_callback_t,
219 private_data: *mut ::core::ffi::c_void,
220 ) -> ::core::ffi::c_int;
221}
222unsafe extern "C" {
223 pub fn snd_async_del_handler(handler: *mut snd_async_handler_t) -> ::core::ffi::c_int;
224}
225unsafe extern "C" {
226 pub fn snd_async_handler_get_fd(handler: *mut snd_async_handler_t) -> ::core::ffi::c_int;
227}
228unsafe extern "C" {
229 pub fn snd_async_handler_get_signo(handler: *mut snd_async_handler_t) -> ::core::ffi::c_int;
230}
231unsafe extern "C" {
232 pub fn snd_async_handler_get_callback_private(
233 handler: *mut snd_async_handler_t,
234 ) -> *mut ::core::ffi::c_void;
235}
236#[repr(C)]
237#[derive(Debug, Copy, Clone)]
238pub struct snd_shm_area {
239 _unused: [u8; 0],
240}
241unsafe extern "C" {
242 pub fn snd_shm_area_create(
243 shmid: ::core::ffi::c_int,
244 ptr: *mut ::core::ffi::c_void,
245 ) -> *mut snd_shm_area;
246}
247unsafe extern "C" {
248 pub fn snd_shm_area_share(area: *mut snd_shm_area) -> *mut snd_shm_area;
249}
250unsafe extern "C" {
251 pub fn snd_shm_area_destroy(area: *mut snd_shm_area) -> ::core::ffi::c_int;
252}
253unsafe extern "C" {
254 pub fn snd_user_file(
255 file: *const ::core::ffi::c_char,
256 result: *mut *mut ::core::ffi::c_char,
257 ) -> ::core::ffi::c_int;
258}
259pub type snd_timestamp_t = timeval;
260pub type snd_htimestamp_t = timespec;
261#[repr(C)]
262#[derive(Debug, Copy, Clone)]
263pub struct _snd_input {
264 _unused: [u8; 0],
265}
266pub type snd_input_t = _snd_input;
267pub const SND_INPUT_STDIO: _snd_input_type = 0;
268pub const SND_INPUT_BUFFER: _snd_input_type = 1;
269pub type _snd_input_type = ::core::ffi::c_uint;
270pub use self::_snd_input_type as snd_input_type_t;
271unsafe extern "C" {
272 pub fn snd_input_stdio_open(
273 inputp: *mut *mut snd_input_t,
274 file: *const ::core::ffi::c_char,
275 mode: *const ::core::ffi::c_char,
276 ) -> ::core::ffi::c_int;
277}
278unsafe extern "C" {
279 pub fn snd_input_stdio_attach(
280 inputp: *mut *mut snd_input_t,
281 fp: *mut FILE,
282 _close: ::core::ffi::c_int,
283 ) -> ::core::ffi::c_int;
284}
285unsafe extern "C" {
286 pub fn snd_input_buffer_open(
287 inputp: *mut *mut snd_input_t,
288 buffer: *const ::core::ffi::c_char,
289 size: isize,
290 ) -> ::core::ffi::c_int;
291}
292unsafe extern "C" {
293 pub fn snd_input_close(input: *mut snd_input_t) -> ::core::ffi::c_int;
294}
295unsafe extern "C" {
296 pub fn snd_input_scanf(
297 input: *mut snd_input_t,
298 format: *const ::core::ffi::c_char,
299 ...
300 ) -> ::core::ffi::c_int;
301}
302unsafe extern "C" {
303 pub fn snd_input_gets(
304 input: *mut snd_input_t,
305 str_: *mut ::core::ffi::c_char,
306 size: usize,
307 ) -> *mut ::core::ffi::c_char;
308}
309unsafe extern "C" {
310 pub fn snd_input_getc(input: *mut snd_input_t) -> ::core::ffi::c_int;
311}
312unsafe extern "C" {
313 pub fn snd_input_ungetc(input: *mut snd_input_t, c: ::core::ffi::c_int) -> ::core::ffi::c_int;
314}
315#[repr(C)]
316#[derive(Debug, Copy, Clone)]
317pub struct _snd_output {
318 _unused: [u8; 0],
319}
320pub type snd_output_t = _snd_output;
321pub const SND_OUTPUT_STDIO: _snd_output_type = 0;
322pub const SND_OUTPUT_BUFFER: _snd_output_type = 1;
323pub type _snd_output_type = ::core::ffi::c_uint;
324pub use self::_snd_output_type as snd_output_type_t;
325unsafe extern "C" {
326 pub fn snd_output_stdio_open(
327 outputp: *mut *mut snd_output_t,
328 file: *const ::core::ffi::c_char,
329 mode: *const ::core::ffi::c_char,
330 ) -> ::core::ffi::c_int;
331}
332unsafe extern "C" {
333 pub fn snd_output_stdio_attach(
334 outputp: *mut *mut snd_output_t,
335 fp: *mut FILE,
336 _close: ::core::ffi::c_int,
337 ) -> ::core::ffi::c_int;
338}
339unsafe extern "C" {
340 pub fn snd_output_buffer_open(outputp: *mut *mut snd_output_t) -> ::core::ffi::c_int;
341}
342unsafe extern "C" {
343 pub fn snd_output_buffer_string(
344 output: *mut snd_output_t,
345 buf: *mut *mut ::core::ffi::c_char,
346 ) -> usize;
347}
348unsafe extern "C" {
349 pub fn snd_output_buffer_steal(
350 output: *mut snd_output_t,
351 buf: *mut *mut ::core::ffi::c_char,
352 ) -> usize;
353}
354unsafe extern "C" {
355 pub fn snd_output_close(output: *mut snd_output_t) -> ::core::ffi::c_int;
356}
357unsafe extern "C" {
358 pub fn snd_output_printf(
359 output: *mut snd_output_t,
360 format: *const ::core::ffi::c_char,
361 ...
362 ) -> ::core::ffi::c_int;
363}
364unsafe extern "C" {
365 pub fn snd_output_vprintf(
366 output: *mut snd_output_t,
367 format: *const ::core::ffi::c_char,
368 args: *mut __va_list_tag,
369 ) -> ::core::ffi::c_int;
370}
371unsafe extern "C" {
372 pub fn snd_output_puts(
373 output: *mut snd_output_t,
374 str_: *const ::core::ffi::c_char,
375 ) -> ::core::ffi::c_int;
376}
377unsafe extern "C" {
378 pub fn snd_output_putc(output: *mut snd_output_t, c: ::core::ffi::c_int) -> ::core::ffi::c_int;
379}
380unsafe extern "C" {
381 pub fn snd_output_flush(output: *mut snd_output_t) -> ::core::ffi::c_int;
382}
383unsafe extern "C" {
384 pub fn snd_strerror(errnum: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
385}
386pub type snd_lib_error_handler_t = ::core::option::Option<
387 unsafe extern "C" fn(
388 file: *const ::core::ffi::c_char,
389 line: ::core::ffi::c_int,
390 function: *const ::core::ffi::c_char,
391 err: ::core::ffi::c_int,
392 fmt: *const ::core::ffi::c_char,
393 ...
394 ),
395>;
396unsafe extern "C" {
397 pub fn snd_lib_error_set_handler(handler: snd_lib_error_handler_t) -> ::core::ffi::c_int;
398}
399pub type snd_local_error_handler_t = ::core::option::Option<
400 unsafe extern "C" fn(
401 file: *const ::core::ffi::c_char,
402 line: ::core::ffi::c_int,
403 func: *const ::core::ffi::c_char,
404 err: ::core::ffi::c_int,
405 fmt: *const ::core::ffi::c_char,
406 arg: *mut __va_list_tag,
407 ),
408>;
409unsafe extern "C" {
410 pub fn snd_lib_error_set_local(func: snd_local_error_handler_t) -> snd_local_error_handler_t;
411}
412pub const SND_CONFIG_TYPE_INTEGER: _snd_config_type = 0;
413pub const SND_CONFIG_TYPE_INTEGER64: _snd_config_type = 1;
414pub const SND_CONFIG_TYPE_REAL: _snd_config_type = 2;
415pub const SND_CONFIG_TYPE_STRING: _snd_config_type = 3;
416pub const SND_CONFIG_TYPE_POINTER: _snd_config_type = 4;
417pub const SND_CONFIG_TYPE_COMPOUND: _snd_config_type = 1024;
418pub type _snd_config_type = ::core::ffi::c_uint;
419pub use self::_snd_config_type as snd_config_type_t;
420#[repr(C)]
421#[derive(Debug, Copy, Clone)]
422pub struct _snd_config {
423 _unused: [u8; 0],
424}
425pub type snd_config_t = _snd_config;
426#[repr(C)]
427#[derive(Debug, Copy, Clone)]
428pub struct _snd_config_iterator {
429 _unused: [u8; 0],
430}
431pub type snd_config_iterator_t = *mut _snd_config_iterator;
432#[repr(C)]
433#[derive(Debug, Copy, Clone)]
434pub struct _snd_config_update {
435 _unused: [u8; 0],
436}
437pub type snd_config_update_t = _snd_config_update;
438unsafe extern "C" {
439 pub fn snd_config_topdir() -> *const ::core::ffi::c_char;
440}
441unsafe extern "C" {
442 pub fn snd_config_top(config: *mut *mut snd_config_t) -> ::core::ffi::c_int;
443}
444unsafe extern "C" {
445 pub fn snd_config_load(config: *mut snd_config_t, in_: *mut snd_input_t) -> ::core::ffi::c_int;
446}
447unsafe extern "C" {
448 pub fn snd_config_load_string(
449 config: *mut *mut snd_config_t,
450 s: *const ::core::ffi::c_char,
451 size: usize,
452 ) -> ::core::ffi::c_int;
453}
454unsafe extern "C" {
455 pub fn snd_config_load_override(
456 config: *mut snd_config_t,
457 in_: *mut snd_input_t,
458 ) -> ::core::ffi::c_int;
459}
460unsafe extern "C" {
461 pub fn snd_config_save(config: *mut snd_config_t, out: *mut snd_output_t)
462 -> ::core::ffi::c_int;
463}
464unsafe extern "C" {
465 pub fn snd_config_update() -> ::core::ffi::c_int;
466}
467unsafe extern "C" {
468 pub fn snd_config_update_r(
469 top: *mut *mut snd_config_t,
470 update: *mut *mut snd_config_update_t,
471 path: *const ::core::ffi::c_char,
472 ) -> ::core::ffi::c_int;
473}
474unsafe extern "C" {
475 pub fn snd_config_update_free(update: *mut snd_config_update_t) -> ::core::ffi::c_int;
476}
477unsafe extern "C" {
478 pub fn snd_config_update_free_global() -> ::core::ffi::c_int;
479}
480unsafe extern "C" {
481 pub fn snd_config_update_ref(top: *mut *mut snd_config_t) -> ::core::ffi::c_int;
482}
483unsafe extern "C" {
484 pub fn snd_config_ref(top: *mut snd_config_t);
485}
486unsafe extern "C" {
487 pub fn snd_config_unref(top: *mut snd_config_t);
488}
489unsafe extern "C" {
490 pub fn snd_config_search(
491 config: *mut snd_config_t,
492 key: *const ::core::ffi::c_char,
493 result: *mut *mut snd_config_t,
494 ) -> ::core::ffi::c_int;
495}
496unsafe extern "C" {
497 pub fn snd_config_searchv(
498 config: *mut snd_config_t,
499 result: *mut *mut snd_config_t,
500 ...
501 ) -> ::core::ffi::c_int;
502}
503unsafe extern "C" {
504 pub fn snd_config_search_definition(
505 config: *mut snd_config_t,
506 base: *const ::core::ffi::c_char,
507 key: *const ::core::ffi::c_char,
508 result: *mut *mut snd_config_t,
509 ) -> ::core::ffi::c_int;
510}
511pub type snd_config_expand_fcn_t = ::core::option::Option<
512 unsafe extern "C" fn(
513 dst: *mut *mut snd_config_t,
514 s: *const ::core::ffi::c_char,
515 private_data: *mut ::core::ffi::c_void,
516 ) -> ::core::ffi::c_int,
517>;
518unsafe extern "C" {
519 pub fn snd_config_expand_custom(
520 config: *mut snd_config_t,
521 root: *mut snd_config_t,
522 fcn: snd_config_expand_fcn_t,
523 private_data: *mut ::core::ffi::c_void,
524 result: *mut *mut snd_config_t,
525 ) -> ::core::ffi::c_int;
526}
527unsafe extern "C" {
528 pub fn snd_config_expand(
529 config: *mut snd_config_t,
530 root: *mut snd_config_t,
531 args: *const ::core::ffi::c_char,
532 private_data: *mut snd_config_t,
533 result: *mut *mut snd_config_t,
534 ) -> ::core::ffi::c_int;
535}
536unsafe extern "C" {
537 pub fn snd_config_evaluate(
538 config: *mut snd_config_t,
539 root: *mut snd_config_t,
540 private_data: *mut snd_config_t,
541 result: *mut *mut snd_config_t,
542 ) -> ::core::ffi::c_int;
543}
544unsafe extern "C" {
545 pub fn snd_config_evaluate_string(
546 dst: *mut *mut snd_config_t,
547 s: *const ::core::ffi::c_char,
548 fcn: snd_config_expand_fcn_t,
549 private_data: *mut ::core::ffi::c_void,
550 ) -> ::core::ffi::c_int;
551}
552unsafe extern "C" {
553 pub fn snd_config_add(
554 config: *mut snd_config_t,
555 child: *mut snd_config_t,
556 ) -> ::core::ffi::c_int;
557}
558unsafe extern "C" {
559 pub fn snd_config_add_before(
560 before: *mut snd_config_t,
561 child: *mut snd_config_t,
562 ) -> ::core::ffi::c_int;
563}
564unsafe extern "C" {
565 pub fn snd_config_add_after(
566 after: *mut snd_config_t,
567 child: *mut snd_config_t,
568 ) -> ::core::ffi::c_int;
569}
570unsafe extern "C" {
571 pub fn snd_config_remove(config: *mut snd_config_t) -> ::core::ffi::c_int;
572}
573unsafe extern "C" {
574 pub fn snd_config_delete(config: *mut snd_config_t) -> ::core::ffi::c_int;
575}
576unsafe extern "C" {
577 pub fn snd_config_delete_compound_members(config: *const snd_config_t) -> ::core::ffi::c_int;
578}
579unsafe extern "C" {
580 pub fn snd_config_copy(
581 dst: *mut *mut snd_config_t,
582 src: *mut snd_config_t,
583 ) -> ::core::ffi::c_int;
584}
585unsafe extern "C" {
586 pub fn snd_config_substitute(
587 dst: *mut snd_config_t,
588 src: *mut snd_config_t,
589 ) -> ::core::ffi::c_int;
590}
591unsafe extern "C" {
592 pub fn snd_config_merge(
593 dst: *mut snd_config_t,
594 src: *mut snd_config_t,
595 override_: ::core::ffi::c_int,
596 ) -> ::core::ffi::c_int;
597}
598unsafe extern "C" {
599 pub fn snd_config_make(
600 config: *mut *mut snd_config_t,
601 key: *const ::core::ffi::c_char,
602 type_: snd_config_type_t,
603 ) -> ::core::ffi::c_int;
604}
605unsafe extern "C" {
606 pub fn snd_config_make_integer(
607 config: *mut *mut snd_config_t,
608 key: *const ::core::ffi::c_char,
609 ) -> ::core::ffi::c_int;
610}
611unsafe extern "C" {
612 pub fn snd_config_make_integer64(
613 config: *mut *mut snd_config_t,
614 key: *const ::core::ffi::c_char,
615 ) -> ::core::ffi::c_int;
616}
617unsafe extern "C" {
618 pub fn snd_config_make_real(
619 config: *mut *mut snd_config_t,
620 key: *const ::core::ffi::c_char,
621 ) -> ::core::ffi::c_int;
622}
623unsafe extern "C" {
624 pub fn snd_config_make_string(
625 config: *mut *mut snd_config_t,
626 key: *const ::core::ffi::c_char,
627 ) -> ::core::ffi::c_int;
628}
629unsafe extern "C" {
630 pub fn snd_config_make_pointer(
631 config: *mut *mut snd_config_t,
632 key: *const ::core::ffi::c_char,
633 ) -> ::core::ffi::c_int;
634}
635unsafe extern "C" {
636 pub fn snd_config_make_compound(
637 config: *mut *mut snd_config_t,
638 key: *const ::core::ffi::c_char,
639 join: ::core::ffi::c_int,
640 ) -> ::core::ffi::c_int;
641}
642unsafe extern "C" {
643 pub fn snd_config_make_path(
644 config: *mut *mut snd_config_t,
645 root: *mut snd_config_t,
646 key: *const ::core::ffi::c_char,
647 join: ::core::ffi::c_int,
648 override_: ::core::ffi::c_int,
649 ) -> ::core::ffi::c_int;
650}
651unsafe extern "C" {
652 pub fn snd_config_imake_integer(
653 config: *mut *mut snd_config_t,
654 key: *const ::core::ffi::c_char,
655 value: ::core::ffi::c_long,
656 ) -> ::core::ffi::c_int;
657}
658unsafe extern "C" {
659 pub fn snd_config_imake_integer64(
660 config: *mut *mut snd_config_t,
661 key: *const ::core::ffi::c_char,
662 value: ::core::ffi::c_longlong,
663 ) -> ::core::ffi::c_int;
664}
665unsafe extern "C" {
666 pub fn snd_config_imake_real(
667 config: *mut *mut snd_config_t,
668 key: *const ::core::ffi::c_char,
669 value: f64,
670 ) -> ::core::ffi::c_int;
671}
672unsafe extern "C" {
673 pub fn snd_config_imake_string(
674 config: *mut *mut snd_config_t,
675 key: *const ::core::ffi::c_char,
676 ascii: *const ::core::ffi::c_char,
677 ) -> ::core::ffi::c_int;
678}
679unsafe extern "C" {
680 pub fn snd_config_imake_safe_string(
681 config: *mut *mut snd_config_t,
682 key: *const ::core::ffi::c_char,
683 ascii: *const ::core::ffi::c_char,
684 ) -> ::core::ffi::c_int;
685}
686unsafe extern "C" {
687 pub fn snd_config_imake_pointer(
688 config: *mut *mut snd_config_t,
689 key: *const ::core::ffi::c_char,
690 ptr: *const ::core::ffi::c_void,
691 ) -> ::core::ffi::c_int;
692}
693unsafe extern "C" {
694 pub fn snd_config_get_type(config: *const snd_config_t) -> snd_config_type_t;
695}
696unsafe extern "C" {
697 pub fn snd_config_is_array(config: *const snd_config_t) -> ::core::ffi::c_int;
698}
699unsafe extern "C" {
700 pub fn snd_config_is_empty(config: *const snd_config_t) -> ::core::ffi::c_int;
701}
702unsafe extern "C" {
703 pub fn snd_config_set_id(
704 config: *mut snd_config_t,
705 id: *const ::core::ffi::c_char,
706 ) -> ::core::ffi::c_int;
707}
708unsafe extern "C" {
709 pub fn snd_config_set_integer(
710 config: *mut snd_config_t,
711 value: ::core::ffi::c_long,
712 ) -> ::core::ffi::c_int;
713}
714unsafe extern "C" {
715 pub fn snd_config_set_integer64(
716 config: *mut snd_config_t,
717 value: ::core::ffi::c_longlong,
718 ) -> ::core::ffi::c_int;
719}
720unsafe extern "C" {
721 pub fn snd_config_set_real(config: *mut snd_config_t, value: f64) -> ::core::ffi::c_int;
722}
723unsafe extern "C" {
724 pub fn snd_config_set_string(
725 config: *mut snd_config_t,
726 value: *const ::core::ffi::c_char,
727 ) -> ::core::ffi::c_int;
728}
729unsafe extern "C" {
730 pub fn snd_config_set_ascii(
731 config: *mut snd_config_t,
732 ascii: *const ::core::ffi::c_char,
733 ) -> ::core::ffi::c_int;
734}
735unsafe extern "C" {
736 pub fn snd_config_set_pointer(
737 config: *mut snd_config_t,
738 ptr: *const ::core::ffi::c_void,
739 ) -> ::core::ffi::c_int;
740}
741unsafe extern "C" {
742 pub fn snd_config_get_id(
743 config: *const snd_config_t,
744 value: *mut *const ::core::ffi::c_char,
745 ) -> ::core::ffi::c_int;
746}
747unsafe extern "C" {
748 pub fn snd_config_get_integer(
749 config: *const snd_config_t,
750 value: *mut ::core::ffi::c_long,
751 ) -> ::core::ffi::c_int;
752}
753unsafe extern "C" {
754 pub fn snd_config_get_integer64(
755 config: *const snd_config_t,
756 value: *mut ::core::ffi::c_longlong,
757 ) -> ::core::ffi::c_int;
758}
759unsafe extern "C" {
760 pub fn snd_config_get_real(config: *const snd_config_t, value: *mut f64) -> ::core::ffi::c_int;
761}
762unsafe extern "C" {
763 pub fn snd_config_get_ireal(config: *const snd_config_t, value: *mut f64)
764 -> ::core::ffi::c_int;
765}
766unsafe extern "C" {
767 pub fn snd_config_get_string(
768 config: *const snd_config_t,
769 value: *mut *const ::core::ffi::c_char,
770 ) -> ::core::ffi::c_int;
771}
772unsafe extern "C" {
773 pub fn snd_config_get_ascii(
774 config: *const snd_config_t,
775 value: *mut *mut ::core::ffi::c_char,
776 ) -> ::core::ffi::c_int;
777}
778unsafe extern "C" {
779 pub fn snd_config_get_pointer(
780 config: *const snd_config_t,
781 value: *mut *const ::core::ffi::c_void,
782 ) -> ::core::ffi::c_int;
783}
784unsafe extern "C" {
785 pub fn snd_config_test_id(
786 config: *const snd_config_t,
787 id: *const ::core::ffi::c_char,
788 ) -> ::core::ffi::c_int;
789}
790unsafe extern "C" {
791 pub fn snd_config_iterator_first(node: *const snd_config_t) -> snd_config_iterator_t;
792}
793unsafe extern "C" {
794 pub fn snd_config_iterator_next(iterator: snd_config_iterator_t) -> snd_config_iterator_t;
795}
796unsafe extern "C" {
797 pub fn snd_config_iterator_end(node: *const snd_config_t) -> snd_config_iterator_t;
798}
799unsafe extern "C" {
800 pub fn snd_config_iterator_entry(iterator: snd_config_iterator_t) -> *mut snd_config_t;
801}
802unsafe extern "C" {
803 pub fn snd_config_get_bool_ascii(ascii: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
804}
805unsafe extern "C" {
806 pub fn snd_config_get_bool(conf: *const snd_config_t) -> ::core::ffi::c_int;
807}
808unsafe extern "C" {
809 pub fn snd_config_get_card(conf: *const snd_config_t) -> ::core::ffi::c_int;
810}
811unsafe extern "C" {
812 pub fn snd_config_get_ctl_iface_ascii(ascii: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
813}
814unsafe extern "C" {
815 pub fn snd_config_get_ctl_iface(conf: *const snd_config_t) -> ::core::ffi::c_int;
816}
817pub type snd_devname_t = snd_devname;
818#[repr(C)]
819#[derive(Debug, Copy, Clone)]
820pub struct snd_devname {
821 pub name: *mut ::core::ffi::c_char,
822 pub comment: *mut ::core::ffi::c_char,
823 pub next: *mut snd_devname_t,
824}
825unsafe extern "C" {
826 pub fn snd_names_list(
827 iface: *const ::core::ffi::c_char,
828 list: *mut *mut snd_devname_t,
829 ) -> ::core::ffi::c_int;
830}
831unsafe extern "C" {
832 pub fn snd_names_list_free(list: *mut snd_devname_t);
833}
834#[repr(C)]
835#[derive(Debug, Copy, Clone)]
836pub struct _snd_pcm_info {
837 _unused: [u8; 0],
838}
839pub type snd_pcm_info_t = _snd_pcm_info;
840#[repr(C)]
841#[derive(Debug, Copy, Clone)]
842pub struct _snd_pcm_hw_params {
843 _unused: [u8; 0],
844}
845pub type snd_pcm_hw_params_t = _snd_pcm_hw_params;
846#[repr(C)]
847#[derive(Debug, Copy, Clone)]
848pub struct _snd_pcm_sw_params {
849 _unused: [u8; 0],
850}
851pub type snd_pcm_sw_params_t = _snd_pcm_sw_params;
852#[repr(C)]
853#[derive(Debug, Copy, Clone)]
854pub struct _snd_pcm_status {
855 _unused: [u8; 0],
856}
857pub type snd_pcm_status_t = _snd_pcm_status;
858#[repr(C)]
859#[derive(Debug, Copy, Clone)]
860pub struct _snd_pcm_access_mask {
861 _unused: [u8; 0],
862}
863pub type snd_pcm_access_mask_t = _snd_pcm_access_mask;
864#[repr(C)]
865#[derive(Debug, Copy, Clone)]
866pub struct _snd_pcm_format_mask {
867 _unused: [u8; 0],
868}
869pub type snd_pcm_format_mask_t = _snd_pcm_format_mask;
870#[repr(C)]
871#[derive(Debug, Copy, Clone)]
872pub struct _snd_pcm_subformat_mask {
873 _unused: [u8; 0],
874}
875pub type snd_pcm_subformat_mask_t = _snd_pcm_subformat_mask;
876pub const SND_PCM_CLASS_GENERIC: _snd_pcm_class = 0;
877pub const SND_PCM_CLASS_MULTI: _snd_pcm_class = 1;
878pub const SND_PCM_CLASS_MODEM: _snd_pcm_class = 2;
879pub const SND_PCM_CLASS_DIGITIZER: _snd_pcm_class = 3;
880pub const SND_PCM_CLASS_LAST: _snd_pcm_class = 3;
881pub type _snd_pcm_class = ::core::ffi::c_uint;
882pub use self::_snd_pcm_class as snd_pcm_class_t;
883pub const SND_PCM_SUBCLASS_GENERIC_MIX: _snd_pcm_subclass = 0;
884pub const SND_PCM_SUBCLASS_MULTI_MIX: _snd_pcm_subclass = 1;
885pub const SND_PCM_SUBCLASS_LAST: _snd_pcm_subclass = 1;
886pub type _snd_pcm_subclass = ::core::ffi::c_uint;
887pub use self::_snd_pcm_subclass as snd_pcm_subclass_t;
888pub const SND_PCM_STREAM_PLAYBACK: _snd_pcm_stream = 0;
889pub const SND_PCM_STREAM_CAPTURE: _snd_pcm_stream = 1;
890pub const SND_PCM_STREAM_LAST: _snd_pcm_stream = 1;
891pub type _snd_pcm_stream = ::core::ffi::c_uint;
892pub use self::_snd_pcm_stream as snd_pcm_stream_t;
893pub const SND_PCM_ACCESS_MMAP_INTERLEAVED: _snd_pcm_access = 0;
894pub const SND_PCM_ACCESS_MMAP_NONINTERLEAVED: _snd_pcm_access = 1;
895pub const SND_PCM_ACCESS_MMAP_COMPLEX: _snd_pcm_access = 2;
896pub const SND_PCM_ACCESS_RW_INTERLEAVED: _snd_pcm_access = 3;
897pub const SND_PCM_ACCESS_RW_NONINTERLEAVED: _snd_pcm_access = 4;
898pub const SND_PCM_ACCESS_LAST: _snd_pcm_access = 4;
899pub type _snd_pcm_access = ::core::ffi::c_uint;
900pub use self::_snd_pcm_access as snd_pcm_access_t;
901pub const SND_PCM_FORMAT_UNKNOWN: _snd_pcm_format = -1;
902pub const SND_PCM_FORMAT_S8: _snd_pcm_format = 0;
903pub const SND_PCM_FORMAT_U8: _snd_pcm_format = 1;
904pub const SND_PCM_FORMAT_S16_LE: _snd_pcm_format = 2;
905pub const SND_PCM_FORMAT_S16_BE: _snd_pcm_format = 3;
906pub const SND_PCM_FORMAT_U16_LE: _snd_pcm_format = 4;
907pub const SND_PCM_FORMAT_U16_BE: _snd_pcm_format = 5;
908pub const SND_PCM_FORMAT_S24_LE: _snd_pcm_format = 6;
909pub const SND_PCM_FORMAT_S24_BE: _snd_pcm_format = 7;
910pub const SND_PCM_FORMAT_U24_LE: _snd_pcm_format = 8;
911pub const SND_PCM_FORMAT_U24_BE: _snd_pcm_format = 9;
912pub const SND_PCM_FORMAT_S32_LE: _snd_pcm_format = 10;
913pub const SND_PCM_FORMAT_S32_BE: _snd_pcm_format = 11;
914pub const SND_PCM_FORMAT_U32_LE: _snd_pcm_format = 12;
915pub const SND_PCM_FORMAT_U32_BE: _snd_pcm_format = 13;
916pub const SND_PCM_FORMAT_FLOAT_LE: _snd_pcm_format = 14;
917pub const SND_PCM_FORMAT_FLOAT_BE: _snd_pcm_format = 15;
918pub const SND_PCM_FORMAT_FLOAT64_LE: _snd_pcm_format = 16;
919pub const SND_PCM_FORMAT_FLOAT64_BE: _snd_pcm_format = 17;
920pub const SND_PCM_FORMAT_IEC958_SUBFRAME_LE: _snd_pcm_format = 18;
921pub const SND_PCM_FORMAT_IEC958_SUBFRAME_BE: _snd_pcm_format = 19;
922pub const SND_PCM_FORMAT_MU_LAW: _snd_pcm_format = 20;
923pub const SND_PCM_FORMAT_A_LAW: _snd_pcm_format = 21;
924pub const SND_PCM_FORMAT_IMA_ADPCM: _snd_pcm_format = 22;
925pub const SND_PCM_FORMAT_MPEG: _snd_pcm_format = 23;
926pub const SND_PCM_FORMAT_GSM: _snd_pcm_format = 24;
927pub const SND_PCM_FORMAT_S20_LE: _snd_pcm_format = 25;
928pub const SND_PCM_FORMAT_S20_BE: _snd_pcm_format = 26;
929pub const SND_PCM_FORMAT_U20_LE: _snd_pcm_format = 27;
930pub const SND_PCM_FORMAT_U20_BE: _snd_pcm_format = 28;
931pub const SND_PCM_FORMAT_SPECIAL: _snd_pcm_format = 31;
932pub const SND_PCM_FORMAT_S24_3LE: _snd_pcm_format = 32;
933pub const SND_PCM_FORMAT_S24_3BE: _snd_pcm_format = 33;
934pub const SND_PCM_FORMAT_U24_3LE: _snd_pcm_format = 34;
935pub const SND_PCM_FORMAT_U24_3BE: _snd_pcm_format = 35;
936pub const SND_PCM_FORMAT_S20_3LE: _snd_pcm_format = 36;
937pub const SND_PCM_FORMAT_S20_3BE: _snd_pcm_format = 37;
938pub const SND_PCM_FORMAT_U20_3LE: _snd_pcm_format = 38;
939pub const SND_PCM_FORMAT_U20_3BE: _snd_pcm_format = 39;
940pub const SND_PCM_FORMAT_S18_3LE: _snd_pcm_format = 40;
941pub const SND_PCM_FORMAT_S18_3BE: _snd_pcm_format = 41;
942pub const SND_PCM_FORMAT_U18_3LE: _snd_pcm_format = 42;
943pub const SND_PCM_FORMAT_U18_3BE: _snd_pcm_format = 43;
944pub const SND_PCM_FORMAT_G723_24: _snd_pcm_format = 44;
945pub const SND_PCM_FORMAT_G723_24_1B: _snd_pcm_format = 45;
946pub const SND_PCM_FORMAT_G723_40: _snd_pcm_format = 46;
947pub const SND_PCM_FORMAT_G723_40_1B: _snd_pcm_format = 47;
948pub const SND_PCM_FORMAT_DSD_U8: _snd_pcm_format = 48;
949pub const SND_PCM_FORMAT_DSD_U16_LE: _snd_pcm_format = 49;
950pub const SND_PCM_FORMAT_DSD_U32_LE: _snd_pcm_format = 50;
951pub const SND_PCM_FORMAT_DSD_U16_BE: _snd_pcm_format = 51;
952pub const SND_PCM_FORMAT_DSD_U32_BE: _snd_pcm_format = 52;
953pub const SND_PCM_FORMAT_LAST: _snd_pcm_format = 52;
954pub const SND_PCM_FORMAT_S16: _snd_pcm_format = 2;
955pub const SND_PCM_FORMAT_U16: _snd_pcm_format = 4;
956pub const SND_PCM_FORMAT_S24: _snd_pcm_format = 6;
957pub const SND_PCM_FORMAT_U24: _snd_pcm_format = 8;
958pub const SND_PCM_FORMAT_S32: _snd_pcm_format = 10;
959pub const SND_PCM_FORMAT_U32: _snd_pcm_format = 12;
960pub const SND_PCM_FORMAT_FLOAT: _snd_pcm_format = 14;
961pub const SND_PCM_FORMAT_FLOAT64: _snd_pcm_format = 16;
962pub const SND_PCM_FORMAT_IEC958_SUBFRAME: _snd_pcm_format = 18;
963pub const SND_PCM_FORMAT_S20: _snd_pcm_format = 25;
964pub const SND_PCM_FORMAT_U20: _snd_pcm_format = 27;
965pub type _snd_pcm_format = ::core::ffi::c_int;
966pub use self::_snd_pcm_format as snd_pcm_format_t;
967pub const SND_PCM_SUBFORMAT_UNKNOWN: _snd_pcm_subformat = -1;
968pub const SND_PCM_SUBFORMAT_STD: _snd_pcm_subformat = 0;
969pub const SND_PCM_SUBFORMAT_MSBITS_MAX: _snd_pcm_subformat = 1;
970pub const SND_PCM_SUBFORMAT_MSBITS_20: _snd_pcm_subformat = 2;
971pub const SND_PCM_SUBFORMAT_MSBITS_24: _snd_pcm_subformat = 3;
972pub const SND_PCM_SUBFORMAT_LAST: _snd_pcm_subformat = 3;
973pub type _snd_pcm_subformat = ::core::ffi::c_int;
974pub use self::_snd_pcm_subformat as snd_pcm_subformat_t;
975pub const SND_PCM_STATE_OPEN: _snd_pcm_state = 0;
976pub const SND_PCM_STATE_SETUP: _snd_pcm_state = 1;
977pub const SND_PCM_STATE_PREPARED: _snd_pcm_state = 2;
978pub const SND_PCM_STATE_RUNNING: _snd_pcm_state = 3;
979pub const SND_PCM_STATE_XRUN: _snd_pcm_state = 4;
980pub const SND_PCM_STATE_DRAINING: _snd_pcm_state = 5;
981pub const SND_PCM_STATE_PAUSED: _snd_pcm_state = 6;
982pub const SND_PCM_STATE_SUSPENDED: _snd_pcm_state = 7;
983pub const SND_PCM_STATE_DISCONNECTED: _snd_pcm_state = 8;
984pub const SND_PCM_STATE_LAST: _snd_pcm_state = 8;
985pub const SND_PCM_STATE_PRIVATE1: _snd_pcm_state = 1024;
986pub type _snd_pcm_state = ::core::ffi::c_uint;
987pub use self::_snd_pcm_state as snd_pcm_state_t;
988pub const SND_PCM_START_DATA: _snd_pcm_start = 0;
989pub const SND_PCM_START_EXPLICIT: _snd_pcm_start = 1;
990pub const SND_PCM_START_LAST: _snd_pcm_start = 1;
991pub type _snd_pcm_start = ::core::ffi::c_uint;
992pub use self::_snd_pcm_start as snd_pcm_start_t;
993pub const SND_PCM_XRUN_NONE: _snd_pcm_xrun = 0;
994pub const SND_PCM_XRUN_STOP: _snd_pcm_xrun = 1;
995pub const SND_PCM_XRUN_LAST: _snd_pcm_xrun = 1;
996pub type _snd_pcm_xrun = ::core::ffi::c_uint;
997pub use self::_snd_pcm_xrun as snd_pcm_xrun_t;
998pub const SND_PCM_TSTAMP_NONE: _snd_pcm_tstamp = 0;
999pub const SND_PCM_TSTAMP_ENABLE: _snd_pcm_tstamp = 1;
1000pub const SND_PCM_TSTAMP_MMAP: _snd_pcm_tstamp = 1;
1001pub const SND_PCM_TSTAMP_LAST: _snd_pcm_tstamp = 1;
1002pub type _snd_pcm_tstamp = ::core::ffi::c_uint;
1003pub use self::_snd_pcm_tstamp as snd_pcm_tstamp_t;
1004pub const SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _snd_pcm_tstamp_type = 0;
1005pub const SND_PCM_TSTAMP_TYPE_MONOTONIC: _snd_pcm_tstamp_type = 1;
1006pub const SND_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _snd_pcm_tstamp_type = 2;
1007pub const SND_PCM_TSTAMP_TYPE_LAST: _snd_pcm_tstamp_type = 2;
1008pub type _snd_pcm_tstamp_type = ::core::ffi::c_uint;
1009pub use self::_snd_pcm_tstamp_type as snd_pcm_tstamp_type_t;
1010pub const SND_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _snd_pcm_audio_tstamp_type = 0;
1011pub const SND_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _snd_pcm_audio_tstamp_type = 1;
1012pub const SND_PCM_AUDIO_TSTAMP_TYPE_LINK: _snd_pcm_audio_tstamp_type = 2;
1013pub const SND_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _snd_pcm_audio_tstamp_type = 3;
1014pub const SND_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _snd_pcm_audio_tstamp_type = 4;
1015pub const SND_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _snd_pcm_audio_tstamp_type = 5;
1016pub const SND_PCM_AUDIO_TSTAMP_TYPE_LAST: _snd_pcm_audio_tstamp_type = 5;
1017pub type _snd_pcm_audio_tstamp_type = ::core::ffi::c_uint;
1018pub use self::_snd_pcm_audio_tstamp_type as snd_pcm_audio_tstamp_type_t;
1019#[repr(C)]
1020#[repr(align(4))]
1021#[derive(Debug, Copy, Clone)]
1022pub struct _snd_pcm_audio_tstamp_config {
1023 pub _bitfield_align_1: [u8; 0],
1024 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
1025 pub __bindgen_padding_0: [u8; 3usize],
1026}
1027impl _snd_pcm_audio_tstamp_config {
1028 #[inline]
1029 pub fn type_requested(&self) -> ::core::ffi::c_uint {
1030 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
1031 }
1032 #[inline]
1033 pub fn set_type_requested(&mut self, val: ::core::ffi::c_uint) {
1034 unsafe {
1035 let val: u32 = ::core::mem::transmute(val);
1036 self._bitfield_1.set(0usize, 4u8, val as u64)
1037 }
1038 }
1039 #[inline]
1040 pub unsafe fn type_requested_raw(this: *const Self) -> ::core::ffi::c_uint {
1041 unsafe {
1042 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1043 ::core::ptr::addr_of!((*this)._bitfield_1),
1044 0usize,
1045 4u8,
1046 ) as u32)
1047 }
1048 }
1049 #[inline]
1050 pub unsafe fn set_type_requested_raw(this: *mut Self, val: ::core::ffi::c_uint) {
1051 unsafe {
1052 let val: u32 = ::core::mem::transmute(val);
1053 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1054 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1055 0usize,
1056 4u8,
1057 val as u64,
1058 )
1059 }
1060 }
1061 #[inline]
1062 pub fn report_delay(&self) -> ::core::ffi::c_uint {
1063 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
1064 }
1065 #[inline]
1066 pub fn set_report_delay(&mut self, val: ::core::ffi::c_uint) {
1067 unsafe {
1068 let val: u32 = ::core::mem::transmute(val);
1069 self._bitfield_1.set(4usize, 1u8, val as u64)
1070 }
1071 }
1072 #[inline]
1073 pub unsafe fn report_delay_raw(this: *const Self) -> ::core::ffi::c_uint {
1074 unsafe {
1075 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1076 ::core::ptr::addr_of!((*this)._bitfield_1),
1077 4usize,
1078 1u8,
1079 ) as u32)
1080 }
1081 }
1082 #[inline]
1083 pub unsafe fn set_report_delay_raw(this: *mut Self, val: ::core::ffi::c_uint) {
1084 unsafe {
1085 let val: u32 = ::core::mem::transmute(val);
1086 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1087 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1088 4usize,
1089 1u8,
1090 val as u64,
1091 )
1092 }
1093 }
1094 #[inline]
1095 pub fn new_bitfield_1(
1096 type_requested: ::core::ffi::c_uint,
1097 report_delay: ::core::ffi::c_uint,
1098 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
1099 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
1100 __bindgen_bitfield_unit.set(0usize, 4u8, {
1101 let type_requested: u32 = unsafe { ::core::mem::transmute(type_requested) };
1102 type_requested as u64
1103 });
1104 __bindgen_bitfield_unit.set(4usize, 1u8, {
1105 let report_delay: u32 = unsafe { ::core::mem::transmute(report_delay) };
1106 report_delay as u64
1107 });
1108 __bindgen_bitfield_unit
1109 }
1110}
1111pub type snd_pcm_audio_tstamp_config_t = _snd_pcm_audio_tstamp_config;
1112#[repr(C)]
1113#[derive(Debug, Copy, Clone)]
1114pub struct _snd_pcm_audio_tstamp_report {
1115 pub _bitfield_align_1: [u8; 0],
1116 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
1117 pub accuracy: ::core::ffi::c_uint,
1118}
1119impl _snd_pcm_audio_tstamp_report {
1120 #[inline]
1121 pub fn valid(&self) -> ::core::ffi::c_uint {
1122 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1123 }
1124 #[inline]
1125 pub fn set_valid(&mut self, val: ::core::ffi::c_uint) {
1126 unsafe {
1127 let val: u32 = ::core::mem::transmute(val);
1128 self._bitfield_1.set(0usize, 1u8, val as u64)
1129 }
1130 }
1131 #[inline]
1132 pub unsafe fn valid_raw(this: *const Self) -> ::core::ffi::c_uint {
1133 unsafe {
1134 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1135 ::core::ptr::addr_of!((*this)._bitfield_1),
1136 0usize,
1137 1u8,
1138 ) as u32)
1139 }
1140 }
1141 #[inline]
1142 pub unsafe fn set_valid_raw(this: *mut Self, val: ::core::ffi::c_uint) {
1143 unsafe {
1144 let val: u32 = ::core::mem::transmute(val);
1145 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1146 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1147 0usize,
1148 1u8,
1149 val as u64,
1150 )
1151 }
1152 }
1153 #[inline]
1154 pub fn actual_type(&self) -> ::core::ffi::c_uint {
1155 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 4u8) as u32) }
1156 }
1157 #[inline]
1158 pub fn set_actual_type(&mut self, val: ::core::ffi::c_uint) {
1159 unsafe {
1160 let val: u32 = ::core::mem::transmute(val);
1161 self._bitfield_1.set(1usize, 4u8, val as u64)
1162 }
1163 }
1164 #[inline]
1165 pub unsafe fn actual_type_raw(this: *const Self) -> ::core::ffi::c_uint {
1166 unsafe {
1167 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1168 ::core::ptr::addr_of!((*this)._bitfield_1),
1169 1usize,
1170 4u8,
1171 ) as u32)
1172 }
1173 }
1174 #[inline]
1175 pub unsafe fn set_actual_type_raw(this: *mut Self, val: ::core::ffi::c_uint) {
1176 unsafe {
1177 let val: u32 = ::core::mem::transmute(val);
1178 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1179 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1180 1usize,
1181 4u8,
1182 val as u64,
1183 )
1184 }
1185 }
1186 #[inline]
1187 pub fn accuracy_report(&self) -> ::core::ffi::c_uint {
1188 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
1189 }
1190 #[inline]
1191 pub fn set_accuracy_report(&mut self, val: ::core::ffi::c_uint) {
1192 unsafe {
1193 let val: u32 = ::core::mem::transmute(val);
1194 self._bitfield_1.set(5usize, 1u8, val as u64)
1195 }
1196 }
1197 #[inline]
1198 pub unsafe fn accuracy_report_raw(this: *const Self) -> ::core::ffi::c_uint {
1199 unsafe {
1200 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1201 ::core::ptr::addr_of!((*this)._bitfield_1),
1202 5usize,
1203 1u8,
1204 ) as u32)
1205 }
1206 }
1207 #[inline]
1208 pub unsafe fn set_accuracy_report_raw(this: *mut Self, val: ::core::ffi::c_uint) {
1209 unsafe {
1210 let val: u32 = ::core::mem::transmute(val);
1211 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1212 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1213 5usize,
1214 1u8,
1215 val as u64,
1216 )
1217 }
1218 }
1219 #[inline]
1220 pub fn new_bitfield_1(
1221 valid: ::core::ffi::c_uint,
1222 actual_type: ::core::ffi::c_uint,
1223 accuracy_report: ::core::ffi::c_uint,
1224 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
1225 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
1226 __bindgen_bitfield_unit.set(0usize, 1u8, {
1227 let valid: u32 = unsafe { ::core::mem::transmute(valid) };
1228 valid as u64
1229 });
1230 __bindgen_bitfield_unit.set(1usize, 4u8, {
1231 let actual_type: u32 = unsafe { ::core::mem::transmute(actual_type) };
1232 actual_type as u64
1233 });
1234 __bindgen_bitfield_unit.set(5usize, 1u8, {
1235 let accuracy_report: u32 = unsafe { ::core::mem::transmute(accuracy_report) };
1236 accuracy_report as u64
1237 });
1238 __bindgen_bitfield_unit
1239 }
1240}
1241pub type snd_pcm_audio_tstamp_report_t = _snd_pcm_audio_tstamp_report;
1242pub type snd_pcm_uframes_t = ::core::ffi::c_ulong;
1243pub type snd_pcm_sframes_t = ::core::ffi::c_long;
1244#[repr(C)]
1245#[derive(Debug, Copy, Clone)]
1246pub struct _snd_pcm {
1247 _unused: [u8; 0],
1248}
1249pub type snd_pcm_t = _snd_pcm;
1250pub const SND_PCM_TYPE_HW: _snd_pcm_type = 0;
1251pub const SND_PCM_TYPE_HOOKS: _snd_pcm_type = 1;
1252pub const SND_PCM_TYPE_MULTI: _snd_pcm_type = 2;
1253pub const SND_PCM_TYPE_FILE: _snd_pcm_type = 3;
1254pub const SND_PCM_TYPE_NULL: _snd_pcm_type = 4;
1255pub const SND_PCM_TYPE_SHM: _snd_pcm_type = 5;
1256pub const SND_PCM_TYPE_INET: _snd_pcm_type = 6;
1257pub const SND_PCM_TYPE_COPY: _snd_pcm_type = 7;
1258pub const SND_PCM_TYPE_LINEAR: _snd_pcm_type = 8;
1259pub const SND_PCM_TYPE_ALAW: _snd_pcm_type = 9;
1260pub const SND_PCM_TYPE_MULAW: _snd_pcm_type = 10;
1261pub const SND_PCM_TYPE_ADPCM: _snd_pcm_type = 11;
1262pub const SND_PCM_TYPE_RATE: _snd_pcm_type = 12;
1263pub const SND_PCM_TYPE_ROUTE: _snd_pcm_type = 13;
1264pub const SND_PCM_TYPE_PLUG: _snd_pcm_type = 14;
1265pub const SND_PCM_TYPE_SHARE: _snd_pcm_type = 15;
1266pub const SND_PCM_TYPE_METER: _snd_pcm_type = 16;
1267pub const SND_PCM_TYPE_MIX: _snd_pcm_type = 17;
1268pub const SND_PCM_TYPE_DROUTE: _snd_pcm_type = 18;
1269pub const SND_PCM_TYPE_LBSERVER: _snd_pcm_type = 19;
1270pub const SND_PCM_TYPE_LINEAR_FLOAT: _snd_pcm_type = 20;
1271pub const SND_PCM_TYPE_LADSPA: _snd_pcm_type = 21;
1272pub const SND_PCM_TYPE_DMIX: _snd_pcm_type = 22;
1273pub const SND_PCM_TYPE_JACK: _snd_pcm_type = 23;
1274pub const SND_PCM_TYPE_DSNOOP: _snd_pcm_type = 24;
1275pub const SND_PCM_TYPE_DSHARE: _snd_pcm_type = 25;
1276pub const SND_PCM_TYPE_IEC958: _snd_pcm_type = 26;
1277pub const SND_PCM_TYPE_SOFTVOL: _snd_pcm_type = 27;
1278pub const SND_PCM_TYPE_IOPLUG: _snd_pcm_type = 28;
1279pub const SND_PCM_TYPE_EXTPLUG: _snd_pcm_type = 29;
1280pub const SND_PCM_TYPE_MMAP_EMUL: _snd_pcm_type = 30;
1281pub const SND_PCM_TYPE_LAST: _snd_pcm_type = 30;
1282pub type _snd_pcm_type = ::core::ffi::c_uint;
1283pub use self::_snd_pcm_type as snd_pcm_type_t;
1284#[repr(C)]
1285#[derive(Debug, Copy, Clone)]
1286pub struct _snd_pcm_channel_area {
1287 pub addr: *mut ::core::ffi::c_void,
1288 pub first: ::core::ffi::c_uint,
1289 pub step: ::core::ffi::c_uint,
1290}
1291pub type snd_pcm_channel_area_t = _snd_pcm_channel_area;
1292#[repr(C)]
1293#[derive(Copy, Clone)]
1294pub union _snd_pcm_sync_id {
1295 pub id: [::core::ffi::c_uchar; 16usize],
1296 pub id16: [::core::ffi::c_ushort; 8usize],
1297 pub id32: [::core::ffi::c_uint; 4usize],
1298}
1299pub type snd_pcm_sync_id_t = _snd_pcm_sync_id;
1300#[repr(C)]
1301#[derive(Debug, Copy, Clone)]
1302pub struct _snd_pcm_scope {
1303 _unused: [u8; 0],
1304}
1305pub type snd_pcm_scope_t = _snd_pcm_scope;
1306unsafe extern "C" {
1307 pub fn snd_pcm_open(
1308 pcm: *mut *mut snd_pcm_t,
1309 name: *const ::core::ffi::c_char,
1310 stream: snd_pcm_stream_t,
1311 mode: ::core::ffi::c_int,
1312 ) -> ::core::ffi::c_int;
1313}
1314unsafe extern "C" {
1315 pub fn snd_pcm_open_lconf(
1316 pcm: *mut *mut snd_pcm_t,
1317 name: *const ::core::ffi::c_char,
1318 stream: snd_pcm_stream_t,
1319 mode: ::core::ffi::c_int,
1320 lconf: *mut snd_config_t,
1321 ) -> ::core::ffi::c_int;
1322}
1323unsafe extern "C" {
1324 pub fn snd_pcm_open_fallback(
1325 pcm: *mut *mut snd_pcm_t,
1326 root: *mut snd_config_t,
1327 name: *const ::core::ffi::c_char,
1328 orig_name: *const ::core::ffi::c_char,
1329 stream: snd_pcm_stream_t,
1330 mode: ::core::ffi::c_int,
1331 ) -> ::core::ffi::c_int;
1332}
1333unsafe extern "C" {
1334 pub fn snd_pcm_close(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1335}
1336unsafe extern "C" {
1337 pub fn snd_pcm_name(pcm: *mut snd_pcm_t) -> *const ::core::ffi::c_char;
1338}
1339unsafe extern "C" {
1340 pub fn snd_pcm_type(pcm: *mut snd_pcm_t) -> snd_pcm_type_t;
1341}
1342unsafe extern "C" {
1343 pub fn snd_pcm_stream(pcm: *mut snd_pcm_t) -> snd_pcm_stream_t;
1344}
1345unsafe extern "C" {
1346 pub fn snd_pcm_poll_descriptors_count(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1347}
1348unsafe extern "C" {
1349 pub fn snd_pcm_poll_descriptors(
1350 pcm: *mut snd_pcm_t,
1351 pfds: *mut pollfd,
1352 space: ::core::ffi::c_uint,
1353 ) -> ::core::ffi::c_int;
1354}
1355unsafe extern "C" {
1356 pub fn snd_pcm_poll_descriptors_revents(
1357 pcm: *mut snd_pcm_t,
1358 pfds: *mut pollfd,
1359 nfds: ::core::ffi::c_uint,
1360 revents: *mut ::core::ffi::c_ushort,
1361 ) -> ::core::ffi::c_int;
1362}
1363unsafe extern "C" {
1364 pub fn snd_pcm_nonblock(
1365 pcm: *mut snd_pcm_t,
1366 nonblock: ::core::ffi::c_int,
1367 ) -> ::core::ffi::c_int;
1368}
1369unsafe extern "C" {
1370 pub fn snd_async_add_pcm_handler(
1371 handler: *mut *mut snd_async_handler_t,
1372 pcm: *mut snd_pcm_t,
1373 callback: snd_async_callback_t,
1374 private_data: *mut ::core::ffi::c_void,
1375 ) -> ::core::ffi::c_int;
1376}
1377unsafe extern "C" {
1378 pub fn snd_async_handler_get_pcm(handler: *mut snd_async_handler_t) -> *mut snd_pcm_t;
1379}
1380unsafe extern "C" {
1381 pub fn snd_pcm_info(pcm: *mut snd_pcm_t, info: *mut snd_pcm_info_t) -> ::core::ffi::c_int;
1382}
1383unsafe extern "C" {
1384 pub fn snd_pcm_hw_params_current(
1385 pcm: *mut snd_pcm_t,
1386 params: *mut snd_pcm_hw_params_t,
1387 ) -> ::core::ffi::c_int;
1388}
1389unsafe extern "C" {
1390 pub fn snd_pcm_hw_params(
1391 pcm: *mut snd_pcm_t,
1392 params: *mut snd_pcm_hw_params_t,
1393 ) -> ::core::ffi::c_int;
1394}
1395unsafe extern "C" {
1396 pub fn snd_pcm_hw_free(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1397}
1398unsafe extern "C" {
1399 pub fn snd_pcm_sw_params_current(
1400 pcm: *mut snd_pcm_t,
1401 params: *mut snd_pcm_sw_params_t,
1402 ) -> ::core::ffi::c_int;
1403}
1404unsafe extern "C" {
1405 pub fn snd_pcm_sw_params(
1406 pcm: *mut snd_pcm_t,
1407 params: *mut snd_pcm_sw_params_t,
1408 ) -> ::core::ffi::c_int;
1409}
1410unsafe extern "C" {
1411 pub fn snd_pcm_prepare(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1412}
1413unsafe extern "C" {
1414 pub fn snd_pcm_reset(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1415}
1416unsafe extern "C" {
1417 pub fn snd_pcm_status(pcm: *mut snd_pcm_t, status: *mut snd_pcm_status_t)
1418 -> ::core::ffi::c_int;
1419}
1420unsafe extern "C" {
1421 pub fn snd_pcm_start(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1422}
1423unsafe extern "C" {
1424 pub fn snd_pcm_drop(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1425}
1426unsafe extern "C" {
1427 pub fn snd_pcm_drain(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1428}
1429unsafe extern "C" {
1430 pub fn snd_pcm_pause(pcm: *mut snd_pcm_t, enable: ::core::ffi::c_int) -> ::core::ffi::c_int;
1431}
1432unsafe extern "C" {
1433 pub fn snd_pcm_state(pcm: *mut snd_pcm_t) -> snd_pcm_state_t;
1434}
1435unsafe extern "C" {
1436 pub fn snd_pcm_hwsync(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1437}
1438unsafe extern "C" {
1439 pub fn snd_pcm_delay(pcm: *mut snd_pcm_t, delayp: *mut snd_pcm_sframes_t)
1440 -> ::core::ffi::c_int;
1441}
1442unsafe extern "C" {
1443 pub fn snd_pcm_resume(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1444}
1445unsafe extern "C" {
1446 pub fn snd_pcm_htimestamp(
1447 pcm: *mut snd_pcm_t,
1448 avail: *mut snd_pcm_uframes_t,
1449 tstamp: *mut snd_htimestamp_t,
1450 ) -> ::core::ffi::c_int;
1451}
1452unsafe extern "C" {
1453 pub fn snd_pcm_avail(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1454}
1455unsafe extern "C" {
1456 pub fn snd_pcm_avail_update(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1457}
1458unsafe extern "C" {
1459 pub fn snd_pcm_avail_delay(
1460 pcm: *mut snd_pcm_t,
1461 availp: *mut snd_pcm_sframes_t,
1462 delayp: *mut snd_pcm_sframes_t,
1463 ) -> ::core::ffi::c_int;
1464}
1465unsafe extern "C" {
1466 pub fn snd_pcm_rewindable(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1467}
1468unsafe extern "C" {
1469 pub fn snd_pcm_rewind(pcm: *mut snd_pcm_t, frames: snd_pcm_uframes_t) -> snd_pcm_sframes_t;
1470}
1471unsafe extern "C" {
1472 pub fn snd_pcm_forwardable(pcm: *mut snd_pcm_t) -> snd_pcm_sframes_t;
1473}
1474unsafe extern "C" {
1475 pub fn snd_pcm_forward(pcm: *mut snd_pcm_t, frames: snd_pcm_uframes_t) -> snd_pcm_sframes_t;
1476}
1477unsafe extern "C" {
1478 pub fn snd_pcm_writei(
1479 pcm: *mut snd_pcm_t,
1480 buffer: *const ::core::ffi::c_void,
1481 size: snd_pcm_uframes_t,
1482 ) -> snd_pcm_sframes_t;
1483}
1484unsafe extern "C" {
1485 pub fn snd_pcm_readi(
1486 pcm: *mut snd_pcm_t,
1487 buffer: *mut ::core::ffi::c_void,
1488 size: snd_pcm_uframes_t,
1489 ) -> snd_pcm_sframes_t;
1490}
1491unsafe extern "C" {
1492 pub fn snd_pcm_writen(
1493 pcm: *mut snd_pcm_t,
1494 bufs: *mut *mut ::core::ffi::c_void,
1495 size: snd_pcm_uframes_t,
1496 ) -> snd_pcm_sframes_t;
1497}
1498unsafe extern "C" {
1499 pub fn snd_pcm_readn(
1500 pcm: *mut snd_pcm_t,
1501 bufs: *mut *mut ::core::ffi::c_void,
1502 size: snd_pcm_uframes_t,
1503 ) -> snd_pcm_sframes_t;
1504}
1505unsafe extern "C" {
1506 pub fn snd_pcm_wait(pcm: *mut snd_pcm_t, timeout: ::core::ffi::c_int) -> ::core::ffi::c_int;
1507}
1508unsafe extern "C" {
1509 pub fn snd_pcm_link(pcm1: *mut snd_pcm_t, pcm2: *mut snd_pcm_t) -> ::core::ffi::c_int;
1510}
1511unsafe extern "C" {
1512 pub fn snd_pcm_unlink(pcm: *mut snd_pcm_t) -> ::core::ffi::c_int;
1513}
1514pub const SND_CHMAP_TYPE_NONE: snd_pcm_chmap_type = 0;
1515pub const SND_CHMAP_TYPE_FIXED: snd_pcm_chmap_type = 1;
1516pub const SND_CHMAP_TYPE_VAR: snd_pcm_chmap_type = 2;
1517pub const SND_CHMAP_TYPE_PAIRED: snd_pcm_chmap_type = 3;
1518pub const SND_CHMAP_TYPE_LAST: snd_pcm_chmap_type = 3;
1519pub type snd_pcm_chmap_type = ::core::ffi::c_uint;
1520pub const SND_CHMAP_UNKNOWN: snd_pcm_chmap_position = 0;
1521pub const SND_CHMAP_NA: snd_pcm_chmap_position = 1;
1522pub const SND_CHMAP_MONO: snd_pcm_chmap_position = 2;
1523pub const SND_CHMAP_FL: snd_pcm_chmap_position = 3;
1524pub const SND_CHMAP_FR: snd_pcm_chmap_position = 4;
1525pub const SND_CHMAP_RL: snd_pcm_chmap_position = 5;
1526pub const SND_CHMAP_RR: snd_pcm_chmap_position = 6;
1527pub const SND_CHMAP_FC: snd_pcm_chmap_position = 7;
1528pub const SND_CHMAP_LFE: snd_pcm_chmap_position = 8;
1529pub const SND_CHMAP_SL: snd_pcm_chmap_position = 9;
1530pub const SND_CHMAP_SR: snd_pcm_chmap_position = 10;
1531pub const SND_CHMAP_RC: snd_pcm_chmap_position = 11;
1532pub const SND_CHMAP_FLC: snd_pcm_chmap_position = 12;
1533pub const SND_CHMAP_FRC: snd_pcm_chmap_position = 13;
1534pub const SND_CHMAP_RLC: snd_pcm_chmap_position = 14;
1535pub const SND_CHMAP_RRC: snd_pcm_chmap_position = 15;
1536pub const SND_CHMAP_FLW: snd_pcm_chmap_position = 16;
1537pub const SND_CHMAP_FRW: snd_pcm_chmap_position = 17;
1538pub const SND_CHMAP_FLH: snd_pcm_chmap_position = 18;
1539pub const SND_CHMAP_FCH: snd_pcm_chmap_position = 19;
1540pub const SND_CHMAP_FRH: snd_pcm_chmap_position = 20;
1541pub const SND_CHMAP_TC: snd_pcm_chmap_position = 21;
1542pub const SND_CHMAP_TFL: snd_pcm_chmap_position = 22;
1543pub const SND_CHMAP_TFR: snd_pcm_chmap_position = 23;
1544pub const SND_CHMAP_TFC: snd_pcm_chmap_position = 24;
1545pub const SND_CHMAP_TRL: snd_pcm_chmap_position = 25;
1546pub const SND_CHMAP_TRR: snd_pcm_chmap_position = 26;
1547pub const SND_CHMAP_TRC: snd_pcm_chmap_position = 27;
1548pub const SND_CHMAP_TFLC: snd_pcm_chmap_position = 28;
1549pub const SND_CHMAP_TFRC: snd_pcm_chmap_position = 29;
1550pub const SND_CHMAP_TSL: snd_pcm_chmap_position = 30;
1551pub const SND_CHMAP_TSR: snd_pcm_chmap_position = 31;
1552pub const SND_CHMAP_LLFE: snd_pcm_chmap_position = 32;
1553pub const SND_CHMAP_RLFE: snd_pcm_chmap_position = 33;
1554pub const SND_CHMAP_BC: snd_pcm_chmap_position = 34;
1555pub const SND_CHMAP_BLC: snd_pcm_chmap_position = 35;
1556pub const SND_CHMAP_BRC: snd_pcm_chmap_position = 36;
1557pub const SND_CHMAP_LAST: snd_pcm_chmap_position = 36;
1558pub type snd_pcm_chmap_position = ::core::ffi::c_uint;
1559#[repr(C)]
1560#[derive(Debug)]
1561pub struct snd_pcm_chmap {
1562 pub channels: ::core::ffi::c_uint,
1563 pub pos: __IncompleteArrayField<::core::ffi::c_uint>,
1564}
1565pub type snd_pcm_chmap_t = snd_pcm_chmap;
1566#[repr(C)]
1567#[derive(Debug)]
1568pub struct snd_pcm_chmap_query {
1569 pub type_: snd_pcm_chmap_type,
1570 pub map: snd_pcm_chmap_t,
1571}
1572pub type snd_pcm_chmap_query_t = snd_pcm_chmap_query;
1573unsafe extern "C" {
1574 pub fn snd_pcm_query_chmaps(pcm: *mut snd_pcm_t) -> *mut *mut snd_pcm_chmap_query_t;
1575}
1576unsafe extern "C" {
1577 pub fn snd_pcm_query_chmaps_from_hw(
1578 card: ::core::ffi::c_int,
1579 dev: ::core::ffi::c_int,
1580 subdev: ::core::ffi::c_int,
1581 stream: snd_pcm_stream_t,
1582 ) -> *mut *mut snd_pcm_chmap_query_t;
1583}
1584unsafe extern "C" {
1585 pub fn snd_pcm_free_chmaps(maps: *mut *mut snd_pcm_chmap_query_t);
1586}
1587unsafe extern "C" {
1588 pub fn snd_pcm_get_chmap(pcm: *mut snd_pcm_t) -> *mut snd_pcm_chmap_t;
1589}
1590unsafe extern "C" {
1591 pub fn snd_pcm_set_chmap(
1592 pcm: *mut snd_pcm_t,
1593 map: *const snd_pcm_chmap_t,
1594 ) -> ::core::ffi::c_int;
1595}
1596unsafe extern "C" {
1597 pub fn snd_pcm_chmap_type_name(val: snd_pcm_chmap_type) -> *const ::core::ffi::c_char;
1598}
1599unsafe extern "C" {
1600 pub fn snd_pcm_chmap_name(val: snd_pcm_chmap_position) -> *const ::core::ffi::c_char;
1601}
1602unsafe extern "C" {
1603 pub fn snd_pcm_chmap_long_name(val: snd_pcm_chmap_position) -> *const ::core::ffi::c_char;
1604}
1605unsafe extern "C" {
1606 pub fn snd_pcm_chmap_print(
1607 map: *const snd_pcm_chmap_t,
1608 maxlen: usize,
1609 buf: *mut ::core::ffi::c_char,
1610 ) -> ::core::ffi::c_int;
1611}
1612unsafe extern "C" {
1613 pub fn snd_pcm_chmap_from_string(str_: *const ::core::ffi::c_char) -> ::core::ffi::c_uint;
1614}
1615unsafe extern "C" {
1616 pub fn snd_pcm_chmap_parse_string(str_: *const ::core::ffi::c_char) -> *mut snd_pcm_chmap_t;
1617}
1618unsafe extern "C" {
1619 pub fn snd_pcm_recover(
1620 pcm: *mut snd_pcm_t,
1621 err: ::core::ffi::c_int,
1622 silent: ::core::ffi::c_int,
1623 ) -> ::core::ffi::c_int;
1624}
1625unsafe extern "C" {
1626 pub fn snd_pcm_set_params(
1627 pcm: *mut snd_pcm_t,
1628 format: snd_pcm_format_t,
1629 access: snd_pcm_access_t,
1630 channels: ::core::ffi::c_uint,
1631 rate: ::core::ffi::c_uint,
1632 soft_resample: ::core::ffi::c_int,
1633 latency: ::core::ffi::c_uint,
1634 ) -> ::core::ffi::c_int;
1635}
1636unsafe extern "C" {
1637 pub fn snd_pcm_get_params(
1638 pcm: *mut snd_pcm_t,
1639 buffer_size: *mut snd_pcm_uframes_t,
1640 period_size: *mut snd_pcm_uframes_t,
1641 ) -> ::core::ffi::c_int;
1642}
1643unsafe extern "C" {
1644 pub fn snd_pcm_info_sizeof() -> usize;
1645}
1646unsafe extern "C" {
1647 pub fn snd_pcm_info_malloc(ptr: *mut *mut snd_pcm_info_t) -> ::core::ffi::c_int;
1648}
1649unsafe extern "C" {
1650 pub fn snd_pcm_info_free(obj: *mut snd_pcm_info_t);
1651}
1652unsafe extern "C" {
1653 pub fn snd_pcm_info_copy(dst: *mut snd_pcm_info_t, src: *const snd_pcm_info_t);
1654}
1655unsafe extern "C" {
1656 pub fn snd_pcm_info_get_device(obj: *const snd_pcm_info_t) -> ::core::ffi::c_uint;
1657}
1658unsafe extern "C" {
1659 pub fn snd_pcm_info_get_subdevice(obj: *const snd_pcm_info_t) -> ::core::ffi::c_uint;
1660}
1661unsafe extern "C" {
1662 pub fn snd_pcm_info_get_stream(obj: *const snd_pcm_info_t) -> snd_pcm_stream_t;
1663}
1664unsafe extern "C" {
1665 pub fn snd_pcm_info_get_card(obj: *const snd_pcm_info_t) -> ::core::ffi::c_int;
1666}
1667unsafe extern "C" {
1668 pub fn snd_pcm_info_get_id(obj: *const snd_pcm_info_t) -> *const ::core::ffi::c_char;
1669}
1670unsafe extern "C" {
1671 pub fn snd_pcm_info_get_name(obj: *const snd_pcm_info_t) -> *const ::core::ffi::c_char;
1672}
1673unsafe extern "C" {
1674 pub fn snd_pcm_info_get_subdevice_name(
1675 obj: *const snd_pcm_info_t,
1676 ) -> *const ::core::ffi::c_char;
1677}
1678unsafe extern "C" {
1679 pub fn snd_pcm_info_get_class(obj: *const snd_pcm_info_t) -> snd_pcm_class_t;
1680}
1681unsafe extern "C" {
1682 pub fn snd_pcm_info_get_subclass(obj: *const snd_pcm_info_t) -> snd_pcm_subclass_t;
1683}
1684unsafe extern "C" {
1685 pub fn snd_pcm_info_get_subdevices_count(obj: *const snd_pcm_info_t) -> ::core::ffi::c_uint;
1686}
1687unsafe extern "C" {
1688 pub fn snd_pcm_info_get_subdevices_avail(obj: *const snd_pcm_info_t) -> ::core::ffi::c_uint;
1689}
1690unsafe extern "C" {
1691 pub fn snd_pcm_info_get_sync(obj: *const snd_pcm_info_t) -> snd_pcm_sync_id_t;
1692}
1693unsafe extern "C" {
1694 pub fn snd_pcm_info_set_device(obj: *mut snd_pcm_info_t, val: ::core::ffi::c_uint);
1695}
1696unsafe extern "C" {
1697 pub fn snd_pcm_info_set_subdevice(obj: *mut snd_pcm_info_t, val: ::core::ffi::c_uint);
1698}
1699unsafe extern "C" {
1700 pub fn snd_pcm_info_set_stream(obj: *mut snd_pcm_info_t, val: snd_pcm_stream_t);
1701}
1702unsafe extern "C" {
1703 pub fn snd_pcm_hw_params_any(
1704 pcm: *mut snd_pcm_t,
1705 params: *mut snd_pcm_hw_params_t,
1706 ) -> ::core::ffi::c_int;
1707}
1708unsafe extern "C" {
1709 pub fn snd_pcm_hw_params_can_mmap_sample_resolution(
1710 params: *const snd_pcm_hw_params_t,
1711 ) -> ::core::ffi::c_int;
1712}
1713unsafe extern "C" {
1714 pub fn snd_pcm_hw_params_is_double(params: *const snd_pcm_hw_params_t) -> ::core::ffi::c_int;
1715}
1716unsafe extern "C" {
1717 pub fn snd_pcm_hw_params_is_batch(params: *const snd_pcm_hw_params_t) -> ::core::ffi::c_int;
1718}
1719unsafe extern "C" {
1720 pub fn snd_pcm_hw_params_is_block_transfer(
1721 params: *const snd_pcm_hw_params_t,
1722 ) -> ::core::ffi::c_int;
1723}
1724unsafe extern "C" {
1725 pub fn snd_pcm_hw_params_is_monotonic(params: *const snd_pcm_hw_params_t)
1726 -> ::core::ffi::c_int;
1727}
1728unsafe extern "C" {
1729 pub fn snd_pcm_hw_params_can_overrange(
1730 params: *const snd_pcm_hw_params_t,
1731 ) -> ::core::ffi::c_int;
1732}
1733unsafe extern "C" {
1734 pub fn snd_pcm_hw_params_can_pause(params: *const snd_pcm_hw_params_t) -> ::core::ffi::c_int;
1735}
1736unsafe extern "C" {
1737 pub fn snd_pcm_hw_params_can_resume(params: *const snd_pcm_hw_params_t) -> ::core::ffi::c_int;
1738}
1739unsafe extern "C" {
1740 pub fn snd_pcm_hw_params_is_half_duplex(
1741 params: *const snd_pcm_hw_params_t,
1742 ) -> ::core::ffi::c_int;
1743}
1744unsafe extern "C" {
1745 pub fn snd_pcm_hw_params_is_joint_duplex(
1746 params: *const snd_pcm_hw_params_t,
1747 ) -> ::core::ffi::c_int;
1748}
1749unsafe extern "C" {
1750 pub fn snd_pcm_hw_params_can_sync_start(
1751 params: *const snd_pcm_hw_params_t,
1752 ) -> ::core::ffi::c_int;
1753}
1754unsafe extern "C" {
1755 pub fn snd_pcm_hw_params_can_disable_period_wakeup(
1756 params: *const snd_pcm_hw_params_t,
1757 ) -> ::core::ffi::c_int;
1758}
1759unsafe extern "C" {
1760 pub fn snd_pcm_hw_params_is_perfect_drain(
1761 params: *const snd_pcm_hw_params_t,
1762 ) -> ::core::ffi::c_int;
1763}
1764unsafe extern "C" {
1765 pub fn snd_pcm_hw_params_supports_audio_wallclock_ts(
1766 params: *const snd_pcm_hw_params_t,
1767 ) -> ::core::ffi::c_int;
1768}
1769unsafe extern "C" {
1770 pub fn snd_pcm_hw_params_supports_audio_ts_type(
1771 params: *const snd_pcm_hw_params_t,
1772 type_: ::core::ffi::c_int,
1773 ) -> ::core::ffi::c_int;
1774}
1775unsafe extern "C" {
1776 pub fn snd_pcm_hw_params_get_rate_numden(
1777 params: *const snd_pcm_hw_params_t,
1778 rate_num: *mut ::core::ffi::c_uint,
1779 rate_den: *mut ::core::ffi::c_uint,
1780 ) -> ::core::ffi::c_int;
1781}
1782unsafe extern "C" {
1783 pub fn snd_pcm_hw_params_get_sbits(params: *const snd_pcm_hw_params_t) -> ::core::ffi::c_int;
1784}
1785unsafe extern "C" {
1786 pub fn snd_pcm_hw_params_get_fifo_size(
1787 params: *const snd_pcm_hw_params_t,
1788 ) -> ::core::ffi::c_int;
1789}
1790unsafe extern "C" {
1791 pub fn snd_pcm_hw_params_get_sync(
1792 params: *const snd_pcm_hw_params_t,
1793 ) -> *const ::core::ffi::c_uchar;
1794}
1795unsafe extern "C" {
1796 pub fn snd_pcm_hw_params_sizeof() -> usize;
1797}
1798unsafe extern "C" {
1799 pub fn snd_pcm_hw_params_malloc(ptr: *mut *mut snd_pcm_hw_params_t) -> ::core::ffi::c_int;
1800}
1801unsafe extern "C" {
1802 pub fn snd_pcm_hw_params_free(obj: *mut snd_pcm_hw_params_t);
1803}
1804unsafe extern "C" {
1805 pub fn snd_pcm_hw_params_copy(dst: *mut snd_pcm_hw_params_t, src: *const snd_pcm_hw_params_t);
1806}
1807unsafe extern "C" {
1808 pub fn snd_pcm_hw_params_get_access(
1809 params: *const snd_pcm_hw_params_t,
1810 _access: *mut snd_pcm_access_t,
1811 ) -> ::core::ffi::c_int;
1812}
1813unsafe extern "C" {
1814 pub fn snd_pcm_hw_params_test_access(
1815 pcm: *mut snd_pcm_t,
1816 params: *mut snd_pcm_hw_params_t,
1817 _access: snd_pcm_access_t,
1818 ) -> ::core::ffi::c_int;
1819}
1820unsafe extern "C" {
1821 pub fn snd_pcm_hw_params_set_access(
1822 pcm: *mut snd_pcm_t,
1823 params: *mut snd_pcm_hw_params_t,
1824 _access: snd_pcm_access_t,
1825 ) -> ::core::ffi::c_int;
1826}
1827unsafe extern "C" {
1828 pub fn snd_pcm_hw_params_set_access_first(
1829 pcm: *mut snd_pcm_t,
1830 params: *mut snd_pcm_hw_params_t,
1831 _access: *mut snd_pcm_access_t,
1832 ) -> ::core::ffi::c_int;
1833}
1834unsafe extern "C" {
1835 pub fn snd_pcm_hw_params_set_access_last(
1836 pcm: *mut snd_pcm_t,
1837 params: *mut snd_pcm_hw_params_t,
1838 _access: *mut snd_pcm_access_t,
1839 ) -> ::core::ffi::c_int;
1840}
1841unsafe extern "C" {
1842 pub fn snd_pcm_hw_params_set_access_mask(
1843 pcm: *mut snd_pcm_t,
1844 params: *mut snd_pcm_hw_params_t,
1845 mask: *mut snd_pcm_access_mask_t,
1846 ) -> ::core::ffi::c_int;
1847}
1848unsafe extern "C" {
1849 pub fn snd_pcm_hw_params_get_access_mask(
1850 params: *mut snd_pcm_hw_params_t,
1851 mask: *mut snd_pcm_access_mask_t,
1852 ) -> ::core::ffi::c_int;
1853}
1854unsafe extern "C" {
1855 pub fn snd_pcm_hw_params_get_format(
1856 params: *const snd_pcm_hw_params_t,
1857 val: *mut snd_pcm_format_t,
1858 ) -> ::core::ffi::c_int;
1859}
1860unsafe extern "C" {
1861 pub fn snd_pcm_hw_params_test_format(
1862 pcm: *mut snd_pcm_t,
1863 params: *mut snd_pcm_hw_params_t,
1864 val: snd_pcm_format_t,
1865 ) -> ::core::ffi::c_int;
1866}
1867unsafe extern "C" {
1868 pub fn snd_pcm_hw_params_set_format(
1869 pcm: *mut snd_pcm_t,
1870 params: *mut snd_pcm_hw_params_t,
1871 val: snd_pcm_format_t,
1872 ) -> ::core::ffi::c_int;
1873}
1874unsafe extern "C" {
1875 pub fn snd_pcm_hw_params_set_format_first(
1876 pcm: *mut snd_pcm_t,
1877 params: *mut snd_pcm_hw_params_t,
1878 format: *mut snd_pcm_format_t,
1879 ) -> ::core::ffi::c_int;
1880}
1881unsafe extern "C" {
1882 pub fn snd_pcm_hw_params_set_format_last(
1883 pcm: *mut snd_pcm_t,
1884 params: *mut snd_pcm_hw_params_t,
1885 format: *mut snd_pcm_format_t,
1886 ) -> ::core::ffi::c_int;
1887}
1888unsafe extern "C" {
1889 pub fn snd_pcm_hw_params_set_format_mask(
1890 pcm: *mut snd_pcm_t,
1891 params: *mut snd_pcm_hw_params_t,
1892 mask: *mut snd_pcm_format_mask_t,
1893 ) -> ::core::ffi::c_int;
1894}
1895unsafe extern "C" {
1896 pub fn snd_pcm_hw_params_get_format_mask(
1897 params: *mut snd_pcm_hw_params_t,
1898 mask: *mut snd_pcm_format_mask_t,
1899 );
1900}
1901unsafe extern "C" {
1902 pub fn snd_pcm_hw_params_get_subformat(
1903 params: *const snd_pcm_hw_params_t,
1904 subformat: *mut snd_pcm_subformat_t,
1905 ) -> ::core::ffi::c_int;
1906}
1907unsafe extern "C" {
1908 pub fn snd_pcm_hw_params_test_subformat(
1909 pcm: *mut snd_pcm_t,
1910 params: *mut snd_pcm_hw_params_t,
1911 subformat: snd_pcm_subformat_t,
1912 ) -> ::core::ffi::c_int;
1913}
1914unsafe extern "C" {
1915 pub fn snd_pcm_hw_params_set_subformat(
1916 pcm: *mut snd_pcm_t,
1917 params: *mut snd_pcm_hw_params_t,
1918 subformat: snd_pcm_subformat_t,
1919 ) -> ::core::ffi::c_int;
1920}
1921unsafe extern "C" {
1922 pub fn snd_pcm_hw_params_set_subformat_first(
1923 pcm: *mut snd_pcm_t,
1924 params: *mut snd_pcm_hw_params_t,
1925 subformat: *mut snd_pcm_subformat_t,
1926 ) -> ::core::ffi::c_int;
1927}
1928unsafe extern "C" {
1929 pub fn snd_pcm_hw_params_set_subformat_last(
1930 pcm: *mut snd_pcm_t,
1931 params: *mut snd_pcm_hw_params_t,
1932 subformat: *mut snd_pcm_subformat_t,
1933 ) -> ::core::ffi::c_int;
1934}
1935unsafe extern "C" {
1936 pub fn snd_pcm_hw_params_set_subformat_mask(
1937 pcm: *mut snd_pcm_t,
1938 params: *mut snd_pcm_hw_params_t,
1939 mask: *mut snd_pcm_subformat_mask_t,
1940 ) -> ::core::ffi::c_int;
1941}
1942unsafe extern "C" {
1943 pub fn snd_pcm_hw_params_get_subformat_mask(
1944 params: *mut snd_pcm_hw_params_t,
1945 mask: *mut snd_pcm_subformat_mask_t,
1946 );
1947}
1948unsafe extern "C" {
1949 pub fn snd_pcm_hw_params_get_channels(
1950 params: *const snd_pcm_hw_params_t,
1951 val: *mut ::core::ffi::c_uint,
1952 ) -> ::core::ffi::c_int;
1953}
1954unsafe extern "C" {
1955 pub fn snd_pcm_hw_params_get_channels_min(
1956 params: *const snd_pcm_hw_params_t,
1957 val: *mut ::core::ffi::c_uint,
1958 ) -> ::core::ffi::c_int;
1959}
1960unsafe extern "C" {
1961 pub fn snd_pcm_hw_params_get_channels_max(
1962 params: *const snd_pcm_hw_params_t,
1963 val: *mut ::core::ffi::c_uint,
1964 ) -> ::core::ffi::c_int;
1965}
1966unsafe extern "C" {
1967 pub fn snd_pcm_hw_params_test_channels(
1968 pcm: *mut snd_pcm_t,
1969 params: *mut snd_pcm_hw_params_t,
1970 val: ::core::ffi::c_uint,
1971 ) -> ::core::ffi::c_int;
1972}
1973unsafe extern "C" {
1974 pub fn snd_pcm_hw_params_set_channels(
1975 pcm: *mut snd_pcm_t,
1976 params: *mut snd_pcm_hw_params_t,
1977 val: ::core::ffi::c_uint,
1978 ) -> ::core::ffi::c_int;
1979}
1980unsafe extern "C" {
1981 pub fn snd_pcm_hw_params_set_channels_min(
1982 pcm: *mut snd_pcm_t,
1983 params: *mut snd_pcm_hw_params_t,
1984 val: *mut ::core::ffi::c_uint,
1985 ) -> ::core::ffi::c_int;
1986}
1987unsafe extern "C" {
1988 pub fn snd_pcm_hw_params_set_channels_max(
1989 pcm: *mut snd_pcm_t,
1990 params: *mut snd_pcm_hw_params_t,
1991 val: *mut ::core::ffi::c_uint,
1992 ) -> ::core::ffi::c_int;
1993}
1994unsafe extern "C" {
1995 pub fn snd_pcm_hw_params_set_channels_minmax(
1996 pcm: *mut snd_pcm_t,
1997 params: *mut snd_pcm_hw_params_t,
1998 min: *mut ::core::ffi::c_uint,
1999 max: *mut ::core::ffi::c_uint,
2000 ) -> ::core::ffi::c_int;
2001}
2002unsafe extern "C" {
2003 pub fn snd_pcm_hw_params_set_channels_near(
2004 pcm: *mut snd_pcm_t,
2005 params: *mut snd_pcm_hw_params_t,
2006 val: *mut ::core::ffi::c_uint,
2007 ) -> ::core::ffi::c_int;
2008}
2009unsafe extern "C" {
2010 pub fn snd_pcm_hw_params_set_channels_first(
2011 pcm: *mut snd_pcm_t,
2012 params: *mut snd_pcm_hw_params_t,
2013 val: *mut ::core::ffi::c_uint,
2014 ) -> ::core::ffi::c_int;
2015}
2016unsafe extern "C" {
2017 pub fn snd_pcm_hw_params_set_channels_last(
2018 pcm: *mut snd_pcm_t,
2019 params: *mut snd_pcm_hw_params_t,
2020 val: *mut ::core::ffi::c_uint,
2021 ) -> ::core::ffi::c_int;
2022}
2023unsafe extern "C" {
2024 pub fn snd_pcm_hw_params_get_rate(
2025 params: *const snd_pcm_hw_params_t,
2026 val: *mut ::core::ffi::c_uint,
2027 dir: *mut ::core::ffi::c_int,
2028 ) -> ::core::ffi::c_int;
2029}
2030unsafe extern "C" {
2031 pub fn snd_pcm_hw_params_get_rate_min(
2032 params: *const snd_pcm_hw_params_t,
2033 val: *mut ::core::ffi::c_uint,
2034 dir: *mut ::core::ffi::c_int,
2035 ) -> ::core::ffi::c_int;
2036}
2037unsafe extern "C" {
2038 pub fn snd_pcm_hw_params_get_rate_max(
2039 params: *const snd_pcm_hw_params_t,
2040 val: *mut ::core::ffi::c_uint,
2041 dir: *mut ::core::ffi::c_int,
2042 ) -> ::core::ffi::c_int;
2043}
2044unsafe extern "C" {
2045 pub fn snd_pcm_hw_params_test_rate(
2046 pcm: *mut snd_pcm_t,
2047 params: *mut snd_pcm_hw_params_t,
2048 val: ::core::ffi::c_uint,
2049 dir: ::core::ffi::c_int,
2050 ) -> ::core::ffi::c_int;
2051}
2052unsafe extern "C" {
2053 pub fn snd_pcm_hw_params_set_rate(
2054 pcm: *mut snd_pcm_t,
2055 params: *mut snd_pcm_hw_params_t,
2056 val: ::core::ffi::c_uint,
2057 dir: ::core::ffi::c_int,
2058 ) -> ::core::ffi::c_int;
2059}
2060unsafe extern "C" {
2061 pub fn snd_pcm_hw_params_set_rate_min(
2062 pcm: *mut snd_pcm_t,
2063 params: *mut snd_pcm_hw_params_t,
2064 val: *mut ::core::ffi::c_uint,
2065 dir: *mut ::core::ffi::c_int,
2066 ) -> ::core::ffi::c_int;
2067}
2068unsafe extern "C" {
2069 pub fn snd_pcm_hw_params_set_rate_max(
2070 pcm: *mut snd_pcm_t,
2071 params: *mut snd_pcm_hw_params_t,
2072 val: *mut ::core::ffi::c_uint,
2073 dir: *mut ::core::ffi::c_int,
2074 ) -> ::core::ffi::c_int;
2075}
2076unsafe extern "C" {
2077 pub fn snd_pcm_hw_params_set_rate_minmax(
2078 pcm: *mut snd_pcm_t,
2079 params: *mut snd_pcm_hw_params_t,
2080 min: *mut ::core::ffi::c_uint,
2081 mindir: *mut ::core::ffi::c_int,
2082 max: *mut ::core::ffi::c_uint,
2083 maxdir: *mut ::core::ffi::c_int,
2084 ) -> ::core::ffi::c_int;
2085}
2086unsafe extern "C" {
2087 pub fn snd_pcm_hw_params_set_rate_near(
2088 pcm: *mut snd_pcm_t,
2089 params: *mut snd_pcm_hw_params_t,
2090 val: *mut ::core::ffi::c_uint,
2091 dir: *mut ::core::ffi::c_int,
2092 ) -> ::core::ffi::c_int;
2093}
2094unsafe extern "C" {
2095 pub fn snd_pcm_hw_params_set_rate_first(
2096 pcm: *mut snd_pcm_t,
2097 params: *mut snd_pcm_hw_params_t,
2098 val: *mut ::core::ffi::c_uint,
2099 dir: *mut ::core::ffi::c_int,
2100 ) -> ::core::ffi::c_int;
2101}
2102unsafe extern "C" {
2103 pub fn snd_pcm_hw_params_set_rate_last(
2104 pcm: *mut snd_pcm_t,
2105 params: *mut snd_pcm_hw_params_t,
2106 val: *mut ::core::ffi::c_uint,
2107 dir: *mut ::core::ffi::c_int,
2108 ) -> ::core::ffi::c_int;
2109}
2110unsafe extern "C" {
2111 pub fn snd_pcm_hw_params_set_rate_resample(
2112 pcm: *mut snd_pcm_t,
2113 params: *mut snd_pcm_hw_params_t,
2114 val: ::core::ffi::c_uint,
2115 ) -> ::core::ffi::c_int;
2116}
2117unsafe extern "C" {
2118 pub fn snd_pcm_hw_params_get_rate_resample(
2119 pcm: *mut snd_pcm_t,
2120 params: *mut snd_pcm_hw_params_t,
2121 val: *mut ::core::ffi::c_uint,
2122 ) -> ::core::ffi::c_int;
2123}
2124unsafe extern "C" {
2125 pub fn snd_pcm_hw_params_set_export_buffer(
2126 pcm: *mut snd_pcm_t,
2127 params: *mut snd_pcm_hw_params_t,
2128 val: ::core::ffi::c_uint,
2129 ) -> ::core::ffi::c_int;
2130}
2131unsafe extern "C" {
2132 pub fn snd_pcm_hw_params_get_export_buffer(
2133 pcm: *mut snd_pcm_t,
2134 params: *mut snd_pcm_hw_params_t,
2135 val: *mut ::core::ffi::c_uint,
2136 ) -> ::core::ffi::c_int;
2137}
2138unsafe extern "C" {
2139 pub fn snd_pcm_hw_params_set_period_wakeup(
2140 pcm: *mut snd_pcm_t,
2141 params: *mut snd_pcm_hw_params_t,
2142 val: ::core::ffi::c_uint,
2143 ) -> ::core::ffi::c_int;
2144}
2145unsafe extern "C" {
2146 pub fn snd_pcm_hw_params_get_period_wakeup(
2147 pcm: *mut snd_pcm_t,
2148 params: *mut snd_pcm_hw_params_t,
2149 val: *mut ::core::ffi::c_uint,
2150 ) -> ::core::ffi::c_int;
2151}
2152unsafe extern "C" {
2153 pub fn snd_pcm_hw_params_set_drain_silence(
2154 pcm: *mut snd_pcm_t,
2155 params: *mut snd_pcm_hw_params_t,
2156 val: ::core::ffi::c_uint,
2157 ) -> ::core::ffi::c_int;
2158}
2159unsafe extern "C" {
2160 pub fn snd_pcm_hw_params_get_drain_silence(
2161 pcm: *mut snd_pcm_t,
2162 params: *mut snd_pcm_hw_params_t,
2163 val: *mut ::core::ffi::c_uint,
2164 ) -> ::core::ffi::c_int;
2165}
2166unsafe extern "C" {
2167 pub fn snd_pcm_hw_params_get_period_time(
2168 params: *const snd_pcm_hw_params_t,
2169 val: *mut ::core::ffi::c_uint,
2170 dir: *mut ::core::ffi::c_int,
2171 ) -> ::core::ffi::c_int;
2172}
2173unsafe extern "C" {
2174 pub fn snd_pcm_hw_params_get_period_time_min(
2175 params: *const snd_pcm_hw_params_t,
2176 val: *mut ::core::ffi::c_uint,
2177 dir: *mut ::core::ffi::c_int,
2178 ) -> ::core::ffi::c_int;
2179}
2180unsafe extern "C" {
2181 pub fn snd_pcm_hw_params_get_period_time_max(
2182 params: *const snd_pcm_hw_params_t,
2183 val: *mut ::core::ffi::c_uint,
2184 dir: *mut ::core::ffi::c_int,
2185 ) -> ::core::ffi::c_int;
2186}
2187unsafe extern "C" {
2188 pub fn snd_pcm_hw_params_test_period_time(
2189 pcm: *mut snd_pcm_t,
2190 params: *mut snd_pcm_hw_params_t,
2191 val: ::core::ffi::c_uint,
2192 dir: ::core::ffi::c_int,
2193 ) -> ::core::ffi::c_int;
2194}
2195unsafe extern "C" {
2196 pub fn snd_pcm_hw_params_set_period_time(
2197 pcm: *mut snd_pcm_t,
2198 params: *mut snd_pcm_hw_params_t,
2199 val: ::core::ffi::c_uint,
2200 dir: ::core::ffi::c_int,
2201 ) -> ::core::ffi::c_int;
2202}
2203unsafe extern "C" {
2204 pub fn snd_pcm_hw_params_set_period_time_min(
2205 pcm: *mut snd_pcm_t,
2206 params: *mut snd_pcm_hw_params_t,
2207 val: *mut ::core::ffi::c_uint,
2208 dir: *mut ::core::ffi::c_int,
2209 ) -> ::core::ffi::c_int;
2210}
2211unsafe extern "C" {
2212 pub fn snd_pcm_hw_params_set_period_time_max(
2213 pcm: *mut snd_pcm_t,
2214 params: *mut snd_pcm_hw_params_t,
2215 val: *mut ::core::ffi::c_uint,
2216 dir: *mut ::core::ffi::c_int,
2217 ) -> ::core::ffi::c_int;
2218}
2219unsafe extern "C" {
2220 pub fn snd_pcm_hw_params_set_period_time_minmax(
2221 pcm: *mut snd_pcm_t,
2222 params: *mut snd_pcm_hw_params_t,
2223 min: *mut ::core::ffi::c_uint,
2224 mindir: *mut ::core::ffi::c_int,
2225 max: *mut ::core::ffi::c_uint,
2226 maxdir: *mut ::core::ffi::c_int,
2227 ) -> ::core::ffi::c_int;
2228}
2229unsafe extern "C" {
2230 pub fn snd_pcm_hw_params_set_period_time_near(
2231 pcm: *mut snd_pcm_t,
2232 params: *mut snd_pcm_hw_params_t,
2233 val: *mut ::core::ffi::c_uint,
2234 dir: *mut ::core::ffi::c_int,
2235 ) -> ::core::ffi::c_int;
2236}
2237unsafe extern "C" {
2238 pub fn snd_pcm_hw_params_set_period_time_first(
2239 pcm: *mut snd_pcm_t,
2240 params: *mut snd_pcm_hw_params_t,
2241 val: *mut ::core::ffi::c_uint,
2242 dir: *mut ::core::ffi::c_int,
2243 ) -> ::core::ffi::c_int;
2244}
2245unsafe extern "C" {
2246 pub fn snd_pcm_hw_params_set_period_time_last(
2247 pcm: *mut snd_pcm_t,
2248 params: *mut snd_pcm_hw_params_t,
2249 val: *mut ::core::ffi::c_uint,
2250 dir: *mut ::core::ffi::c_int,
2251 ) -> ::core::ffi::c_int;
2252}
2253unsafe extern "C" {
2254 pub fn snd_pcm_hw_params_get_period_size(
2255 params: *const snd_pcm_hw_params_t,
2256 frames: *mut snd_pcm_uframes_t,
2257 dir: *mut ::core::ffi::c_int,
2258 ) -> ::core::ffi::c_int;
2259}
2260unsafe extern "C" {
2261 pub fn snd_pcm_hw_params_get_period_size_min(
2262 params: *const snd_pcm_hw_params_t,
2263 frames: *mut snd_pcm_uframes_t,
2264 dir: *mut ::core::ffi::c_int,
2265 ) -> ::core::ffi::c_int;
2266}
2267unsafe extern "C" {
2268 pub fn snd_pcm_hw_params_get_period_size_max(
2269 params: *const snd_pcm_hw_params_t,
2270 frames: *mut snd_pcm_uframes_t,
2271 dir: *mut ::core::ffi::c_int,
2272 ) -> ::core::ffi::c_int;
2273}
2274unsafe extern "C" {
2275 pub fn snd_pcm_hw_params_test_period_size(
2276 pcm: *mut snd_pcm_t,
2277 params: *mut snd_pcm_hw_params_t,
2278 val: snd_pcm_uframes_t,
2279 dir: ::core::ffi::c_int,
2280 ) -> ::core::ffi::c_int;
2281}
2282unsafe extern "C" {
2283 pub fn snd_pcm_hw_params_set_period_size(
2284 pcm: *mut snd_pcm_t,
2285 params: *mut snd_pcm_hw_params_t,
2286 val: snd_pcm_uframes_t,
2287 dir: ::core::ffi::c_int,
2288 ) -> ::core::ffi::c_int;
2289}
2290unsafe extern "C" {
2291 pub fn snd_pcm_hw_params_set_period_size_min(
2292 pcm: *mut snd_pcm_t,
2293 params: *mut snd_pcm_hw_params_t,
2294 val: *mut snd_pcm_uframes_t,
2295 dir: *mut ::core::ffi::c_int,
2296 ) -> ::core::ffi::c_int;
2297}
2298unsafe extern "C" {
2299 pub fn snd_pcm_hw_params_set_period_size_max(
2300 pcm: *mut snd_pcm_t,
2301 params: *mut snd_pcm_hw_params_t,
2302 val: *mut snd_pcm_uframes_t,
2303 dir: *mut ::core::ffi::c_int,
2304 ) -> ::core::ffi::c_int;
2305}
2306unsafe extern "C" {
2307 pub fn snd_pcm_hw_params_set_period_size_minmax(
2308 pcm: *mut snd_pcm_t,
2309 params: *mut snd_pcm_hw_params_t,
2310 min: *mut snd_pcm_uframes_t,
2311 mindir: *mut ::core::ffi::c_int,
2312 max: *mut snd_pcm_uframes_t,
2313 maxdir: *mut ::core::ffi::c_int,
2314 ) -> ::core::ffi::c_int;
2315}
2316unsafe extern "C" {
2317 pub fn snd_pcm_hw_params_set_period_size_near(
2318 pcm: *mut snd_pcm_t,
2319 params: *mut snd_pcm_hw_params_t,
2320 val: *mut snd_pcm_uframes_t,
2321 dir: *mut ::core::ffi::c_int,
2322 ) -> ::core::ffi::c_int;
2323}
2324unsafe extern "C" {
2325 pub fn snd_pcm_hw_params_set_period_size_first(
2326 pcm: *mut snd_pcm_t,
2327 params: *mut snd_pcm_hw_params_t,
2328 val: *mut snd_pcm_uframes_t,
2329 dir: *mut ::core::ffi::c_int,
2330 ) -> ::core::ffi::c_int;
2331}
2332unsafe extern "C" {
2333 pub fn snd_pcm_hw_params_set_period_size_last(
2334 pcm: *mut snd_pcm_t,
2335 params: *mut snd_pcm_hw_params_t,
2336 val: *mut snd_pcm_uframes_t,
2337 dir: *mut ::core::ffi::c_int,
2338 ) -> ::core::ffi::c_int;
2339}
2340unsafe extern "C" {
2341 pub fn snd_pcm_hw_params_set_period_size_integer(
2342 pcm: *mut snd_pcm_t,
2343 params: *mut snd_pcm_hw_params_t,
2344 ) -> ::core::ffi::c_int;
2345}
2346unsafe extern "C" {
2347 pub fn snd_pcm_hw_params_get_periods(
2348 params: *const snd_pcm_hw_params_t,
2349 val: *mut ::core::ffi::c_uint,
2350 dir: *mut ::core::ffi::c_int,
2351 ) -> ::core::ffi::c_int;
2352}
2353unsafe extern "C" {
2354 pub fn snd_pcm_hw_params_get_periods_min(
2355 params: *const snd_pcm_hw_params_t,
2356 val: *mut ::core::ffi::c_uint,
2357 dir: *mut ::core::ffi::c_int,
2358 ) -> ::core::ffi::c_int;
2359}
2360unsafe extern "C" {
2361 pub fn snd_pcm_hw_params_get_periods_max(
2362 params: *const snd_pcm_hw_params_t,
2363 val: *mut ::core::ffi::c_uint,
2364 dir: *mut ::core::ffi::c_int,
2365 ) -> ::core::ffi::c_int;
2366}
2367unsafe extern "C" {
2368 pub fn snd_pcm_hw_params_test_periods(
2369 pcm: *mut snd_pcm_t,
2370 params: *mut snd_pcm_hw_params_t,
2371 val: ::core::ffi::c_uint,
2372 dir: ::core::ffi::c_int,
2373 ) -> ::core::ffi::c_int;
2374}
2375unsafe extern "C" {
2376 pub fn snd_pcm_hw_params_set_periods(
2377 pcm: *mut snd_pcm_t,
2378 params: *mut snd_pcm_hw_params_t,
2379 val: ::core::ffi::c_uint,
2380 dir: ::core::ffi::c_int,
2381 ) -> ::core::ffi::c_int;
2382}
2383unsafe extern "C" {
2384 pub fn snd_pcm_hw_params_set_periods_min(
2385 pcm: *mut snd_pcm_t,
2386 params: *mut snd_pcm_hw_params_t,
2387 val: *mut ::core::ffi::c_uint,
2388 dir: *mut ::core::ffi::c_int,
2389 ) -> ::core::ffi::c_int;
2390}
2391unsafe extern "C" {
2392 pub fn snd_pcm_hw_params_set_periods_max(
2393 pcm: *mut snd_pcm_t,
2394 params: *mut snd_pcm_hw_params_t,
2395 val: *mut ::core::ffi::c_uint,
2396 dir: *mut ::core::ffi::c_int,
2397 ) -> ::core::ffi::c_int;
2398}
2399unsafe extern "C" {
2400 pub fn snd_pcm_hw_params_set_periods_minmax(
2401 pcm: *mut snd_pcm_t,
2402 params: *mut snd_pcm_hw_params_t,
2403 min: *mut ::core::ffi::c_uint,
2404 mindir: *mut ::core::ffi::c_int,
2405 max: *mut ::core::ffi::c_uint,
2406 maxdir: *mut ::core::ffi::c_int,
2407 ) -> ::core::ffi::c_int;
2408}
2409unsafe extern "C" {
2410 pub fn snd_pcm_hw_params_set_periods_near(
2411 pcm: *mut snd_pcm_t,
2412 params: *mut snd_pcm_hw_params_t,
2413 val: *mut ::core::ffi::c_uint,
2414 dir: *mut ::core::ffi::c_int,
2415 ) -> ::core::ffi::c_int;
2416}
2417unsafe extern "C" {
2418 pub fn snd_pcm_hw_params_set_periods_first(
2419 pcm: *mut snd_pcm_t,
2420 params: *mut snd_pcm_hw_params_t,
2421 val: *mut ::core::ffi::c_uint,
2422 dir: *mut ::core::ffi::c_int,
2423 ) -> ::core::ffi::c_int;
2424}
2425unsafe extern "C" {
2426 pub fn snd_pcm_hw_params_set_periods_last(
2427 pcm: *mut snd_pcm_t,
2428 params: *mut snd_pcm_hw_params_t,
2429 val: *mut ::core::ffi::c_uint,
2430 dir: *mut ::core::ffi::c_int,
2431 ) -> ::core::ffi::c_int;
2432}
2433unsafe extern "C" {
2434 pub fn snd_pcm_hw_params_set_periods_integer(
2435 pcm: *mut snd_pcm_t,
2436 params: *mut snd_pcm_hw_params_t,
2437 ) -> ::core::ffi::c_int;
2438}
2439unsafe extern "C" {
2440 pub fn snd_pcm_hw_params_get_buffer_time(
2441 params: *const snd_pcm_hw_params_t,
2442 val: *mut ::core::ffi::c_uint,
2443 dir: *mut ::core::ffi::c_int,
2444 ) -> ::core::ffi::c_int;
2445}
2446unsafe extern "C" {
2447 pub fn snd_pcm_hw_params_get_buffer_time_min(
2448 params: *const snd_pcm_hw_params_t,
2449 val: *mut ::core::ffi::c_uint,
2450 dir: *mut ::core::ffi::c_int,
2451 ) -> ::core::ffi::c_int;
2452}
2453unsafe extern "C" {
2454 pub fn snd_pcm_hw_params_get_buffer_time_max(
2455 params: *const snd_pcm_hw_params_t,
2456 val: *mut ::core::ffi::c_uint,
2457 dir: *mut ::core::ffi::c_int,
2458 ) -> ::core::ffi::c_int;
2459}
2460unsafe extern "C" {
2461 pub fn snd_pcm_hw_params_test_buffer_time(
2462 pcm: *mut snd_pcm_t,
2463 params: *mut snd_pcm_hw_params_t,
2464 val: ::core::ffi::c_uint,
2465 dir: ::core::ffi::c_int,
2466 ) -> ::core::ffi::c_int;
2467}
2468unsafe extern "C" {
2469 pub fn snd_pcm_hw_params_set_buffer_time(
2470 pcm: *mut snd_pcm_t,
2471 params: *mut snd_pcm_hw_params_t,
2472 val: ::core::ffi::c_uint,
2473 dir: ::core::ffi::c_int,
2474 ) -> ::core::ffi::c_int;
2475}
2476unsafe extern "C" {
2477 pub fn snd_pcm_hw_params_set_buffer_time_min(
2478 pcm: *mut snd_pcm_t,
2479 params: *mut snd_pcm_hw_params_t,
2480 val: *mut ::core::ffi::c_uint,
2481 dir: *mut ::core::ffi::c_int,
2482 ) -> ::core::ffi::c_int;
2483}
2484unsafe extern "C" {
2485 pub fn snd_pcm_hw_params_set_buffer_time_max(
2486 pcm: *mut snd_pcm_t,
2487 params: *mut snd_pcm_hw_params_t,
2488 val: *mut ::core::ffi::c_uint,
2489 dir: *mut ::core::ffi::c_int,
2490 ) -> ::core::ffi::c_int;
2491}
2492unsafe extern "C" {
2493 pub fn snd_pcm_hw_params_set_buffer_time_minmax(
2494 pcm: *mut snd_pcm_t,
2495 params: *mut snd_pcm_hw_params_t,
2496 min: *mut ::core::ffi::c_uint,
2497 mindir: *mut ::core::ffi::c_int,
2498 max: *mut ::core::ffi::c_uint,
2499 maxdir: *mut ::core::ffi::c_int,
2500 ) -> ::core::ffi::c_int;
2501}
2502unsafe extern "C" {
2503 pub fn snd_pcm_hw_params_set_buffer_time_near(
2504 pcm: *mut snd_pcm_t,
2505 params: *mut snd_pcm_hw_params_t,
2506 val: *mut ::core::ffi::c_uint,
2507 dir: *mut ::core::ffi::c_int,
2508 ) -> ::core::ffi::c_int;
2509}
2510unsafe extern "C" {
2511 pub fn snd_pcm_hw_params_set_buffer_time_first(
2512 pcm: *mut snd_pcm_t,
2513 params: *mut snd_pcm_hw_params_t,
2514 val: *mut ::core::ffi::c_uint,
2515 dir: *mut ::core::ffi::c_int,
2516 ) -> ::core::ffi::c_int;
2517}
2518unsafe extern "C" {
2519 pub fn snd_pcm_hw_params_set_buffer_time_last(
2520 pcm: *mut snd_pcm_t,
2521 params: *mut snd_pcm_hw_params_t,
2522 val: *mut ::core::ffi::c_uint,
2523 dir: *mut ::core::ffi::c_int,
2524 ) -> ::core::ffi::c_int;
2525}
2526unsafe extern "C" {
2527 pub fn snd_pcm_hw_params_get_buffer_size(
2528 params: *const snd_pcm_hw_params_t,
2529 val: *mut snd_pcm_uframes_t,
2530 ) -> ::core::ffi::c_int;
2531}
2532unsafe extern "C" {
2533 pub fn snd_pcm_hw_params_get_buffer_size_min(
2534 params: *const snd_pcm_hw_params_t,
2535 val: *mut snd_pcm_uframes_t,
2536 ) -> ::core::ffi::c_int;
2537}
2538unsafe extern "C" {
2539 pub fn snd_pcm_hw_params_get_buffer_size_max(
2540 params: *const snd_pcm_hw_params_t,
2541 val: *mut snd_pcm_uframes_t,
2542 ) -> ::core::ffi::c_int;
2543}
2544unsafe extern "C" {
2545 pub fn snd_pcm_hw_params_test_buffer_size(
2546 pcm: *mut snd_pcm_t,
2547 params: *mut snd_pcm_hw_params_t,
2548 val: snd_pcm_uframes_t,
2549 ) -> ::core::ffi::c_int;
2550}
2551unsafe extern "C" {
2552 pub fn snd_pcm_hw_params_set_buffer_size(
2553 pcm: *mut snd_pcm_t,
2554 params: *mut snd_pcm_hw_params_t,
2555 val: snd_pcm_uframes_t,
2556 ) -> ::core::ffi::c_int;
2557}
2558unsafe extern "C" {
2559 pub fn snd_pcm_hw_params_set_buffer_size_min(
2560 pcm: *mut snd_pcm_t,
2561 params: *mut snd_pcm_hw_params_t,
2562 val: *mut snd_pcm_uframes_t,
2563 ) -> ::core::ffi::c_int;
2564}
2565unsafe extern "C" {
2566 pub fn snd_pcm_hw_params_set_buffer_size_max(
2567 pcm: *mut snd_pcm_t,
2568 params: *mut snd_pcm_hw_params_t,
2569 val: *mut snd_pcm_uframes_t,
2570 ) -> ::core::ffi::c_int;
2571}
2572unsafe extern "C" {
2573 pub fn snd_pcm_hw_params_set_buffer_size_minmax(
2574 pcm: *mut snd_pcm_t,
2575 params: *mut snd_pcm_hw_params_t,
2576 min: *mut snd_pcm_uframes_t,
2577 max: *mut snd_pcm_uframes_t,
2578 ) -> ::core::ffi::c_int;
2579}
2580unsafe extern "C" {
2581 pub fn snd_pcm_hw_params_set_buffer_size_near(
2582 pcm: *mut snd_pcm_t,
2583 params: *mut snd_pcm_hw_params_t,
2584 val: *mut snd_pcm_uframes_t,
2585 ) -> ::core::ffi::c_int;
2586}
2587unsafe extern "C" {
2588 pub fn snd_pcm_hw_params_set_buffer_size_first(
2589 pcm: *mut snd_pcm_t,
2590 params: *mut snd_pcm_hw_params_t,
2591 val: *mut snd_pcm_uframes_t,
2592 ) -> ::core::ffi::c_int;
2593}
2594unsafe extern "C" {
2595 pub fn snd_pcm_hw_params_set_buffer_size_last(
2596 pcm: *mut snd_pcm_t,
2597 params: *mut snd_pcm_hw_params_t,
2598 val: *mut snd_pcm_uframes_t,
2599 ) -> ::core::ffi::c_int;
2600}
2601unsafe extern "C" {
2602 pub fn snd_pcm_hw_params_get_min_align(
2603 params: *const snd_pcm_hw_params_t,
2604 val: *mut snd_pcm_uframes_t,
2605 ) -> ::core::ffi::c_int;
2606}
2607unsafe extern "C" {
2608 pub fn snd_pcm_sw_params_sizeof() -> usize;
2609}
2610unsafe extern "C" {
2611 pub fn snd_pcm_sw_params_malloc(ptr: *mut *mut snd_pcm_sw_params_t) -> ::core::ffi::c_int;
2612}
2613unsafe extern "C" {
2614 pub fn snd_pcm_sw_params_free(obj: *mut snd_pcm_sw_params_t);
2615}
2616unsafe extern "C" {
2617 pub fn snd_pcm_sw_params_copy(dst: *mut snd_pcm_sw_params_t, src: *const snd_pcm_sw_params_t);
2618}
2619unsafe extern "C" {
2620 pub fn snd_pcm_sw_params_get_boundary(
2621 params: *const snd_pcm_sw_params_t,
2622 val: *mut snd_pcm_uframes_t,
2623 ) -> ::core::ffi::c_int;
2624}
2625unsafe extern "C" {
2626 pub fn snd_pcm_sw_params_set_tstamp_mode(
2627 pcm: *mut snd_pcm_t,
2628 params: *mut snd_pcm_sw_params_t,
2629 val: snd_pcm_tstamp_t,
2630 ) -> ::core::ffi::c_int;
2631}
2632unsafe extern "C" {
2633 pub fn snd_pcm_sw_params_get_tstamp_mode(
2634 params: *const snd_pcm_sw_params_t,
2635 val: *mut snd_pcm_tstamp_t,
2636 ) -> ::core::ffi::c_int;
2637}
2638unsafe extern "C" {
2639 pub fn snd_pcm_sw_params_set_tstamp_type(
2640 pcm: *mut snd_pcm_t,
2641 params: *mut snd_pcm_sw_params_t,
2642 val: snd_pcm_tstamp_type_t,
2643 ) -> ::core::ffi::c_int;
2644}
2645unsafe extern "C" {
2646 pub fn snd_pcm_sw_params_get_tstamp_type(
2647 params: *const snd_pcm_sw_params_t,
2648 val: *mut snd_pcm_tstamp_type_t,
2649 ) -> ::core::ffi::c_int;
2650}
2651unsafe extern "C" {
2652 pub fn snd_pcm_sw_params_set_avail_min(
2653 pcm: *mut snd_pcm_t,
2654 params: *mut snd_pcm_sw_params_t,
2655 val: snd_pcm_uframes_t,
2656 ) -> ::core::ffi::c_int;
2657}
2658unsafe extern "C" {
2659 pub fn snd_pcm_sw_params_get_avail_min(
2660 params: *const snd_pcm_sw_params_t,
2661 val: *mut snd_pcm_uframes_t,
2662 ) -> ::core::ffi::c_int;
2663}
2664unsafe extern "C" {
2665 pub fn snd_pcm_sw_params_set_period_event(
2666 pcm: *mut snd_pcm_t,
2667 params: *mut snd_pcm_sw_params_t,
2668 val: ::core::ffi::c_int,
2669 ) -> ::core::ffi::c_int;
2670}
2671unsafe extern "C" {
2672 pub fn snd_pcm_sw_params_get_period_event(
2673 params: *const snd_pcm_sw_params_t,
2674 val: *mut ::core::ffi::c_int,
2675 ) -> ::core::ffi::c_int;
2676}
2677unsafe extern "C" {
2678 pub fn snd_pcm_sw_params_set_start_threshold(
2679 pcm: *mut snd_pcm_t,
2680 params: *mut snd_pcm_sw_params_t,
2681 val: snd_pcm_uframes_t,
2682 ) -> ::core::ffi::c_int;
2683}
2684unsafe extern "C" {
2685 pub fn snd_pcm_sw_params_get_start_threshold(
2686 paramsm: *const snd_pcm_sw_params_t,
2687 val: *mut snd_pcm_uframes_t,
2688 ) -> ::core::ffi::c_int;
2689}
2690unsafe extern "C" {
2691 pub fn snd_pcm_sw_params_set_stop_threshold(
2692 pcm: *mut snd_pcm_t,
2693 params: *mut snd_pcm_sw_params_t,
2694 val: snd_pcm_uframes_t,
2695 ) -> ::core::ffi::c_int;
2696}
2697unsafe extern "C" {
2698 pub fn snd_pcm_sw_params_get_stop_threshold(
2699 params: *const snd_pcm_sw_params_t,
2700 val: *mut snd_pcm_uframes_t,
2701 ) -> ::core::ffi::c_int;
2702}
2703unsafe extern "C" {
2704 pub fn snd_pcm_sw_params_set_silence_threshold(
2705 pcm: *mut snd_pcm_t,
2706 params: *mut snd_pcm_sw_params_t,
2707 val: snd_pcm_uframes_t,
2708 ) -> ::core::ffi::c_int;
2709}
2710unsafe extern "C" {
2711 pub fn snd_pcm_sw_params_get_silence_threshold(
2712 params: *const snd_pcm_sw_params_t,
2713 val: *mut snd_pcm_uframes_t,
2714 ) -> ::core::ffi::c_int;
2715}
2716unsafe extern "C" {
2717 pub fn snd_pcm_sw_params_set_silence_size(
2718 pcm: *mut snd_pcm_t,
2719 params: *mut snd_pcm_sw_params_t,
2720 val: snd_pcm_uframes_t,
2721 ) -> ::core::ffi::c_int;
2722}
2723unsafe extern "C" {
2724 pub fn snd_pcm_sw_params_get_silence_size(
2725 params: *const snd_pcm_sw_params_t,
2726 val: *mut snd_pcm_uframes_t,
2727 ) -> ::core::ffi::c_int;
2728}
2729unsafe extern "C" {
2730 pub fn snd_pcm_access_mask_sizeof() -> usize;
2731}
2732unsafe extern "C" {
2733 pub fn snd_pcm_access_mask_malloc(ptr: *mut *mut snd_pcm_access_mask_t) -> ::core::ffi::c_int;
2734}
2735unsafe extern "C" {
2736 pub fn snd_pcm_access_mask_free(obj: *mut snd_pcm_access_mask_t);
2737}
2738unsafe extern "C" {
2739 pub fn snd_pcm_access_mask_copy(
2740 dst: *mut snd_pcm_access_mask_t,
2741 src: *const snd_pcm_access_mask_t,
2742 );
2743}
2744unsafe extern "C" {
2745 pub fn snd_pcm_access_mask_none(mask: *mut snd_pcm_access_mask_t);
2746}
2747unsafe extern "C" {
2748 pub fn snd_pcm_access_mask_any(mask: *mut snd_pcm_access_mask_t);
2749}
2750unsafe extern "C" {
2751 pub fn snd_pcm_access_mask_test(
2752 mask: *const snd_pcm_access_mask_t,
2753 val: snd_pcm_access_t,
2754 ) -> ::core::ffi::c_int;
2755}
2756unsafe extern "C" {
2757 pub fn snd_pcm_access_mask_empty(mask: *const snd_pcm_access_mask_t) -> ::core::ffi::c_int;
2758}
2759unsafe extern "C" {
2760 pub fn snd_pcm_access_mask_set(mask: *mut snd_pcm_access_mask_t, val: snd_pcm_access_t);
2761}
2762unsafe extern "C" {
2763 pub fn snd_pcm_access_mask_reset(mask: *mut snd_pcm_access_mask_t, val: snd_pcm_access_t);
2764}
2765unsafe extern "C" {
2766 pub fn snd_pcm_format_mask_sizeof() -> usize;
2767}
2768unsafe extern "C" {
2769 pub fn snd_pcm_format_mask_malloc(ptr: *mut *mut snd_pcm_format_mask_t) -> ::core::ffi::c_int;
2770}
2771unsafe extern "C" {
2772 pub fn snd_pcm_format_mask_free(obj: *mut snd_pcm_format_mask_t);
2773}
2774unsafe extern "C" {
2775 pub fn snd_pcm_format_mask_copy(
2776 dst: *mut snd_pcm_format_mask_t,
2777 src: *const snd_pcm_format_mask_t,
2778 );
2779}
2780unsafe extern "C" {
2781 pub fn snd_pcm_format_mask_none(mask: *mut snd_pcm_format_mask_t);
2782}
2783unsafe extern "C" {
2784 pub fn snd_pcm_format_mask_any(mask: *mut snd_pcm_format_mask_t);
2785}
2786unsafe extern "C" {
2787 pub fn snd_pcm_format_mask_test(
2788 mask: *const snd_pcm_format_mask_t,
2789 val: snd_pcm_format_t,
2790 ) -> ::core::ffi::c_int;
2791}
2792unsafe extern "C" {
2793 pub fn snd_pcm_format_mask_empty(mask: *const snd_pcm_format_mask_t) -> ::core::ffi::c_int;
2794}
2795unsafe extern "C" {
2796 pub fn snd_pcm_format_mask_set(mask: *mut snd_pcm_format_mask_t, val: snd_pcm_format_t);
2797}
2798unsafe extern "C" {
2799 pub fn snd_pcm_format_mask_reset(mask: *mut snd_pcm_format_mask_t, val: snd_pcm_format_t);
2800}
2801unsafe extern "C" {
2802 pub fn snd_pcm_subformat_mask_sizeof() -> usize;
2803}
2804unsafe extern "C" {
2805 pub fn snd_pcm_subformat_mask_malloc(
2806 ptr: *mut *mut snd_pcm_subformat_mask_t,
2807 ) -> ::core::ffi::c_int;
2808}
2809unsafe extern "C" {
2810 pub fn snd_pcm_subformat_mask_free(obj: *mut snd_pcm_subformat_mask_t);
2811}
2812unsafe extern "C" {
2813 pub fn snd_pcm_subformat_mask_copy(
2814 dst: *mut snd_pcm_subformat_mask_t,
2815 src: *const snd_pcm_subformat_mask_t,
2816 );
2817}
2818unsafe extern "C" {
2819 pub fn snd_pcm_subformat_mask_none(mask: *mut snd_pcm_subformat_mask_t);
2820}
2821unsafe extern "C" {
2822 pub fn snd_pcm_subformat_mask_any(mask: *mut snd_pcm_subformat_mask_t);
2823}
2824unsafe extern "C" {
2825 pub fn snd_pcm_subformat_mask_test(
2826 mask: *const snd_pcm_subformat_mask_t,
2827 val: snd_pcm_subformat_t,
2828 ) -> ::core::ffi::c_int;
2829}
2830unsafe extern "C" {
2831 pub fn snd_pcm_subformat_mask_empty(
2832 mask: *const snd_pcm_subformat_mask_t,
2833 ) -> ::core::ffi::c_int;
2834}
2835unsafe extern "C" {
2836 pub fn snd_pcm_subformat_mask_set(
2837 mask: *mut snd_pcm_subformat_mask_t,
2838 val: snd_pcm_subformat_t,
2839 );
2840}
2841unsafe extern "C" {
2842 pub fn snd_pcm_subformat_mask_reset(
2843 mask: *mut snd_pcm_subformat_mask_t,
2844 val: snd_pcm_subformat_t,
2845 );
2846}
2847unsafe extern "C" {
2848 pub fn snd_pcm_status_sizeof() -> usize;
2849}
2850unsafe extern "C" {
2851 pub fn snd_pcm_status_malloc(ptr: *mut *mut snd_pcm_status_t) -> ::core::ffi::c_int;
2852}
2853unsafe extern "C" {
2854 pub fn snd_pcm_status_free(obj: *mut snd_pcm_status_t);
2855}
2856unsafe extern "C" {
2857 pub fn snd_pcm_status_copy(dst: *mut snd_pcm_status_t, src: *const snd_pcm_status_t);
2858}
2859unsafe extern "C" {
2860 pub fn snd_pcm_status_get_state(obj: *const snd_pcm_status_t) -> snd_pcm_state_t;
2861}
2862unsafe extern "C" {
2863 pub fn snd_pcm_status_get_trigger_tstamp(
2864 obj: *const snd_pcm_status_t,
2865 ptr: *mut snd_timestamp_t,
2866 );
2867}
2868unsafe extern "C" {
2869 pub fn snd_pcm_status_get_trigger_htstamp(
2870 obj: *const snd_pcm_status_t,
2871 ptr: *mut snd_htimestamp_t,
2872 );
2873}
2874unsafe extern "C" {
2875 pub fn snd_pcm_status_get_tstamp(obj: *const snd_pcm_status_t, ptr: *mut snd_timestamp_t);
2876}
2877unsafe extern "C" {
2878 pub fn snd_pcm_status_get_htstamp(obj: *const snd_pcm_status_t, ptr: *mut snd_htimestamp_t);
2879}
2880unsafe extern "C" {
2881 pub fn snd_pcm_status_get_audio_htstamp(
2882 obj: *const snd_pcm_status_t,
2883 ptr: *mut snd_htimestamp_t,
2884 );
2885}
2886unsafe extern "C" {
2887 pub fn snd_pcm_status_get_driver_htstamp(
2888 obj: *const snd_pcm_status_t,
2889 ptr: *mut snd_htimestamp_t,
2890 );
2891}
2892unsafe extern "C" {
2893 pub fn snd_pcm_status_get_audio_htstamp_report(
2894 obj: *const snd_pcm_status_t,
2895 audio_tstamp_report: *mut snd_pcm_audio_tstamp_report_t,
2896 );
2897}
2898unsafe extern "C" {
2899 pub fn snd_pcm_status_set_audio_htstamp_config(
2900 obj: *mut snd_pcm_status_t,
2901 audio_tstamp_config: *mut snd_pcm_audio_tstamp_config_t,
2902 );
2903}
2904unsafe extern "C" {
2905 pub fn snd_pcm_status_get_delay(obj: *const snd_pcm_status_t) -> snd_pcm_sframes_t;
2906}
2907unsafe extern "C" {
2908 pub fn snd_pcm_status_get_avail(obj: *const snd_pcm_status_t) -> snd_pcm_uframes_t;
2909}
2910unsafe extern "C" {
2911 pub fn snd_pcm_status_get_avail_max(obj: *const snd_pcm_status_t) -> snd_pcm_uframes_t;
2912}
2913unsafe extern "C" {
2914 pub fn snd_pcm_status_get_overrange(obj: *const snd_pcm_status_t) -> snd_pcm_uframes_t;
2915}
2916unsafe extern "C" {
2917 pub fn snd_pcm_type_name(type_: snd_pcm_type_t) -> *const ::core::ffi::c_char;
2918}
2919unsafe extern "C" {
2920 pub fn snd_pcm_stream_name(stream: snd_pcm_stream_t) -> *const ::core::ffi::c_char;
2921}
2922unsafe extern "C" {
2923 pub fn snd_pcm_access_name(_access: snd_pcm_access_t) -> *const ::core::ffi::c_char;
2924}
2925unsafe extern "C" {
2926 pub fn snd_pcm_format_name(format: snd_pcm_format_t) -> *const ::core::ffi::c_char;
2927}
2928unsafe extern "C" {
2929 pub fn snd_pcm_format_description(format: snd_pcm_format_t) -> *const ::core::ffi::c_char;
2930}
2931unsafe extern "C" {
2932 pub fn snd_pcm_subformat_name(subformat: snd_pcm_subformat_t) -> *const ::core::ffi::c_char;
2933}
2934unsafe extern "C" {
2935 pub fn snd_pcm_subformat_description(
2936 subformat: snd_pcm_subformat_t,
2937 ) -> *const ::core::ffi::c_char;
2938}
2939unsafe extern "C" {
2940 pub fn snd_pcm_subformat_value(name: *const ::core::ffi::c_char) -> snd_pcm_subformat_t;
2941}
2942unsafe extern "C" {
2943 pub fn snd_pcm_format_value(name: *const ::core::ffi::c_char) -> snd_pcm_format_t;
2944}
2945unsafe extern "C" {
2946 pub fn snd_pcm_tstamp_mode_name(mode: snd_pcm_tstamp_t) -> *const ::core::ffi::c_char;
2947}
2948unsafe extern "C" {
2949 pub fn snd_pcm_state_name(state: snd_pcm_state_t) -> *const ::core::ffi::c_char;
2950}
2951unsafe extern "C" {
2952 pub fn snd_pcm_dump(pcm: *mut snd_pcm_t, out: *mut snd_output_t) -> ::core::ffi::c_int;
2953}
2954unsafe extern "C" {
2955 pub fn snd_pcm_dump_hw_setup(pcm: *mut snd_pcm_t, out: *mut snd_output_t)
2956 -> ::core::ffi::c_int;
2957}
2958unsafe extern "C" {
2959 pub fn snd_pcm_dump_sw_setup(pcm: *mut snd_pcm_t, out: *mut snd_output_t)
2960 -> ::core::ffi::c_int;
2961}
2962unsafe extern "C" {
2963 pub fn snd_pcm_dump_setup(pcm: *mut snd_pcm_t, out: *mut snd_output_t) -> ::core::ffi::c_int;
2964}
2965unsafe extern "C" {
2966 pub fn snd_pcm_hw_params_dump(
2967 params: *mut snd_pcm_hw_params_t,
2968 out: *mut snd_output_t,
2969 ) -> ::core::ffi::c_int;
2970}
2971unsafe extern "C" {
2972 pub fn snd_pcm_sw_params_dump(
2973 params: *mut snd_pcm_sw_params_t,
2974 out: *mut snd_output_t,
2975 ) -> ::core::ffi::c_int;
2976}
2977unsafe extern "C" {
2978 pub fn snd_pcm_status_dump(
2979 status: *mut snd_pcm_status_t,
2980 out: *mut snd_output_t,
2981 ) -> ::core::ffi::c_int;
2982}
2983unsafe extern "C" {
2984 pub fn snd_pcm_mmap_begin(
2985 pcm: *mut snd_pcm_t,
2986 areas: *mut *const snd_pcm_channel_area_t,
2987 offset: *mut snd_pcm_uframes_t,
2988 frames: *mut snd_pcm_uframes_t,
2989 ) -> ::core::ffi::c_int;
2990}
2991unsafe extern "C" {
2992 pub fn snd_pcm_mmap_commit(
2993 pcm: *mut snd_pcm_t,
2994 offset: snd_pcm_uframes_t,
2995 frames: snd_pcm_uframes_t,
2996 ) -> snd_pcm_sframes_t;
2997}
2998unsafe extern "C" {
2999 pub fn snd_pcm_mmap_writei(
3000 pcm: *mut snd_pcm_t,
3001 buffer: *const ::core::ffi::c_void,
3002 size: snd_pcm_uframes_t,
3003 ) -> snd_pcm_sframes_t;
3004}
3005unsafe extern "C" {
3006 pub fn snd_pcm_mmap_readi(
3007 pcm: *mut snd_pcm_t,
3008 buffer: *mut ::core::ffi::c_void,
3009 size: snd_pcm_uframes_t,
3010 ) -> snd_pcm_sframes_t;
3011}
3012unsafe extern "C" {
3013 pub fn snd_pcm_mmap_writen(
3014 pcm: *mut snd_pcm_t,
3015 bufs: *mut *mut ::core::ffi::c_void,
3016 size: snd_pcm_uframes_t,
3017 ) -> snd_pcm_sframes_t;
3018}
3019unsafe extern "C" {
3020 pub fn snd_pcm_mmap_readn(
3021 pcm: *mut snd_pcm_t,
3022 bufs: *mut *mut ::core::ffi::c_void,
3023 size: snd_pcm_uframes_t,
3024 ) -> snd_pcm_sframes_t;
3025}
3026unsafe extern "C" {
3027 pub fn snd_pcm_format_signed(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3028}
3029unsafe extern "C" {
3030 pub fn snd_pcm_format_unsigned(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3031}
3032unsafe extern "C" {
3033 pub fn snd_pcm_format_linear(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3034}
3035unsafe extern "C" {
3036 pub fn snd_pcm_format_float(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3037}
3038unsafe extern "C" {
3039 pub fn snd_pcm_format_little_endian(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3040}
3041unsafe extern "C" {
3042 pub fn snd_pcm_format_big_endian(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3043}
3044unsafe extern "C" {
3045 pub fn snd_pcm_format_cpu_endian(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3046}
3047unsafe extern "C" {
3048 pub fn snd_pcm_format_width(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3049}
3050unsafe extern "C" {
3051 pub fn snd_pcm_format_physical_width(format: snd_pcm_format_t) -> ::core::ffi::c_int;
3052}
3053unsafe extern "C" {
3054 pub fn snd_pcm_build_linear_format(
3055 width: ::core::ffi::c_int,
3056 pwidth: ::core::ffi::c_int,
3057 unsignd: ::core::ffi::c_int,
3058 big_endian: ::core::ffi::c_int,
3059 ) -> snd_pcm_format_t;
3060}
3061unsafe extern "C" {
3062 pub fn snd_pcm_format_size(format: snd_pcm_format_t, samples: usize) -> isize;
3063}
3064unsafe extern "C" {
3065 pub fn snd_pcm_format_silence(format: snd_pcm_format_t) -> u8;
3066}
3067unsafe extern "C" {
3068 pub fn snd_pcm_format_silence_16(format: snd_pcm_format_t) -> u16;
3069}
3070unsafe extern "C" {
3071 pub fn snd_pcm_format_silence_32(format: snd_pcm_format_t) -> u32;
3072}
3073unsafe extern "C" {
3074 pub fn snd_pcm_format_silence_64(format: snd_pcm_format_t) -> u64;
3075}
3076unsafe extern "C" {
3077 pub fn snd_pcm_format_set_silence(
3078 format: snd_pcm_format_t,
3079 buf: *mut ::core::ffi::c_void,
3080 samples: ::core::ffi::c_uint,
3081 ) -> ::core::ffi::c_int;
3082}
3083unsafe extern "C" {
3084 pub fn snd_pcm_bytes_to_frames(pcm: *mut snd_pcm_t, bytes: isize) -> snd_pcm_sframes_t;
3085}
3086unsafe extern "C" {
3087 pub fn snd_pcm_frames_to_bytes(pcm: *mut snd_pcm_t, frames: snd_pcm_sframes_t) -> isize;
3088}
3089unsafe extern "C" {
3090 pub fn snd_pcm_bytes_to_samples(pcm: *mut snd_pcm_t, bytes: isize) -> ::core::ffi::c_long;
3091}
3092unsafe extern "C" {
3093 pub fn snd_pcm_samples_to_bytes(pcm: *mut snd_pcm_t, samples: ::core::ffi::c_long) -> isize;
3094}
3095unsafe extern "C" {
3096 pub fn snd_pcm_area_silence(
3097 dst_channel: *const snd_pcm_channel_area_t,
3098 dst_offset: snd_pcm_uframes_t,
3099 samples: ::core::ffi::c_uint,
3100 format: snd_pcm_format_t,
3101 ) -> ::core::ffi::c_int;
3102}
3103unsafe extern "C" {
3104 pub fn snd_pcm_areas_silence(
3105 dst_channels: *const snd_pcm_channel_area_t,
3106 dst_offset: snd_pcm_uframes_t,
3107 channels: ::core::ffi::c_uint,
3108 frames: snd_pcm_uframes_t,
3109 format: snd_pcm_format_t,
3110 ) -> ::core::ffi::c_int;
3111}
3112unsafe extern "C" {
3113 pub fn snd_pcm_area_copy(
3114 dst_channel: *const snd_pcm_channel_area_t,
3115 dst_offset: snd_pcm_uframes_t,
3116 src_channel: *const snd_pcm_channel_area_t,
3117 src_offset: snd_pcm_uframes_t,
3118 samples: ::core::ffi::c_uint,
3119 format: snd_pcm_format_t,
3120 ) -> ::core::ffi::c_int;
3121}
3122unsafe extern "C" {
3123 pub fn snd_pcm_areas_copy(
3124 dst_channels: *const snd_pcm_channel_area_t,
3125 dst_offset: snd_pcm_uframes_t,
3126 src_channels: *const snd_pcm_channel_area_t,
3127 src_offset: snd_pcm_uframes_t,
3128 channels: ::core::ffi::c_uint,
3129 frames: snd_pcm_uframes_t,
3130 format: snd_pcm_format_t,
3131 ) -> ::core::ffi::c_int;
3132}
3133unsafe extern "C" {
3134 pub fn snd_pcm_areas_copy_wrap(
3135 dst_channels: *const snd_pcm_channel_area_t,
3136 dst_offset: snd_pcm_uframes_t,
3137 dst_size: snd_pcm_uframes_t,
3138 src_channels: *const snd_pcm_channel_area_t,
3139 src_offset: snd_pcm_uframes_t,
3140 src_size: snd_pcm_uframes_t,
3141 channels: ::core::ffi::c_uint,
3142 frames: snd_pcm_uframes_t,
3143 format: snd_pcm_format_t,
3144 ) -> ::core::ffi::c_int;
3145}
3146pub const SND_PCM_HOOK_TYPE_HW_PARAMS: _snd_pcm_hook_type = 0;
3147pub const SND_PCM_HOOK_TYPE_HW_FREE: _snd_pcm_hook_type = 1;
3148pub const SND_PCM_HOOK_TYPE_CLOSE: _snd_pcm_hook_type = 2;
3149pub const SND_PCM_HOOK_TYPE_LAST: _snd_pcm_hook_type = 2;
3150pub type _snd_pcm_hook_type = ::core::ffi::c_uint;
3151pub use self::_snd_pcm_hook_type as snd_pcm_hook_type_t;
3152#[repr(C)]
3153#[derive(Debug, Copy, Clone)]
3154pub struct _snd_pcm_hook {
3155 _unused: [u8; 0],
3156}
3157pub type snd_pcm_hook_t = _snd_pcm_hook;
3158pub type snd_pcm_hook_func_t =
3159 ::core::option::Option<unsafe extern "C" fn(hook: *mut snd_pcm_hook_t) -> ::core::ffi::c_int>;
3160unsafe extern "C" {
3161 pub fn snd_pcm_hook_get_pcm(hook: *mut snd_pcm_hook_t) -> *mut snd_pcm_t;
3162}
3163unsafe extern "C" {
3164 pub fn snd_pcm_hook_get_private(hook: *mut snd_pcm_hook_t) -> *mut ::core::ffi::c_void;
3165}
3166unsafe extern "C" {
3167 pub fn snd_pcm_hook_set_private(
3168 hook: *mut snd_pcm_hook_t,
3169 private_data: *mut ::core::ffi::c_void,
3170 );
3171}
3172unsafe extern "C" {
3173 pub fn snd_pcm_hook_add(
3174 hookp: *mut *mut snd_pcm_hook_t,
3175 pcm: *mut snd_pcm_t,
3176 type_: snd_pcm_hook_type_t,
3177 func: snd_pcm_hook_func_t,
3178 private_data: *mut ::core::ffi::c_void,
3179 ) -> ::core::ffi::c_int;
3180}
3181unsafe extern "C" {
3182 pub fn snd_pcm_hook_remove(hook: *mut snd_pcm_hook_t) -> ::core::ffi::c_int;
3183}
3184#[repr(C)]
3185#[derive(Debug, Copy, Clone)]
3186pub struct _snd_pcm_scope_ops {
3187 pub enable: ::core::option::Option<
3188 unsafe extern "C" fn(scope: *mut snd_pcm_scope_t) -> ::core::ffi::c_int,
3189 >,
3190 pub disable: ::core::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
3191 pub start: ::core::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
3192 pub stop: ::core::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
3193 pub update: ::core::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
3194 pub reset: ::core::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
3195 pub close: ::core::option::Option<unsafe extern "C" fn(scope: *mut snd_pcm_scope_t)>,
3196}
3197pub type snd_pcm_scope_ops_t = _snd_pcm_scope_ops;
3198unsafe extern "C" {
3199 pub fn snd_pcm_meter_get_bufsize(pcm: *mut snd_pcm_t) -> snd_pcm_uframes_t;
3200}
3201unsafe extern "C" {
3202 pub fn snd_pcm_meter_get_channels(pcm: *mut snd_pcm_t) -> ::core::ffi::c_uint;
3203}
3204unsafe extern "C" {
3205 pub fn snd_pcm_meter_get_rate(pcm: *mut snd_pcm_t) -> ::core::ffi::c_uint;
3206}
3207unsafe extern "C" {
3208 pub fn snd_pcm_meter_get_now(pcm: *mut snd_pcm_t) -> snd_pcm_uframes_t;
3209}
3210unsafe extern "C" {
3211 pub fn snd_pcm_meter_get_boundary(pcm: *mut snd_pcm_t) -> snd_pcm_uframes_t;
3212}
3213unsafe extern "C" {
3214 pub fn snd_pcm_meter_add_scope(
3215 pcm: *mut snd_pcm_t,
3216 scope: *mut snd_pcm_scope_t,
3217 ) -> ::core::ffi::c_int;
3218}
3219unsafe extern "C" {
3220 pub fn snd_pcm_meter_search_scope(
3221 pcm: *mut snd_pcm_t,
3222 name: *const ::core::ffi::c_char,
3223 ) -> *mut snd_pcm_scope_t;
3224}
3225unsafe extern "C" {
3226 pub fn snd_pcm_scope_malloc(ptr: *mut *mut snd_pcm_scope_t) -> ::core::ffi::c_int;
3227}
3228unsafe extern "C" {
3229 pub fn snd_pcm_scope_set_ops(scope: *mut snd_pcm_scope_t, val: *const snd_pcm_scope_ops_t);
3230}
3231unsafe extern "C" {
3232 pub fn snd_pcm_scope_set_name(scope: *mut snd_pcm_scope_t, val: *const ::core::ffi::c_char);
3233}
3234unsafe extern "C" {
3235 pub fn snd_pcm_scope_get_name(scope: *mut snd_pcm_scope_t) -> *const ::core::ffi::c_char;
3236}
3237unsafe extern "C" {
3238 pub fn snd_pcm_scope_get_callback_private(
3239 scope: *mut snd_pcm_scope_t,
3240 ) -> *mut ::core::ffi::c_void;
3241}
3242unsafe extern "C" {
3243 pub fn snd_pcm_scope_set_callback_private(
3244 scope: *mut snd_pcm_scope_t,
3245 val: *mut ::core::ffi::c_void,
3246 );
3247}
3248unsafe extern "C" {
3249 pub fn snd_pcm_scope_s16_open(
3250 pcm: *mut snd_pcm_t,
3251 name: *const ::core::ffi::c_char,
3252 scopep: *mut *mut snd_pcm_scope_t,
3253 ) -> ::core::ffi::c_int;
3254}
3255unsafe extern "C" {
3256 pub fn snd_pcm_scope_s16_get_channel_buffer(
3257 scope: *mut snd_pcm_scope_t,
3258 channel: ::core::ffi::c_uint,
3259 ) -> *mut i16;
3260}
3261pub const SND_SPCM_LATENCY_STANDARD: _snd_spcm_latency = 0;
3262pub const SND_SPCM_LATENCY_MEDIUM: _snd_spcm_latency = 1;
3263pub const SND_SPCM_LATENCY_REALTIME: _snd_spcm_latency = 2;
3264pub type _snd_spcm_latency = ::core::ffi::c_uint;
3265pub use self::_snd_spcm_latency as snd_spcm_latency_t;
3266pub const SND_SPCM_XRUN_IGNORE: _snd_spcm_xrun_type = 0;
3267pub const SND_SPCM_XRUN_STOP: _snd_spcm_xrun_type = 1;
3268pub type _snd_spcm_xrun_type = ::core::ffi::c_uint;
3269pub use self::_snd_spcm_xrun_type as snd_spcm_xrun_type_t;
3270pub const SND_SPCM_DUPLEX_LIBERAL: _snd_spcm_duplex_type = 0;
3271pub const SND_SPCM_DUPLEX_PEDANTIC: _snd_spcm_duplex_type = 1;
3272pub type _snd_spcm_duplex_type = ::core::ffi::c_uint;
3273pub use self::_snd_spcm_duplex_type as snd_spcm_duplex_type_t;
3274unsafe extern "C" {
3275 pub fn snd_spcm_init(
3276 pcm: *mut snd_pcm_t,
3277 rate: ::core::ffi::c_uint,
3278 channels: ::core::ffi::c_uint,
3279 format: snd_pcm_format_t,
3280 subformat: snd_pcm_subformat_t,
3281 latency: snd_spcm_latency_t,
3282 _access: snd_pcm_access_t,
3283 xrun_type: snd_spcm_xrun_type_t,
3284 ) -> ::core::ffi::c_int;
3285}
3286unsafe extern "C" {
3287 pub fn snd_spcm_init_duplex(
3288 playback_pcm: *mut snd_pcm_t,
3289 capture_pcm: *mut snd_pcm_t,
3290 rate: ::core::ffi::c_uint,
3291 channels: ::core::ffi::c_uint,
3292 format: snd_pcm_format_t,
3293 subformat: snd_pcm_subformat_t,
3294 latency: snd_spcm_latency_t,
3295 _access: snd_pcm_access_t,
3296 xrun_type: snd_spcm_xrun_type_t,
3297 duplex_type: snd_spcm_duplex_type_t,
3298 ) -> ::core::ffi::c_int;
3299}
3300unsafe extern "C" {
3301 pub fn snd_spcm_init_get_params(
3302 pcm: *mut snd_pcm_t,
3303 rate: *mut ::core::ffi::c_uint,
3304 buffer_size: *mut snd_pcm_uframes_t,
3305 period_size: *mut snd_pcm_uframes_t,
3306 ) -> ::core::ffi::c_int;
3307}
3308unsafe extern "C" {
3309 pub fn snd_pcm_start_mode_name(mode: snd_pcm_start_t) -> *const ::core::ffi::c_char;
3310}
3311unsafe extern "C" {
3312 pub fn snd_pcm_xrun_mode_name(mode: snd_pcm_xrun_t) -> *const ::core::ffi::c_char;
3313}
3314unsafe extern "C" {
3315 pub fn snd_pcm_sw_params_set_start_mode(
3316 pcm: *mut snd_pcm_t,
3317 params: *mut snd_pcm_sw_params_t,
3318 val: snd_pcm_start_t,
3319 ) -> ::core::ffi::c_int;
3320}
3321unsafe extern "C" {
3322 pub fn snd_pcm_sw_params_get_start_mode(params: *const snd_pcm_sw_params_t) -> snd_pcm_start_t;
3323}
3324unsafe extern "C" {
3325 pub fn snd_pcm_sw_params_set_xrun_mode(
3326 pcm: *mut snd_pcm_t,
3327 params: *mut snd_pcm_sw_params_t,
3328 val: snd_pcm_xrun_t,
3329 ) -> ::core::ffi::c_int;
3330}
3331unsafe extern "C" {
3332 pub fn snd_pcm_sw_params_get_xrun_mode(params: *const snd_pcm_sw_params_t) -> snd_pcm_xrun_t;
3333}
3334unsafe extern "C" {
3335 pub fn snd_pcm_sw_params_set_xfer_align(
3336 pcm: *mut snd_pcm_t,
3337 params: *mut snd_pcm_sw_params_t,
3338 val: snd_pcm_uframes_t,
3339 ) -> ::core::ffi::c_int;
3340}
3341unsafe extern "C" {
3342 pub fn snd_pcm_sw_params_get_xfer_align(
3343 params: *const snd_pcm_sw_params_t,
3344 val: *mut snd_pcm_uframes_t,
3345 ) -> ::core::ffi::c_int;
3346}
3347unsafe extern "C" {
3348 pub fn snd_pcm_sw_params_set_sleep_min(
3349 pcm: *mut snd_pcm_t,
3350 params: *mut snd_pcm_sw_params_t,
3351 val: ::core::ffi::c_uint,
3352 ) -> ::core::ffi::c_int;
3353}
3354unsafe extern "C" {
3355 pub fn snd_pcm_sw_params_get_sleep_min(
3356 params: *const snd_pcm_sw_params_t,
3357 val: *mut ::core::ffi::c_uint,
3358 ) -> ::core::ffi::c_int;
3359}
3360unsafe extern "C" {
3361 pub fn snd_pcm_hw_params_get_tick_time(
3362 params: *const snd_pcm_hw_params_t,
3363 val: *mut ::core::ffi::c_uint,
3364 dir: *mut ::core::ffi::c_int,
3365 ) -> ::core::ffi::c_int;
3366}
3367unsafe extern "C" {
3368 pub fn snd_pcm_hw_params_get_tick_time_min(
3369 params: *const snd_pcm_hw_params_t,
3370 val: *mut ::core::ffi::c_uint,
3371 dir: *mut ::core::ffi::c_int,
3372 ) -> ::core::ffi::c_int;
3373}
3374unsafe extern "C" {
3375 pub fn snd_pcm_hw_params_get_tick_time_max(
3376 params: *const snd_pcm_hw_params_t,
3377 val: *mut ::core::ffi::c_uint,
3378 dir: *mut ::core::ffi::c_int,
3379 ) -> ::core::ffi::c_int;
3380}
3381unsafe extern "C" {
3382 pub fn snd_pcm_hw_params_test_tick_time(
3383 pcm: *mut snd_pcm_t,
3384 params: *mut snd_pcm_hw_params_t,
3385 val: ::core::ffi::c_uint,
3386 dir: ::core::ffi::c_int,
3387 ) -> ::core::ffi::c_int;
3388}
3389unsafe extern "C" {
3390 pub fn snd_pcm_hw_params_set_tick_time(
3391 pcm: *mut snd_pcm_t,
3392 params: *mut snd_pcm_hw_params_t,
3393 val: ::core::ffi::c_uint,
3394 dir: ::core::ffi::c_int,
3395 ) -> ::core::ffi::c_int;
3396}
3397unsafe extern "C" {
3398 pub fn snd_pcm_hw_params_set_tick_time_min(
3399 pcm: *mut snd_pcm_t,
3400 params: *mut snd_pcm_hw_params_t,
3401 val: *mut ::core::ffi::c_uint,
3402 dir: *mut ::core::ffi::c_int,
3403 ) -> ::core::ffi::c_int;
3404}
3405unsafe extern "C" {
3406 pub fn snd_pcm_hw_params_set_tick_time_max(
3407 pcm: *mut snd_pcm_t,
3408 params: *mut snd_pcm_hw_params_t,
3409 val: *mut ::core::ffi::c_uint,
3410 dir: *mut ::core::ffi::c_int,
3411 ) -> ::core::ffi::c_int;
3412}
3413unsafe extern "C" {
3414 pub fn snd_pcm_hw_params_set_tick_time_minmax(
3415 pcm: *mut snd_pcm_t,
3416 params: *mut snd_pcm_hw_params_t,
3417 min: *mut ::core::ffi::c_uint,
3418 mindir: *mut ::core::ffi::c_int,
3419 max: *mut ::core::ffi::c_uint,
3420 maxdir: *mut ::core::ffi::c_int,
3421 ) -> ::core::ffi::c_int;
3422}
3423unsafe extern "C" {
3424 pub fn snd_pcm_hw_params_set_tick_time_near(
3425 pcm: *mut snd_pcm_t,
3426 params: *mut snd_pcm_hw_params_t,
3427 val: *mut ::core::ffi::c_uint,
3428 dir: *mut ::core::ffi::c_int,
3429 ) -> ::core::ffi::c_int;
3430}
3431unsafe extern "C" {
3432 pub fn snd_pcm_hw_params_set_tick_time_first(
3433 pcm: *mut snd_pcm_t,
3434 params: *mut snd_pcm_hw_params_t,
3435 val: *mut ::core::ffi::c_uint,
3436 dir: *mut ::core::ffi::c_int,
3437 ) -> ::core::ffi::c_int;
3438}
3439unsafe extern "C" {
3440 pub fn snd_pcm_hw_params_set_tick_time_last(
3441 pcm: *mut snd_pcm_t,
3442 params: *mut snd_pcm_hw_params_t,
3443 val: *mut ::core::ffi::c_uint,
3444 dir: *mut ::core::ffi::c_int,
3445 ) -> ::core::ffi::c_int;
3446}
3447#[repr(C)]
3448#[derive(Debug, Copy, Clone)]
3449pub struct _snd_rawmidi_info {
3450 _unused: [u8; 0],
3451}
3452pub type snd_rawmidi_info_t = _snd_rawmidi_info;
3453#[repr(C)]
3454#[derive(Debug, Copy, Clone)]
3455pub struct _snd_rawmidi_params {
3456 _unused: [u8; 0],
3457}
3458pub type snd_rawmidi_params_t = _snd_rawmidi_params;
3459#[repr(C)]
3460#[derive(Debug, Copy, Clone)]
3461pub struct _snd_rawmidi_status {
3462 _unused: [u8; 0],
3463}
3464pub type snd_rawmidi_status_t = _snd_rawmidi_status;
3465pub const SND_RAWMIDI_STREAM_OUTPUT: _snd_rawmidi_stream = 0;
3466pub const SND_RAWMIDI_STREAM_INPUT: _snd_rawmidi_stream = 1;
3467pub const SND_RAWMIDI_STREAM_LAST: _snd_rawmidi_stream = 1;
3468pub type _snd_rawmidi_stream = ::core::ffi::c_uint;
3469pub use self::_snd_rawmidi_stream as snd_rawmidi_stream_t;
3470#[repr(C)]
3471#[derive(Debug, Copy, Clone)]
3472pub struct _snd_rawmidi {
3473 _unused: [u8; 0],
3474}
3475pub type snd_rawmidi_t = _snd_rawmidi;
3476pub const SND_RAWMIDI_TYPE_HW: _snd_rawmidi_type = 0;
3477pub const SND_RAWMIDI_TYPE_SHM: _snd_rawmidi_type = 1;
3478pub const SND_RAWMIDI_TYPE_INET: _snd_rawmidi_type = 2;
3479pub const SND_RAWMIDI_TYPE_VIRTUAL: _snd_rawmidi_type = 3;
3480pub type _snd_rawmidi_type = ::core::ffi::c_uint;
3481pub use self::_snd_rawmidi_type as snd_rawmidi_type_t;
3482pub const SND_RAWMIDI_CLOCK_NONE: _snd_rawmidi_clock = 0;
3483pub const SND_RAWMIDI_CLOCK_REALTIME: _snd_rawmidi_clock = 1;
3484pub const SND_RAWMIDI_CLOCK_MONOTONIC: _snd_rawmidi_clock = 2;
3485pub const SND_RAWMIDI_CLOCK_MONOTONIC_RAW: _snd_rawmidi_clock = 3;
3486pub type _snd_rawmidi_clock = ::core::ffi::c_uint;
3487pub use self::_snd_rawmidi_clock as snd_rawmidi_clock_t;
3488pub const SND_RAWMIDI_READ_STANDARD: _snd_rawmidi_read_mode = 0;
3489pub const SND_RAWMIDI_READ_TSTAMP: _snd_rawmidi_read_mode = 1;
3490pub type _snd_rawmidi_read_mode = ::core::ffi::c_uint;
3491pub use self::_snd_rawmidi_read_mode as snd_rawmidi_read_mode_t;
3492unsafe extern "C" {
3493 pub fn snd_rawmidi_open(
3494 in_rmidi: *mut *mut snd_rawmidi_t,
3495 out_rmidi: *mut *mut snd_rawmidi_t,
3496 name: *const ::core::ffi::c_char,
3497 mode: ::core::ffi::c_int,
3498 ) -> ::core::ffi::c_int;
3499}
3500unsafe extern "C" {
3501 pub fn snd_rawmidi_open_lconf(
3502 in_rmidi: *mut *mut snd_rawmidi_t,
3503 out_rmidi: *mut *mut snd_rawmidi_t,
3504 name: *const ::core::ffi::c_char,
3505 mode: ::core::ffi::c_int,
3506 lconf: *mut snd_config_t,
3507 ) -> ::core::ffi::c_int;
3508}
3509unsafe extern "C" {
3510 pub fn snd_rawmidi_close(rmidi: *mut snd_rawmidi_t) -> ::core::ffi::c_int;
3511}
3512unsafe extern "C" {
3513 pub fn snd_rawmidi_poll_descriptors_count(rmidi: *mut snd_rawmidi_t) -> ::core::ffi::c_int;
3514}
3515unsafe extern "C" {
3516 pub fn snd_rawmidi_poll_descriptors(
3517 rmidi: *mut snd_rawmidi_t,
3518 pfds: *mut pollfd,
3519 space: ::core::ffi::c_uint,
3520 ) -> ::core::ffi::c_int;
3521}
3522unsafe extern "C" {
3523 pub fn snd_rawmidi_poll_descriptors_revents(
3524 rawmidi: *mut snd_rawmidi_t,
3525 pfds: *mut pollfd,
3526 nfds: ::core::ffi::c_uint,
3527 revent: *mut ::core::ffi::c_ushort,
3528 ) -> ::core::ffi::c_int;
3529}
3530unsafe extern "C" {
3531 pub fn snd_rawmidi_nonblock(
3532 rmidi: *mut snd_rawmidi_t,
3533 nonblock: ::core::ffi::c_int,
3534 ) -> ::core::ffi::c_int;
3535}
3536unsafe extern "C" {
3537 pub fn snd_rawmidi_info_sizeof() -> usize;
3538}
3539unsafe extern "C" {
3540 pub fn snd_rawmidi_info_malloc(ptr: *mut *mut snd_rawmidi_info_t) -> ::core::ffi::c_int;
3541}
3542unsafe extern "C" {
3543 pub fn snd_rawmidi_info_free(obj: *mut snd_rawmidi_info_t);
3544}
3545unsafe extern "C" {
3546 pub fn snd_rawmidi_info_copy(dst: *mut snd_rawmidi_info_t, src: *const snd_rawmidi_info_t);
3547}
3548unsafe extern "C" {
3549 pub fn snd_rawmidi_info_get_device(obj: *const snd_rawmidi_info_t) -> ::core::ffi::c_uint;
3550}
3551unsafe extern "C" {
3552 pub fn snd_rawmidi_info_get_subdevice(obj: *const snd_rawmidi_info_t) -> ::core::ffi::c_uint;
3553}
3554unsafe extern "C" {
3555 pub fn snd_rawmidi_info_get_stream(obj: *const snd_rawmidi_info_t) -> snd_rawmidi_stream_t;
3556}
3557unsafe extern "C" {
3558 pub fn snd_rawmidi_info_get_card(obj: *const snd_rawmidi_info_t) -> ::core::ffi::c_int;
3559}
3560unsafe extern "C" {
3561 pub fn snd_rawmidi_info_get_flags(obj: *const snd_rawmidi_info_t) -> ::core::ffi::c_uint;
3562}
3563unsafe extern "C" {
3564 pub fn snd_rawmidi_info_get_id(obj: *const snd_rawmidi_info_t) -> *const ::core::ffi::c_char;
3565}
3566unsafe extern "C" {
3567 pub fn snd_rawmidi_info_get_name(obj: *const snd_rawmidi_info_t) -> *const ::core::ffi::c_char;
3568}
3569unsafe extern "C" {
3570 pub fn snd_rawmidi_info_get_subdevice_name(
3571 obj: *const snd_rawmidi_info_t,
3572 ) -> *const ::core::ffi::c_char;
3573}
3574unsafe extern "C" {
3575 pub fn snd_rawmidi_info_get_subdevices_count(
3576 obj: *const snd_rawmidi_info_t,
3577 ) -> ::core::ffi::c_uint;
3578}
3579unsafe extern "C" {
3580 pub fn snd_rawmidi_info_get_subdevices_avail(
3581 obj: *const snd_rawmidi_info_t,
3582 ) -> ::core::ffi::c_uint;
3583}
3584unsafe extern "C" {
3585 pub fn snd_rawmidi_info_get_tied_device(obj: *const snd_rawmidi_info_t) -> ::core::ffi::c_int;
3586}
3587unsafe extern "C" {
3588 pub fn snd_rawmidi_info_set_device(obj: *mut snd_rawmidi_info_t, val: ::core::ffi::c_uint);
3589}
3590unsafe extern "C" {
3591 pub fn snd_rawmidi_info_set_subdevice(obj: *mut snd_rawmidi_info_t, val: ::core::ffi::c_uint);
3592}
3593unsafe extern "C" {
3594 pub fn snd_rawmidi_info_set_stream(obj: *mut snd_rawmidi_info_t, val: snd_rawmidi_stream_t);
3595}
3596unsafe extern "C" {
3597 pub fn snd_rawmidi_info(
3598 rmidi: *mut snd_rawmidi_t,
3599 info: *mut snd_rawmidi_info_t,
3600 ) -> ::core::ffi::c_int;
3601}
3602unsafe extern "C" {
3603 pub fn snd_rawmidi_params_sizeof() -> usize;
3604}
3605unsafe extern "C" {
3606 pub fn snd_rawmidi_params_malloc(ptr: *mut *mut snd_rawmidi_params_t) -> ::core::ffi::c_int;
3607}
3608unsafe extern "C" {
3609 pub fn snd_rawmidi_params_free(obj: *mut snd_rawmidi_params_t);
3610}
3611unsafe extern "C" {
3612 pub fn snd_rawmidi_params_copy(
3613 dst: *mut snd_rawmidi_params_t,
3614 src: *const snd_rawmidi_params_t,
3615 );
3616}
3617unsafe extern "C" {
3618 pub fn snd_rawmidi_params_set_buffer_size(
3619 rmidi: *mut snd_rawmidi_t,
3620 params: *mut snd_rawmidi_params_t,
3621 val: usize,
3622 ) -> ::core::ffi::c_int;
3623}
3624unsafe extern "C" {
3625 pub fn snd_rawmidi_params_get_buffer_size(params: *const snd_rawmidi_params_t) -> usize;
3626}
3627unsafe extern "C" {
3628 pub fn snd_rawmidi_params_set_avail_min(
3629 rmidi: *mut snd_rawmidi_t,
3630 params: *mut snd_rawmidi_params_t,
3631 val: usize,
3632 ) -> ::core::ffi::c_int;
3633}
3634unsafe extern "C" {
3635 pub fn snd_rawmidi_params_get_avail_min(params: *const snd_rawmidi_params_t) -> usize;
3636}
3637unsafe extern "C" {
3638 pub fn snd_rawmidi_params_set_no_active_sensing(
3639 rmidi: *mut snd_rawmidi_t,
3640 params: *mut snd_rawmidi_params_t,
3641 val: ::core::ffi::c_int,
3642 ) -> ::core::ffi::c_int;
3643}
3644unsafe extern "C" {
3645 pub fn snd_rawmidi_params_get_no_active_sensing(
3646 params: *const snd_rawmidi_params_t,
3647 ) -> ::core::ffi::c_int;
3648}
3649unsafe extern "C" {
3650 pub fn snd_rawmidi_params_set_read_mode(
3651 rawmidi: *const snd_rawmidi_t,
3652 params: *mut snd_rawmidi_params_t,
3653 val: snd_rawmidi_read_mode_t,
3654 ) -> ::core::ffi::c_int;
3655}
3656unsafe extern "C" {
3657 pub fn snd_rawmidi_params_get_read_mode(
3658 params: *const snd_rawmidi_params_t,
3659 ) -> snd_rawmidi_read_mode_t;
3660}
3661unsafe extern "C" {
3662 pub fn snd_rawmidi_params_set_clock_type(
3663 rawmidi: *const snd_rawmidi_t,
3664 params: *mut snd_rawmidi_params_t,
3665 val: snd_rawmidi_clock_t,
3666 ) -> ::core::ffi::c_int;
3667}
3668unsafe extern "C" {
3669 pub fn snd_rawmidi_params_get_clock_type(
3670 params: *const snd_rawmidi_params_t,
3671 ) -> snd_rawmidi_clock_t;
3672}
3673unsafe extern "C" {
3674 pub fn snd_rawmidi_params(
3675 rmidi: *mut snd_rawmidi_t,
3676 params: *mut snd_rawmidi_params_t,
3677 ) -> ::core::ffi::c_int;
3678}
3679unsafe extern "C" {
3680 pub fn snd_rawmidi_params_current(
3681 rmidi: *mut snd_rawmidi_t,
3682 params: *mut snd_rawmidi_params_t,
3683 ) -> ::core::ffi::c_int;
3684}
3685unsafe extern "C" {
3686 pub fn snd_rawmidi_status_sizeof() -> usize;
3687}
3688unsafe extern "C" {
3689 pub fn snd_rawmidi_status_malloc(ptr: *mut *mut snd_rawmidi_status_t) -> ::core::ffi::c_int;
3690}
3691unsafe extern "C" {
3692 pub fn snd_rawmidi_status_free(obj: *mut snd_rawmidi_status_t);
3693}
3694unsafe extern "C" {
3695 pub fn snd_rawmidi_status_copy(
3696 dst: *mut snd_rawmidi_status_t,
3697 src: *const snd_rawmidi_status_t,
3698 );
3699}
3700unsafe extern "C" {
3701 pub fn snd_rawmidi_status_get_tstamp(
3702 obj: *const snd_rawmidi_status_t,
3703 ptr: *mut snd_htimestamp_t,
3704 );
3705}
3706unsafe extern "C" {
3707 pub fn snd_rawmidi_status_get_avail(obj: *const snd_rawmidi_status_t) -> usize;
3708}
3709unsafe extern "C" {
3710 pub fn snd_rawmidi_status_get_xruns(obj: *const snd_rawmidi_status_t) -> usize;
3711}
3712unsafe extern "C" {
3713 pub fn snd_rawmidi_status(
3714 rmidi: *mut snd_rawmidi_t,
3715 status: *mut snd_rawmidi_status_t,
3716 ) -> ::core::ffi::c_int;
3717}
3718unsafe extern "C" {
3719 pub fn snd_rawmidi_drain(rmidi: *mut snd_rawmidi_t) -> ::core::ffi::c_int;
3720}
3721unsafe extern "C" {
3722 pub fn snd_rawmidi_drop(rmidi: *mut snd_rawmidi_t) -> ::core::ffi::c_int;
3723}
3724unsafe extern "C" {
3725 pub fn snd_rawmidi_write(
3726 rmidi: *mut snd_rawmidi_t,
3727 buffer: *const ::core::ffi::c_void,
3728 size: usize,
3729 ) -> isize;
3730}
3731unsafe extern "C" {
3732 pub fn snd_rawmidi_read(
3733 rmidi: *mut snd_rawmidi_t,
3734 buffer: *mut ::core::ffi::c_void,
3735 size: usize,
3736 ) -> isize;
3737}
3738unsafe extern "C" {
3739 pub fn snd_rawmidi_tread(
3740 rmidi: *mut snd_rawmidi_t,
3741 tstamp: *mut timespec,
3742 buffer: *mut ::core::ffi::c_void,
3743 size: usize,
3744 ) -> isize;
3745}
3746unsafe extern "C" {
3747 pub fn snd_rawmidi_name(rmidi: *mut snd_rawmidi_t) -> *const ::core::ffi::c_char;
3748}
3749unsafe extern "C" {
3750 pub fn snd_rawmidi_type(rmidi: *mut snd_rawmidi_t) -> snd_rawmidi_type_t;
3751}
3752unsafe extern "C" {
3753 pub fn snd_rawmidi_stream(rawmidi: *mut snd_rawmidi_t) -> snd_rawmidi_stream_t;
3754}
3755#[repr(C)]
3756#[derive(Debug, Copy, Clone)]
3757pub struct _snd_ump {
3758 _unused: [u8; 0],
3759}
3760pub type snd_ump_t = _snd_ump;
3761#[repr(C)]
3762#[derive(Debug, Copy, Clone)]
3763pub struct snd_ump_endpoint_info {
3764 _unused: [u8; 0],
3765}
3766pub type snd_ump_endpoint_info_t = snd_ump_endpoint_info;
3767#[repr(C)]
3768#[derive(Debug, Copy, Clone)]
3769pub struct snd_ump_block_info {
3770 _unused: [u8; 0],
3771}
3772pub type snd_ump_block_info_t = snd_ump_block_info;
3773unsafe extern "C" {
3774 pub fn snd_ump_open(
3775 inputp: *mut *mut snd_ump_t,
3776 outputp: *mut *mut snd_ump_t,
3777 name: *const ::core::ffi::c_char,
3778 mode: ::core::ffi::c_int,
3779 ) -> ::core::ffi::c_int;
3780}
3781unsafe extern "C" {
3782 pub fn snd_ump_close(ump: *mut snd_ump_t) -> ::core::ffi::c_int;
3783}
3784unsafe extern "C" {
3785 pub fn snd_ump_rawmidi(ump: *mut snd_ump_t) -> *mut snd_rawmidi_t;
3786}
3787unsafe extern "C" {
3788 pub fn snd_ump_name(ump: *mut snd_ump_t) -> *const ::core::ffi::c_char;
3789}
3790unsafe extern "C" {
3791 pub fn snd_ump_poll_descriptors_count(ump: *mut snd_ump_t) -> ::core::ffi::c_int;
3792}
3793unsafe extern "C" {
3794 pub fn snd_ump_poll_descriptors(
3795 ump: *mut snd_ump_t,
3796 pfds: *mut pollfd,
3797 space: ::core::ffi::c_uint,
3798 ) -> ::core::ffi::c_int;
3799}
3800unsafe extern "C" {
3801 pub fn snd_ump_poll_descriptors_revents(
3802 ump: *mut snd_ump_t,
3803 pfds: *mut pollfd,
3804 nfds: ::core::ffi::c_uint,
3805 revents: *mut ::core::ffi::c_ushort,
3806 ) -> ::core::ffi::c_int;
3807}
3808unsafe extern "C" {
3809 pub fn snd_ump_nonblock(
3810 ump: *mut snd_ump_t,
3811 nonblock: ::core::ffi::c_int,
3812 ) -> ::core::ffi::c_int;
3813}
3814unsafe extern "C" {
3815 pub fn snd_ump_rawmidi_info(
3816 ump: *mut snd_ump_t,
3817 info: *mut snd_rawmidi_info_t,
3818 ) -> ::core::ffi::c_int;
3819}
3820unsafe extern "C" {
3821 pub fn snd_ump_rawmidi_params(
3822 ump: *mut snd_ump_t,
3823 params: *mut snd_rawmidi_params_t,
3824 ) -> ::core::ffi::c_int;
3825}
3826unsafe extern "C" {
3827 pub fn snd_ump_rawmidi_params_current(
3828 ump: *mut snd_ump_t,
3829 params: *mut snd_rawmidi_params_t,
3830 ) -> ::core::ffi::c_int;
3831}
3832unsafe extern "C" {
3833 pub fn snd_ump_rawmidi_status(
3834 ump: *mut snd_ump_t,
3835 status: *mut snd_rawmidi_status_t,
3836 ) -> ::core::ffi::c_int;
3837}
3838unsafe extern "C" {
3839 pub fn snd_ump_drop(ump: *mut snd_ump_t) -> ::core::ffi::c_int;
3840}
3841unsafe extern "C" {
3842 pub fn snd_ump_drain(ump: *mut snd_ump_t) -> ::core::ffi::c_int;
3843}
3844unsafe extern "C" {
3845 pub fn snd_ump_write(
3846 ump: *mut snd_ump_t,
3847 buffer: *const ::core::ffi::c_void,
3848 size: usize,
3849 ) -> isize;
3850}
3851unsafe extern "C" {
3852 pub fn snd_ump_read(
3853 ump: *mut snd_ump_t,
3854 buffer: *mut ::core::ffi::c_void,
3855 size: usize,
3856 ) -> isize;
3857}
3858unsafe extern "C" {
3859 pub fn snd_ump_tread(
3860 ump: *mut snd_ump_t,
3861 tstamp: *mut timespec,
3862 buffer: *mut ::core::ffi::c_void,
3863 size: usize,
3864 ) -> isize;
3865}
3866pub const SND_UMP_DIR_INPUT: _snd_ump_direction = 1;
3867pub const SND_UMP_DIR_OUTPUT: _snd_ump_direction = 2;
3868pub const SND_UMP_DIR_BIDIRECTION: _snd_ump_direction = 3;
3869pub type _snd_ump_direction = ::core::ffi::c_uint;
3870unsafe extern "C" {
3871 pub fn snd_ump_endpoint_info_sizeof() -> usize;
3872}
3873unsafe extern "C" {
3874 pub fn snd_ump_endpoint_info_malloc(
3875 info: *mut *mut snd_ump_endpoint_info_t,
3876 ) -> ::core::ffi::c_int;
3877}
3878unsafe extern "C" {
3879 pub fn snd_ump_endpoint_info_free(info: *mut snd_ump_endpoint_info_t);
3880}
3881unsafe extern "C" {
3882 pub fn snd_ump_endpoint_info_clear(info: *mut snd_ump_endpoint_info_t);
3883}
3884unsafe extern "C" {
3885 pub fn snd_ump_endpoint_info_copy(
3886 dst: *mut snd_ump_endpoint_info_t,
3887 src: *const snd_ump_endpoint_info_t,
3888 );
3889}
3890unsafe extern "C" {
3891 pub fn snd_ump_endpoint_info_get_card(
3892 info: *const snd_ump_endpoint_info_t,
3893 ) -> ::core::ffi::c_int;
3894}
3895unsafe extern "C" {
3896 pub fn snd_ump_endpoint_info_get_device(
3897 info: *const snd_ump_endpoint_info_t,
3898 ) -> ::core::ffi::c_int;
3899}
3900unsafe extern "C" {
3901 pub fn snd_ump_endpoint_info_get_flags(
3902 info: *const snd_ump_endpoint_info_t,
3903 ) -> ::core::ffi::c_uint;
3904}
3905unsafe extern "C" {
3906 pub fn snd_ump_endpoint_info_get_protocol_caps(
3907 info: *const snd_ump_endpoint_info_t,
3908 ) -> ::core::ffi::c_uint;
3909}
3910unsafe extern "C" {
3911 pub fn snd_ump_endpoint_info_get_protocol(
3912 info: *const snd_ump_endpoint_info_t,
3913 ) -> ::core::ffi::c_uint;
3914}
3915unsafe extern "C" {
3916 pub fn snd_ump_endpoint_info_get_num_blocks(
3917 info: *const snd_ump_endpoint_info_t,
3918 ) -> ::core::ffi::c_uint;
3919}
3920unsafe extern "C" {
3921 pub fn snd_ump_endpoint_info_get_version(
3922 info: *const snd_ump_endpoint_info_t,
3923 ) -> ::core::ffi::c_uint;
3924}
3925unsafe extern "C" {
3926 pub fn snd_ump_endpoint_info_get_manufacturer_id(
3927 info: *const snd_ump_endpoint_info_t,
3928 ) -> ::core::ffi::c_uint;
3929}
3930unsafe extern "C" {
3931 pub fn snd_ump_endpoint_info_get_family_id(
3932 info: *const snd_ump_endpoint_info_t,
3933 ) -> ::core::ffi::c_uint;
3934}
3935unsafe extern "C" {
3936 pub fn snd_ump_endpoint_info_get_model_id(
3937 info: *const snd_ump_endpoint_info_t,
3938 ) -> ::core::ffi::c_uint;
3939}
3940unsafe extern "C" {
3941 pub fn snd_ump_endpoint_info_get_sw_revision(
3942 info: *const snd_ump_endpoint_info_t,
3943 ) -> *const ::core::ffi::c_uchar;
3944}
3945unsafe extern "C" {
3946 pub fn snd_ump_endpoint_info_get_name(
3947 info: *const snd_ump_endpoint_info_t,
3948 ) -> *const ::core::ffi::c_char;
3949}
3950unsafe extern "C" {
3951 pub fn snd_ump_endpoint_info_get_product_id(
3952 info: *const snd_ump_endpoint_info_t,
3953 ) -> *const ::core::ffi::c_char;
3954}
3955unsafe extern "C" {
3956 pub fn snd_ump_endpoint_info(
3957 ump: *mut snd_ump_t,
3958 info: *mut snd_ump_endpoint_info_t,
3959 ) -> ::core::ffi::c_int;
3960}
3961unsafe extern "C" {
3962 pub fn snd_ump_endpoint_info_set_card(
3963 info: *mut snd_ump_endpoint_info_t,
3964 card: ::core::ffi::c_uint,
3965 );
3966}
3967unsafe extern "C" {
3968 pub fn snd_ump_endpoint_info_set_device(
3969 info: *mut snd_ump_endpoint_info_t,
3970 device: ::core::ffi::c_uint,
3971 );
3972}
3973unsafe extern "C" {
3974 pub fn snd_ump_endpoint_info_set_flags(
3975 info: *mut snd_ump_endpoint_info_t,
3976 flags: ::core::ffi::c_uint,
3977 );
3978}
3979unsafe extern "C" {
3980 pub fn snd_ump_endpoint_info_set_protocol_caps(
3981 info: *mut snd_ump_endpoint_info_t,
3982 caps: ::core::ffi::c_uint,
3983 );
3984}
3985unsafe extern "C" {
3986 pub fn snd_ump_endpoint_info_set_protocol(
3987 info: *mut snd_ump_endpoint_info_t,
3988 protocols: ::core::ffi::c_uint,
3989 );
3990}
3991unsafe extern "C" {
3992 pub fn snd_ump_endpoint_info_set_num_blocks(
3993 info: *mut snd_ump_endpoint_info_t,
3994 num_blocks: ::core::ffi::c_uint,
3995 );
3996}
3997unsafe extern "C" {
3998 pub fn snd_ump_endpoint_info_set_version(
3999 info: *mut snd_ump_endpoint_info_t,
4000 version: ::core::ffi::c_uint,
4001 );
4002}
4003unsafe extern "C" {
4004 pub fn snd_ump_endpoint_info_set_manufacturer_id(
4005 info: *mut snd_ump_endpoint_info_t,
4006 id: ::core::ffi::c_uint,
4007 );
4008}
4009unsafe extern "C" {
4010 pub fn snd_ump_endpoint_info_set_family_id(
4011 info: *mut snd_ump_endpoint_info_t,
4012 id: ::core::ffi::c_uint,
4013 );
4014}
4015unsafe extern "C" {
4016 pub fn snd_ump_endpoint_info_set_model_id(
4017 info: *mut snd_ump_endpoint_info_t,
4018 id: ::core::ffi::c_uint,
4019 );
4020}
4021unsafe extern "C" {
4022 pub fn snd_ump_endpoint_info_set_sw_revision(
4023 info: *mut snd_ump_endpoint_info_t,
4024 id: *const ::core::ffi::c_uchar,
4025 );
4026}
4027unsafe extern "C" {
4028 pub fn snd_ump_endpoint_info_set_name(
4029 info: *mut snd_ump_endpoint_info_t,
4030 name: *const ::core::ffi::c_char,
4031 );
4032}
4033unsafe extern "C" {
4034 pub fn snd_ump_endpoint_info_set_product_id(
4035 info: *mut snd_ump_endpoint_info_t,
4036 id: *const ::core::ffi::c_char,
4037 );
4038}
4039pub const SND_UMP_BLOCK_UI_HINT_UNKNOWN: _snd_ump_block_ui_hint = 0;
4040pub const SND_UMP_BLOCK_UI_HINT_RECEIVER: _snd_ump_block_ui_hint = 1;
4041pub const SND_UMP_BLOCK_UI_HINT_SENDER: _snd_ump_block_ui_hint = 2;
4042pub const SND_UMP_BLOCK_UI_HINT_BOTH: _snd_ump_block_ui_hint = 3;
4043pub type _snd_ump_block_ui_hint = ::core::ffi::c_uint;
4044unsafe extern "C" {
4045 pub fn snd_ump_block_info_sizeof() -> usize;
4046}
4047unsafe extern "C" {
4048 pub fn snd_ump_block_info_malloc(info: *mut *mut snd_ump_block_info_t) -> ::core::ffi::c_int;
4049}
4050unsafe extern "C" {
4051 pub fn snd_ump_block_info_free(info: *mut snd_ump_block_info_t);
4052}
4053unsafe extern "C" {
4054 pub fn snd_ump_block_info_clear(info: *mut snd_ump_block_info_t);
4055}
4056unsafe extern "C" {
4057 pub fn snd_ump_block_info_copy(
4058 dst: *mut snd_ump_block_info_t,
4059 src: *const snd_ump_block_info_t,
4060 );
4061}
4062unsafe extern "C" {
4063 pub fn snd_ump_block_info_get_card(info: *const snd_ump_block_info_t) -> ::core::ffi::c_int;
4064}
4065unsafe extern "C" {
4066 pub fn snd_ump_block_info_get_device(info: *const snd_ump_block_info_t) -> ::core::ffi::c_int;
4067}
4068unsafe extern "C" {
4069 pub fn snd_ump_block_info_get_block_id(
4070 info: *const snd_ump_block_info_t,
4071 ) -> ::core::ffi::c_uint;
4072}
4073unsafe extern "C" {
4074 pub fn snd_ump_block_info_get_active(info: *const snd_ump_block_info_t) -> ::core::ffi::c_uint;
4075}
4076unsafe extern "C" {
4077 pub fn snd_ump_block_info_get_flags(info: *const snd_ump_block_info_t) -> ::core::ffi::c_uint;
4078}
4079unsafe extern "C" {
4080 pub fn snd_ump_block_info_get_direction(
4081 info: *const snd_ump_block_info_t,
4082 ) -> ::core::ffi::c_uint;
4083}
4084unsafe extern "C" {
4085 pub fn snd_ump_block_info_get_first_group(
4086 info: *const snd_ump_block_info_t,
4087 ) -> ::core::ffi::c_uint;
4088}
4089unsafe extern "C" {
4090 pub fn snd_ump_block_info_get_num_groups(
4091 info: *const snd_ump_block_info_t,
4092 ) -> ::core::ffi::c_uint;
4093}
4094unsafe extern "C" {
4095 pub fn snd_ump_block_info_get_midi_ci_version(
4096 info: *const snd_ump_block_info_t,
4097 ) -> ::core::ffi::c_uint;
4098}
4099unsafe extern "C" {
4100 pub fn snd_ump_block_info_get_sysex8_streams(
4101 info: *const snd_ump_block_info_t,
4102 ) -> ::core::ffi::c_uint;
4103}
4104unsafe extern "C" {
4105 pub fn snd_ump_block_info_get_ui_hint(info: *const snd_ump_block_info_t)
4106 -> ::core::ffi::c_uint;
4107}
4108unsafe extern "C" {
4109 pub fn snd_ump_block_info_get_name(
4110 info: *const snd_ump_block_info_t,
4111 ) -> *const ::core::ffi::c_char;
4112}
4113unsafe extern "C" {
4114 pub fn snd_ump_block_info(
4115 ump: *mut snd_ump_t,
4116 info: *mut snd_ump_block_info_t,
4117 ) -> ::core::ffi::c_int;
4118}
4119unsafe extern "C" {
4120 pub fn snd_ump_block_info_set_card(info: *mut snd_ump_block_info_t, card: ::core::ffi::c_uint);
4121}
4122unsafe extern "C" {
4123 pub fn snd_ump_block_info_set_device(
4124 info: *mut snd_ump_block_info_t,
4125 device: ::core::ffi::c_uint,
4126 );
4127}
4128unsafe extern "C" {
4129 pub fn snd_ump_block_info_set_block_id(
4130 info: *mut snd_ump_block_info_t,
4131 id: ::core::ffi::c_uint,
4132 );
4133}
4134unsafe extern "C" {
4135 pub fn snd_ump_block_info_set_active(
4136 info: *mut snd_ump_block_info_t,
4137 active: ::core::ffi::c_uint,
4138 );
4139}
4140unsafe extern "C" {
4141 pub fn snd_ump_block_info_set_flags(
4142 info: *mut snd_ump_block_info_t,
4143 flags: ::core::ffi::c_uint,
4144 );
4145}
4146unsafe extern "C" {
4147 pub fn snd_ump_block_info_set_direction(
4148 info: *mut snd_ump_block_info_t,
4149 direction: ::core::ffi::c_uint,
4150 );
4151}
4152unsafe extern "C" {
4153 pub fn snd_ump_block_info_set_first_group(
4154 info: *mut snd_ump_block_info_t,
4155 first_group: ::core::ffi::c_uint,
4156 );
4157}
4158unsafe extern "C" {
4159 pub fn snd_ump_block_info_set_num_groups(
4160 info: *mut snd_ump_block_info_t,
4161 num_groups: ::core::ffi::c_uint,
4162 );
4163}
4164unsafe extern "C" {
4165 pub fn snd_ump_block_info_set_midi_ci_version(
4166 info: *mut snd_ump_block_info_t,
4167 version: ::core::ffi::c_uint,
4168 );
4169}
4170unsafe extern "C" {
4171 pub fn snd_ump_block_info_set_sysex8_streams(
4172 info: *mut snd_ump_block_info_t,
4173 streams: ::core::ffi::c_uint,
4174 );
4175}
4176unsafe extern "C" {
4177 pub fn snd_ump_block_info_set_ui_hint(
4178 info: *mut snd_ump_block_info_t,
4179 hint: ::core::ffi::c_uint,
4180 );
4181}
4182unsafe extern "C" {
4183 pub fn snd_ump_block_info_set_name(
4184 info: *mut snd_ump_block_info_t,
4185 name: *const ::core::ffi::c_char,
4186 );
4187}
4188#[repr(C)]
4189#[derive(Debug, Copy, Clone)]
4190pub struct _snd_timer_id {
4191 _unused: [u8; 0],
4192}
4193pub type snd_timer_id_t = _snd_timer_id;
4194#[repr(C)]
4195#[derive(Debug, Copy, Clone)]
4196pub struct _snd_timer_ginfo {
4197 _unused: [u8; 0],
4198}
4199pub type snd_timer_ginfo_t = _snd_timer_ginfo;
4200#[repr(C)]
4201#[derive(Debug, Copy, Clone)]
4202pub struct _snd_timer_gparams {
4203 _unused: [u8; 0],
4204}
4205pub type snd_timer_gparams_t = _snd_timer_gparams;
4206#[repr(C)]
4207#[derive(Debug, Copy, Clone)]
4208pub struct _snd_timer_gstatus {
4209 _unused: [u8; 0],
4210}
4211pub type snd_timer_gstatus_t = _snd_timer_gstatus;
4212#[repr(C)]
4213#[derive(Debug, Copy, Clone)]
4214pub struct _snd_timer_info {
4215 _unused: [u8; 0],
4216}
4217pub type snd_timer_info_t = _snd_timer_info;
4218#[repr(C)]
4219#[derive(Debug, Copy, Clone)]
4220pub struct _snd_timer_params {
4221 _unused: [u8; 0],
4222}
4223pub type snd_timer_params_t = _snd_timer_params;
4224#[repr(C)]
4225#[derive(Debug, Copy, Clone)]
4226pub struct _snd_timer_status {
4227 _unused: [u8; 0],
4228}
4229pub type snd_timer_status_t = _snd_timer_status;
4230pub const SND_TIMER_CLASS_NONE: _snd_timer_class = -1;
4231pub const SND_TIMER_CLASS_SLAVE: _snd_timer_class = 0;
4232pub const SND_TIMER_CLASS_GLOBAL: _snd_timer_class = 1;
4233pub const SND_TIMER_CLASS_CARD: _snd_timer_class = 2;
4234pub const SND_TIMER_CLASS_PCM: _snd_timer_class = 3;
4235pub const SND_TIMER_CLASS_LAST: _snd_timer_class = 3;
4236pub type _snd_timer_class = ::core::ffi::c_int;
4237pub use self::_snd_timer_class as snd_timer_class_t;
4238pub const SND_TIMER_SCLASS_NONE: _snd_timer_slave_class = 0;
4239pub const SND_TIMER_SCLASS_APPLICATION: _snd_timer_slave_class = 1;
4240pub const SND_TIMER_SCLASS_SEQUENCER: _snd_timer_slave_class = 2;
4241pub const SND_TIMER_SCLASS_OSS_SEQUENCER: _snd_timer_slave_class = 3;
4242pub const SND_TIMER_SCLASS_LAST: _snd_timer_slave_class = 3;
4243pub type _snd_timer_slave_class = ::core::ffi::c_uint;
4244pub use self::_snd_timer_slave_class as snd_timer_slave_class_t;
4245pub const SND_TIMER_EVENT_RESOLUTION: _snd_timer_event = 0;
4246pub const SND_TIMER_EVENT_TICK: _snd_timer_event = 1;
4247pub const SND_TIMER_EVENT_START: _snd_timer_event = 2;
4248pub const SND_TIMER_EVENT_STOP: _snd_timer_event = 3;
4249pub const SND_TIMER_EVENT_CONTINUE: _snd_timer_event = 4;
4250pub const SND_TIMER_EVENT_PAUSE: _snd_timer_event = 5;
4251pub const SND_TIMER_EVENT_EARLY: _snd_timer_event = 6;
4252pub const SND_TIMER_EVENT_SUSPEND: _snd_timer_event = 7;
4253pub const SND_TIMER_EVENT_RESUME: _snd_timer_event = 8;
4254pub const SND_TIMER_EVENT_MSTART: _snd_timer_event = 12;
4255pub const SND_TIMER_EVENT_MSTOP: _snd_timer_event = 13;
4256pub const SND_TIMER_EVENT_MCONTINUE: _snd_timer_event = 14;
4257pub const SND_TIMER_EVENT_MPAUSE: _snd_timer_event = 15;
4258pub const SND_TIMER_EVENT_MSUSPEND: _snd_timer_event = 17;
4259pub const SND_TIMER_EVENT_MRESUME: _snd_timer_event = 18;
4260pub type _snd_timer_event = ::core::ffi::c_uint;
4261pub use self::_snd_timer_event as snd_timer_event_t;
4262#[repr(C)]
4263#[derive(Debug, Copy, Clone)]
4264pub struct _snd_timer_read {
4265 pub resolution: ::core::ffi::c_uint,
4266 pub ticks: ::core::ffi::c_uint,
4267}
4268pub type snd_timer_read_t = _snd_timer_read;
4269#[repr(C)]
4270pub struct _snd_timer_tread {
4271 pub event: snd_timer_event_t,
4272 pub tstamp: snd_htimestamp_t,
4273 pub val: ::core::ffi::c_uint,
4274}
4275pub type snd_timer_tread_t = _snd_timer_tread;
4276pub const SND_TIMER_TYPE_HW: _snd_timer_type = 0;
4277pub const SND_TIMER_TYPE_SHM: _snd_timer_type = 1;
4278pub const SND_TIMER_TYPE_INET: _snd_timer_type = 2;
4279pub type _snd_timer_type = ::core::ffi::c_uint;
4280pub use self::_snd_timer_type as snd_timer_type_t;
4281#[repr(C)]
4282#[derive(Debug, Copy, Clone)]
4283pub struct _snd_timer_query {
4284 _unused: [u8; 0],
4285}
4286pub type snd_timer_query_t = _snd_timer_query;
4287#[repr(C)]
4288#[derive(Debug, Copy, Clone)]
4289pub struct _snd_timer {
4290 _unused: [u8; 0],
4291}
4292pub type snd_timer_t = _snd_timer;
4293unsafe extern "C" {
4294 pub fn snd_timer_query_open(
4295 handle: *mut *mut snd_timer_query_t,
4296 name: *const ::core::ffi::c_char,
4297 mode: ::core::ffi::c_int,
4298 ) -> ::core::ffi::c_int;
4299}
4300unsafe extern "C" {
4301 pub fn snd_timer_query_open_lconf(
4302 handle: *mut *mut snd_timer_query_t,
4303 name: *const ::core::ffi::c_char,
4304 mode: ::core::ffi::c_int,
4305 lconf: *mut snd_config_t,
4306 ) -> ::core::ffi::c_int;
4307}
4308unsafe extern "C" {
4309 pub fn snd_timer_query_close(handle: *mut snd_timer_query_t) -> ::core::ffi::c_int;
4310}
4311unsafe extern "C" {
4312 pub fn snd_timer_query_next_device(
4313 handle: *mut snd_timer_query_t,
4314 tid: *mut snd_timer_id_t,
4315 ) -> ::core::ffi::c_int;
4316}
4317unsafe extern "C" {
4318 pub fn snd_timer_query_info(
4319 handle: *mut snd_timer_query_t,
4320 info: *mut snd_timer_ginfo_t,
4321 ) -> ::core::ffi::c_int;
4322}
4323unsafe extern "C" {
4324 pub fn snd_timer_query_params(
4325 handle: *mut snd_timer_query_t,
4326 params: *mut snd_timer_gparams_t,
4327 ) -> ::core::ffi::c_int;
4328}
4329unsafe extern "C" {
4330 pub fn snd_timer_query_status(
4331 handle: *mut snd_timer_query_t,
4332 status: *mut snd_timer_gstatus_t,
4333 ) -> ::core::ffi::c_int;
4334}
4335unsafe extern "C" {
4336 pub fn snd_timer_open(
4337 handle: *mut *mut snd_timer_t,
4338 name: *const ::core::ffi::c_char,
4339 mode: ::core::ffi::c_int,
4340 ) -> ::core::ffi::c_int;
4341}
4342unsafe extern "C" {
4343 pub fn snd_timer_open_lconf(
4344 handle: *mut *mut snd_timer_t,
4345 name: *const ::core::ffi::c_char,
4346 mode: ::core::ffi::c_int,
4347 lconf: *mut snd_config_t,
4348 ) -> ::core::ffi::c_int;
4349}
4350unsafe extern "C" {
4351 pub fn snd_timer_close(handle: *mut snd_timer_t) -> ::core::ffi::c_int;
4352}
4353unsafe extern "C" {
4354 pub fn snd_async_add_timer_handler(
4355 handler: *mut *mut snd_async_handler_t,
4356 timer: *mut snd_timer_t,
4357 callback: snd_async_callback_t,
4358 private_data: *mut ::core::ffi::c_void,
4359 ) -> ::core::ffi::c_int;
4360}
4361unsafe extern "C" {
4362 pub fn snd_async_handler_get_timer(handler: *mut snd_async_handler_t) -> *mut snd_timer_t;
4363}
4364unsafe extern "C" {
4365 pub fn snd_timer_poll_descriptors_count(handle: *mut snd_timer_t) -> ::core::ffi::c_int;
4366}
4367unsafe extern "C" {
4368 pub fn snd_timer_poll_descriptors(
4369 handle: *mut snd_timer_t,
4370 pfds: *mut pollfd,
4371 space: ::core::ffi::c_uint,
4372 ) -> ::core::ffi::c_int;
4373}
4374unsafe extern "C" {
4375 pub fn snd_timer_poll_descriptors_revents(
4376 timer: *mut snd_timer_t,
4377 pfds: *mut pollfd,
4378 nfds: ::core::ffi::c_uint,
4379 revents: *mut ::core::ffi::c_ushort,
4380 ) -> ::core::ffi::c_int;
4381}
4382unsafe extern "C" {
4383 pub fn snd_timer_info(
4384 handle: *mut snd_timer_t,
4385 timer: *mut snd_timer_info_t,
4386 ) -> ::core::ffi::c_int;
4387}
4388unsafe extern "C" {
4389 pub fn snd_timer_params(
4390 handle: *mut snd_timer_t,
4391 params: *mut snd_timer_params_t,
4392 ) -> ::core::ffi::c_int;
4393}
4394unsafe extern "C" {
4395 pub fn snd_timer_status(
4396 handle: *mut snd_timer_t,
4397 status: *mut snd_timer_status_t,
4398 ) -> ::core::ffi::c_int;
4399}
4400unsafe extern "C" {
4401 pub fn snd_timer_start(handle: *mut snd_timer_t) -> ::core::ffi::c_int;
4402}
4403unsafe extern "C" {
4404 pub fn snd_timer_stop(handle: *mut snd_timer_t) -> ::core::ffi::c_int;
4405}
4406unsafe extern "C" {
4407 pub fn snd_timer_continue(handle: *mut snd_timer_t) -> ::core::ffi::c_int;
4408}
4409unsafe extern "C" {
4410 pub fn snd_timer_read(
4411 handle: *mut snd_timer_t,
4412 buffer: *mut ::core::ffi::c_void,
4413 size: usize,
4414 ) -> isize;
4415}
4416unsafe extern "C" {
4417 pub fn snd_timer_id_sizeof() -> usize;
4418}
4419unsafe extern "C" {
4420 pub fn snd_timer_id_malloc(ptr: *mut *mut snd_timer_id_t) -> ::core::ffi::c_int;
4421}
4422unsafe extern "C" {
4423 pub fn snd_timer_id_free(obj: *mut snd_timer_id_t);
4424}
4425unsafe extern "C" {
4426 pub fn snd_timer_id_copy(dst: *mut snd_timer_id_t, src: *const snd_timer_id_t);
4427}
4428unsafe extern "C" {
4429 pub fn snd_timer_id_set_class(id: *mut snd_timer_id_t, dev_class: ::core::ffi::c_int);
4430}
4431unsafe extern "C" {
4432 pub fn snd_timer_id_get_class(id: *mut snd_timer_id_t) -> ::core::ffi::c_int;
4433}
4434unsafe extern "C" {
4435 pub fn snd_timer_id_set_sclass(id: *mut snd_timer_id_t, dev_sclass: ::core::ffi::c_int);
4436}
4437unsafe extern "C" {
4438 pub fn snd_timer_id_get_sclass(id: *mut snd_timer_id_t) -> ::core::ffi::c_int;
4439}
4440unsafe extern "C" {
4441 pub fn snd_timer_id_set_card(id: *mut snd_timer_id_t, card: ::core::ffi::c_int);
4442}
4443unsafe extern "C" {
4444 pub fn snd_timer_id_get_card(id: *mut snd_timer_id_t) -> ::core::ffi::c_int;
4445}
4446unsafe extern "C" {
4447 pub fn snd_timer_id_set_device(id: *mut snd_timer_id_t, device: ::core::ffi::c_int);
4448}
4449unsafe extern "C" {
4450 pub fn snd_timer_id_get_device(id: *mut snd_timer_id_t) -> ::core::ffi::c_int;
4451}
4452unsafe extern "C" {
4453 pub fn snd_timer_id_set_subdevice(id: *mut snd_timer_id_t, subdevice: ::core::ffi::c_int);
4454}
4455unsafe extern "C" {
4456 pub fn snd_timer_id_get_subdevice(id: *mut snd_timer_id_t) -> ::core::ffi::c_int;
4457}
4458unsafe extern "C" {
4459 pub fn snd_timer_ginfo_sizeof() -> usize;
4460}
4461unsafe extern "C" {
4462 pub fn snd_timer_ginfo_malloc(ptr: *mut *mut snd_timer_ginfo_t) -> ::core::ffi::c_int;
4463}
4464unsafe extern "C" {
4465 pub fn snd_timer_ginfo_free(obj: *mut snd_timer_ginfo_t);
4466}
4467unsafe extern "C" {
4468 pub fn snd_timer_ginfo_copy(dst: *mut snd_timer_ginfo_t, src: *const snd_timer_ginfo_t);
4469}
4470unsafe extern "C" {
4471 pub fn snd_timer_ginfo_set_tid(
4472 obj: *mut snd_timer_ginfo_t,
4473 tid: *mut snd_timer_id_t,
4474 ) -> ::core::ffi::c_int;
4475}
4476unsafe extern "C" {
4477 pub fn snd_timer_ginfo_get_tid(obj: *mut snd_timer_ginfo_t) -> *mut snd_timer_id_t;
4478}
4479unsafe extern "C" {
4480 pub fn snd_timer_ginfo_get_flags(obj: *mut snd_timer_ginfo_t) -> ::core::ffi::c_uint;
4481}
4482unsafe extern "C" {
4483 pub fn snd_timer_ginfo_get_card(obj: *mut snd_timer_ginfo_t) -> ::core::ffi::c_int;
4484}
4485unsafe extern "C" {
4486 pub fn snd_timer_ginfo_get_id(obj: *mut snd_timer_ginfo_t) -> *mut ::core::ffi::c_char;
4487}
4488unsafe extern "C" {
4489 pub fn snd_timer_ginfo_get_name(obj: *mut snd_timer_ginfo_t) -> *mut ::core::ffi::c_char;
4490}
4491unsafe extern "C" {
4492 pub fn snd_timer_ginfo_get_resolution(obj: *mut snd_timer_ginfo_t) -> ::core::ffi::c_ulong;
4493}
4494unsafe extern "C" {
4495 pub fn snd_timer_ginfo_get_resolution_min(obj: *mut snd_timer_ginfo_t) -> ::core::ffi::c_ulong;
4496}
4497unsafe extern "C" {
4498 pub fn snd_timer_ginfo_get_resolution_max(obj: *mut snd_timer_ginfo_t) -> ::core::ffi::c_ulong;
4499}
4500unsafe extern "C" {
4501 pub fn snd_timer_ginfo_get_clients(obj: *mut snd_timer_ginfo_t) -> ::core::ffi::c_uint;
4502}
4503unsafe extern "C" {
4504 pub fn snd_timer_info_sizeof() -> usize;
4505}
4506unsafe extern "C" {
4507 pub fn snd_timer_info_malloc(ptr: *mut *mut snd_timer_info_t) -> ::core::ffi::c_int;
4508}
4509unsafe extern "C" {
4510 pub fn snd_timer_info_free(obj: *mut snd_timer_info_t);
4511}
4512unsafe extern "C" {
4513 pub fn snd_timer_info_copy(dst: *mut snd_timer_info_t, src: *const snd_timer_info_t);
4514}
4515unsafe extern "C" {
4516 pub fn snd_timer_info_is_slave(info: *mut snd_timer_info_t) -> ::core::ffi::c_int;
4517}
4518unsafe extern "C" {
4519 pub fn snd_timer_info_get_card(info: *mut snd_timer_info_t) -> ::core::ffi::c_int;
4520}
4521unsafe extern "C" {
4522 pub fn snd_timer_info_get_id(info: *mut snd_timer_info_t) -> *const ::core::ffi::c_char;
4523}
4524unsafe extern "C" {
4525 pub fn snd_timer_info_get_name(info: *mut snd_timer_info_t) -> *const ::core::ffi::c_char;
4526}
4527unsafe extern "C" {
4528 pub fn snd_timer_info_get_resolution(info: *mut snd_timer_info_t) -> ::core::ffi::c_long;
4529}
4530unsafe extern "C" {
4531 pub fn snd_timer_params_sizeof() -> usize;
4532}
4533unsafe extern "C" {
4534 pub fn snd_timer_params_malloc(ptr: *mut *mut snd_timer_params_t) -> ::core::ffi::c_int;
4535}
4536unsafe extern "C" {
4537 pub fn snd_timer_params_free(obj: *mut snd_timer_params_t);
4538}
4539unsafe extern "C" {
4540 pub fn snd_timer_params_copy(dst: *mut snd_timer_params_t, src: *const snd_timer_params_t);
4541}
4542unsafe extern "C" {
4543 pub fn snd_timer_params_set_auto_start(
4544 params: *mut snd_timer_params_t,
4545 auto_start: ::core::ffi::c_int,
4546 ) -> ::core::ffi::c_int;
4547}
4548unsafe extern "C" {
4549 pub fn snd_timer_params_get_auto_start(params: *mut snd_timer_params_t) -> ::core::ffi::c_int;
4550}
4551unsafe extern "C" {
4552 pub fn snd_timer_params_set_exclusive(
4553 params: *mut snd_timer_params_t,
4554 exclusive: ::core::ffi::c_int,
4555 ) -> ::core::ffi::c_int;
4556}
4557unsafe extern "C" {
4558 pub fn snd_timer_params_get_exclusive(params: *mut snd_timer_params_t) -> ::core::ffi::c_int;
4559}
4560unsafe extern "C" {
4561 pub fn snd_timer_params_set_early_event(
4562 params: *mut snd_timer_params_t,
4563 early_event: ::core::ffi::c_int,
4564 ) -> ::core::ffi::c_int;
4565}
4566unsafe extern "C" {
4567 pub fn snd_timer_params_get_early_event(params: *mut snd_timer_params_t) -> ::core::ffi::c_int;
4568}
4569unsafe extern "C" {
4570 pub fn snd_timer_params_set_ticks(params: *mut snd_timer_params_t, ticks: ::core::ffi::c_long);
4571}
4572unsafe extern "C" {
4573 pub fn snd_timer_params_get_ticks(params: *mut snd_timer_params_t) -> ::core::ffi::c_long;
4574}
4575unsafe extern "C" {
4576 pub fn snd_timer_params_set_queue_size(
4577 params: *mut snd_timer_params_t,
4578 queue_size: ::core::ffi::c_long,
4579 );
4580}
4581unsafe extern "C" {
4582 pub fn snd_timer_params_get_queue_size(params: *mut snd_timer_params_t) -> ::core::ffi::c_long;
4583}
4584unsafe extern "C" {
4585 pub fn snd_timer_params_set_filter(
4586 params: *mut snd_timer_params_t,
4587 filter: ::core::ffi::c_uint,
4588 );
4589}
4590unsafe extern "C" {
4591 pub fn snd_timer_params_get_filter(params: *mut snd_timer_params_t) -> ::core::ffi::c_uint;
4592}
4593unsafe extern "C" {
4594 pub fn snd_timer_status_sizeof() -> usize;
4595}
4596unsafe extern "C" {
4597 pub fn snd_timer_status_malloc(ptr: *mut *mut snd_timer_status_t) -> ::core::ffi::c_int;
4598}
4599unsafe extern "C" {
4600 pub fn snd_timer_status_free(obj: *mut snd_timer_status_t);
4601}
4602unsafe extern "C" {
4603 pub fn snd_timer_status_copy(dst: *mut snd_timer_status_t, src: *const snd_timer_status_t);
4604}
4605unsafe extern "C" {
4606 pub fn snd_timer_status_get_timestamp(status: *mut snd_timer_status_t) -> snd_htimestamp_t;
4607}
4608unsafe extern "C" {
4609 pub fn snd_timer_status_get_resolution(status: *mut snd_timer_status_t) -> ::core::ffi::c_long;
4610}
4611unsafe extern "C" {
4612 pub fn snd_timer_status_get_lost(status: *mut snd_timer_status_t) -> ::core::ffi::c_long;
4613}
4614unsafe extern "C" {
4615 pub fn snd_timer_status_get_overrun(status: *mut snd_timer_status_t) -> ::core::ffi::c_long;
4616}
4617unsafe extern "C" {
4618 pub fn snd_timer_status_get_queue(status: *mut snd_timer_status_t) -> ::core::ffi::c_long;
4619}
4620unsafe extern "C" {
4621 pub fn snd_timer_info_get_ticks(info: *mut snd_timer_info_t) -> ::core::ffi::c_long;
4622}
4623#[repr(C)]
4624#[derive(Debug, Copy, Clone)]
4625pub struct _snd_hwdep_info {
4626 _unused: [u8; 0],
4627}
4628pub type snd_hwdep_info_t = _snd_hwdep_info;
4629#[repr(C)]
4630#[derive(Debug, Copy, Clone)]
4631pub struct _snd_hwdep_dsp_status {
4632 _unused: [u8; 0],
4633}
4634pub type snd_hwdep_dsp_status_t = _snd_hwdep_dsp_status;
4635#[repr(C)]
4636#[derive(Debug, Copy, Clone)]
4637pub struct _snd_hwdep_dsp_image {
4638 _unused: [u8; 0],
4639}
4640pub type snd_hwdep_dsp_image_t = _snd_hwdep_dsp_image;
4641pub const SND_HWDEP_IFACE_OPL2: _snd_hwdep_iface = 0;
4642pub const SND_HWDEP_IFACE_OPL3: _snd_hwdep_iface = 1;
4643pub const SND_HWDEP_IFACE_OPL4: _snd_hwdep_iface = 2;
4644pub const SND_HWDEP_IFACE_SB16CSP: _snd_hwdep_iface = 3;
4645pub const SND_HWDEP_IFACE_EMU10K1: _snd_hwdep_iface = 4;
4646pub const SND_HWDEP_IFACE_YSS225: _snd_hwdep_iface = 5;
4647pub const SND_HWDEP_IFACE_ICS2115: _snd_hwdep_iface = 6;
4648pub const SND_HWDEP_IFACE_SSCAPE: _snd_hwdep_iface = 7;
4649pub const SND_HWDEP_IFACE_VX: _snd_hwdep_iface = 8;
4650pub const SND_HWDEP_IFACE_MIXART: _snd_hwdep_iface = 9;
4651pub const SND_HWDEP_IFACE_USX2Y: _snd_hwdep_iface = 10;
4652pub const SND_HWDEP_IFACE_EMUX_WAVETABLE: _snd_hwdep_iface = 11;
4653pub const SND_HWDEP_IFACE_BLUETOOTH: _snd_hwdep_iface = 12;
4654pub const SND_HWDEP_IFACE_USX2Y_PCM: _snd_hwdep_iface = 13;
4655pub const SND_HWDEP_IFACE_PCXHR: _snd_hwdep_iface = 14;
4656pub const SND_HWDEP_IFACE_SB_RC: _snd_hwdep_iface = 15;
4657pub const SND_HWDEP_IFACE_HDA: _snd_hwdep_iface = 16;
4658pub const SND_HWDEP_IFACE_USB_STREAM: _snd_hwdep_iface = 17;
4659pub const SND_HWDEP_IFACE_FW_DICE: _snd_hwdep_iface = 18;
4660pub const SND_HWDEP_IFACE_FW_FIREWORKS: _snd_hwdep_iface = 19;
4661pub const SND_HWDEP_IFACE_FW_BEBOB: _snd_hwdep_iface = 20;
4662pub const SND_HWDEP_IFACE_FW_OXFW: _snd_hwdep_iface = 21;
4663pub const SND_HWDEP_IFACE_FW_DIGI00X: _snd_hwdep_iface = 22;
4664pub const SND_HWDEP_IFACE_FW_TASCAM: _snd_hwdep_iface = 23;
4665pub const SND_HWDEP_IFACE_LINE6: _snd_hwdep_iface = 24;
4666pub const SND_HWDEP_IFACE_FW_MOTU: _snd_hwdep_iface = 25;
4667pub const SND_HWDEP_IFACE_FW_FIREFACE: _snd_hwdep_iface = 26;
4668pub const SND_HWDEP_IFACE_LAST: _snd_hwdep_iface = 26;
4669pub type _snd_hwdep_iface = ::core::ffi::c_uint;
4670pub use self::_snd_hwdep_iface as snd_hwdep_iface_t;
4671pub const SND_HWDEP_TYPE_HW: _snd_hwdep_type = 0;
4672pub const SND_HWDEP_TYPE_SHM: _snd_hwdep_type = 1;
4673pub const SND_HWDEP_TYPE_INET: _snd_hwdep_type = 2;
4674pub type _snd_hwdep_type = ::core::ffi::c_uint;
4675pub use self::_snd_hwdep_type as snd_hwdep_type_t;
4676#[repr(C)]
4677#[derive(Debug, Copy, Clone)]
4678pub struct _snd_hwdep {
4679 _unused: [u8; 0],
4680}
4681pub type snd_hwdep_t = _snd_hwdep;
4682unsafe extern "C" {
4683 pub fn snd_hwdep_open(
4684 hwdep: *mut *mut snd_hwdep_t,
4685 name: *const ::core::ffi::c_char,
4686 mode: ::core::ffi::c_int,
4687 ) -> ::core::ffi::c_int;
4688}
4689unsafe extern "C" {
4690 pub fn snd_hwdep_close(hwdep: *mut snd_hwdep_t) -> ::core::ffi::c_int;
4691}
4692unsafe extern "C" {
4693 pub fn snd_hwdep_poll_descriptors(
4694 hwdep: *mut snd_hwdep_t,
4695 pfds: *mut pollfd,
4696 space: ::core::ffi::c_uint,
4697 ) -> ::core::ffi::c_int;
4698}
4699unsafe extern "C" {
4700 pub fn snd_hwdep_poll_descriptors_count(hwdep: *mut snd_hwdep_t) -> ::core::ffi::c_int;
4701}
4702unsafe extern "C" {
4703 pub fn snd_hwdep_poll_descriptors_revents(
4704 hwdep: *mut snd_hwdep_t,
4705 pfds: *mut pollfd,
4706 nfds: ::core::ffi::c_uint,
4707 revents: *mut ::core::ffi::c_ushort,
4708 ) -> ::core::ffi::c_int;
4709}
4710unsafe extern "C" {
4711 pub fn snd_hwdep_nonblock(
4712 hwdep: *mut snd_hwdep_t,
4713 nonblock: ::core::ffi::c_int,
4714 ) -> ::core::ffi::c_int;
4715}
4716unsafe extern "C" {
4717 pub fn snd_hwdep_info(
4718 hwdep: *mut snd_hwdep_t,
4719 info: *mut snd_hwdep_info_t,
4720 ) -> ::core::ffi::c_int;
4721}
4722unsafe extern "C" {
4723 pub fn snd_hwdep_dsp_status(
4724 hwdep: *mut snd_hwdep_t,
4725 status: *mut snd_hwdep_dsp_status_t,
4726 ) -> ::core::ffi::c_int;
4727}
4728unsafe extern "C" {
4729 pub fn snd_hwdep_dsp_load(
4730 hwdep: *mut snd_hwdep_t,
4731 block: *mut snd_hwdep_dsp_image_t,
4732 ) -> ::core::ffi::c_int;
4733}
4734unsafe extern "C" {
4735 pub fn snd_hwdep_ioctl(
4736 hwdep: *mut snd_hwdep_t,
4737 request: ::core::ffi::c_uint,
4738 arg: *mut ::core::ffi::c_void,
4739 ) -> ::core::ffi::c_int;
4740}
4741unsafe extern "C" {
4742 pub fn snd_hwdep_write(
4743 hwdep: *mut snd_hwdep_t,
4744 buffer: *const ::core::ffi::c_void,
4745 size: usize,
4746 ) -> isize;
4747}
4748unsafe extern "C" {
4749 pub fn snd_hwdep_read(
4750 hwdep: *mut snd_hwdep_t,
4751 buffer: *mut ::core::ffi::c_void,
4752 size: usize,
4753 ) -> isize;
4754}
4755unsafe extern "C" {
4756 pub fn snd_hwdep_info_sizeof() -> usize;
4757}
4758unsafe extern "C" {
4759 pub fn snd_hwdep_info_malloc(ptr: *mut *mut snd_hwdep_info_t) -> ::core::ffi::c_int;
4760}
4761unsafe extern "C" {
4762 pub fn snd_hwdep_info_free(obj: *mut snd_hwdep_info_t);
4763}
4764unsafe extern "C" {
4765 pub fn snd_hwdep_info_copy(dst: *mut snd_hwdep_info_t, src: *const snd_hwdep_info_t);
4766}
4767unsafe extern "C" {
4768 pub fn snd_hwdep_info_get_device(obj: *const snd_hwdep_info_t) -> ::core::ffi::c_uint;
4769}
4770unsafe extern "C" {
4771 pub fn snd_hwdep_info_get_card(obj: *const snd_hwdep_info_t) -> ::core::ffi::c_int;
4772}
4773unsafe extern "C" {
4774 pub fn snd_hwdep_info_get_id(obj: *const snd_hwdep_info_t) -> *const ::core::ffi::c_char;
4775}
4776unsafe extern "C" {
4777 pub fn snd_hwdep_info_get_name(obj: *const snd_hwdep_info_t) -> *const ::core::ffi::c_char;
4778}
4779unsafe extern "C" {
4780 pub fn snd_hwdep_info_get_iface(obj: *const snd_hwdep_info_t) -> snd_hwdep_iface_t;
4781}
4782unsafe extern "C" {
4783 pub fn snd_hwdep_info_set_device(obj: *mut snd_hwdep_info_t, val: ::core::ffi::c_uint);
4784}
4785unsafe extern "C" {
4786 pub fn snd_hwdep_dsp_status_sizeof() -> usize;
4787}
4788unsafe extern "C" {
4789 pub fn snd_hwdep_dsp_status_malloc(ptr: *mut *mut snd_hwdep_dsp_status_t)
4790 -> ::core::ffi::c_int;
4791}
4792unsafe extern "C" {
4793 pub fn snd_hwdep_dsp_status_free(obj: *mut snd_hwdep_dsp_status_t);
4794}
4795unsafe extern "C" {
4796 pub fn snd_hwdep_dsp_status_copy(
4797 dst: *mut snd_hwdep_dsp_status_t,
4798 src: *const snd_hwdep_dsp_status_t,
4799 );
4800}
4801unsafe extern "C" {
4802 pub fn snd_hwdep_dsp_status_get_version(
4803 obj: *const snd_hwdep_dsp_status_t,
4804 ) -> ::core::ffi::c_uint;
4805}
4806unsafe extern "C" {
4807 pub fn snd_hwdep_dsp_status_get_id(
4808 obj: *const snd_hwdep_dsp_status_t,
4809 ) -> *const ::core::ffi::c_char;
4810}
4811unsafe extern "C" {
4812 pub fn snd_hwdep_dsp_status_get_num_dsps(
4813 obj: *const snd_hwdep_dsp_status_t,
4814 ) -> ::core::ffi::c_uint;
4815}
4816unsafe extern "C" {
4817 pub fn snd_hwdep_dsp_status_get_dsp_loaded(
4818 obj: *const snd_hwdep_dsp_status_t,
4819 ) -> ::core::ffi::c_uint;
4820}
4821unsafe extern "C" {
4822 pub fn snd_hwdep_dsp_status_get_chip_ready(
4823 obj: *const snd_hwdep_dsp_status_t,
4824 ) -> ::core::ffi::c_uint;
4825}
4826unsafe extern "C" {
4827 pub fn snd_hwdep_dsp_image_sizeof() -> usize;
4828}
4829unsafe extern "C" {
4830 pub fn snd_hwdep_dsp_image_malloc(ptr: *mut *mut snd_hwdep_dsp_image_t) -> ::core::ffi::c_int;
4831}
4832unsafe extern "C" {
4833 pub fn snd_hwdep_dsp_image_free(obj: *mut snd_hwdep_dsp_image_t);
4834}
4835unsafe extern "C" {
4836 pub fn snd_hwdep_dsp_image_copy(
4837 dst: *mut snd_hwdep_dsp_image_t,
4838 src: *const snd_hwdep_dsp_image_t,
4839 );
4840}
4841unsafe extern "C" {
4842 pub fn snd_hwdep_dsp_image_get_index(obj: *const snd_hwdep_dsp_image_t) -> ::core::ffi::c_uint;
4843}
4844unsafe extern "C" {
4845 pub fn snd_hwdep_dsp_image_get_name(
4846 obj: *const snd_hwdep_dsp_image_t,
4847 ) -> *const ::core::ffi::c_char;
4848}
4849unsafe extern "C" {
4850 pub fn snd_hwdep_dsp_image_get_image(
4851 obj: *const snd_hwdep_dsp_image_t,
4852 ) -> *const ::core::ffi::c_void;
4853}
4854unsafe extern "C" {
4855 pub fn snd_hwdep_dsp_image_get_length(obj: *const snd_hwdep_dsp_image_t) -> usize;
4856}
4857unsafe extern "C" {
4858 pub fn snd_hwdep_dsp_image_set_index(
4859 obj: *mut snd_hwdep_dsp_image_t,
4860 _index: ::core::ffi::c_uint,
4861 );
4862}
4863unsafe extern "C" {
4864 pub fn snd_hwdep_dsp_image_set_name(
4865 obj: *mut snd_hwdep_dsp_image_t,
4866 name: *const ::core::ffi::c_char,
4867 );
4868}
4869unsafe extern "C" {
4870 pub fn snd_hwdep_dsp_image_set_image(
4871 obj: *mut snd_hwdep_dsp_image_t,
4872 buffer: *mut ::core::ffi::c_void,
4873 );
4874}
4875unsafe extern "C" {
4876 pub fn snd_hwdep_dsp_image_set_length(obj: *mut snd_hwdep_dsp_image_t, length: usize);
4877}
4878#[repr(C)]
4879#[derive(Debug, Copy, Clone)]
4880pub struct snd_aes_iec958 {
4881 pub status: [::core::ffi::c_uchar; 24usize],
4882 pub subcode: [::core::ffi::c_uchar; 147usize],
4883 pub pad: ::core::ffi::c_uchar,
4884 pub dig_subframe: [::core::ffi::c_uchar; 4usize],
4885}
4886pub type snd_aes_iec958_t = snd_aes_iec958;
4887#[repr(C)]
4888#[derive(Debug, Copy, Clone)]
4889pub struct _snd_ctl_card_info {
4890 _unused: [u8; 0],
4891}
4892pub type snd_ctl_card_info_t = _snd_ctl_card_info;
4893#[repr(C)]
4894#[derive(Debug, Copy, Clone)]
4895pub struct _snd_ctl_elem_id {
4896 _unused: [u8; 0],
4897}
4898pub type snd_ctl_elem_id_t = _snd_ctl_elem_id;
4899#[repr(C)]
4900#[derive(Debug, Copy, Clone)]
4901pub struct _snd_ctl_elem_list {
4902 _unused: [u8; 0],
4903}
4904pub type snd_ctl_elem_list_t = _snd_ctl_elem_list;
4905#[repr(C)]
4906#[derive(Debug, Copy, Clone)]
4907pub struct _snd_ctl_elem_info {
4908 _unused: [u8; 0],
4909}
4910pub type snd_ctl_elem_info_t = _snd_ctl_elem_info;
4911#[repr(C)]
4912#[derive(Debug, Copy, Clone)]
4913pub struct _snd_ctl_elem_value {
4914 _unused: [u8; 0],
4915}
4916pub type snd_ctl_elem_value_t = _snd_ctl_elem_value;
4917#[repr(C)]
4918#[derive(Debug, Copy, Clone)]
4919pub struct _snd_ctl_event {
4920 _unused: [u8; 0],
4921}
4922pub type snd_ctl_event_t = _snd_ctl_event;
4923pub const SND_CTL_ELEM_TYPE_NONE: _snd_ctl_elem_type = 0;
4924pub const SND_CTL_ELEM_TYPE_BOOLEAN: _snd_ctl_elem_type = 1;
4925pub const SND_CTL_ELEM_TYPE_INTEGER: _snd_ctl_elem_type = 2;
4926pub const SND_CTL_ELEM_TYPE_ENUMERATED: _snd_ctl_elem_type = 3;
4927pub const SND_CTL_ELEM_TYPE_BYTES: _snd_ctl_elem_type = 4;
4928pub const SND_CTL_ELEM_TYPE_IEC958: _snd_ctl_elem_type = 5;
4929pub const SND_CTL_ELEM_TYPE_INTEGER64: _snd_ctl_elem_type = 6;
4930pub const SND_CTL_ELEM_TYPE_LAST: _snd_ctl_elem_type = 6;
4931pub type _snd_ctl_elem_type = ::core::ffi::c_uint;
4932pub use self::_snd_ctl_elem_type as snd_ctl_elem_type_t;
4933pub const SND_CTL_ELEM_IFACE_CARD: _snd_ctl_elem_iface = 0;
4934pub const SND_CTL_ELEM_IFACE_HWDEP: _snd_ctl_elem_iface = 1;
4935pub const SND_CTL_ELEM_IFACE_MIXER: _snd_ctl_elem_iface = 2;
4936pub const SND_CTL_ELEM_IFACE_PCM: _snd_ctl_elem_iface = 3;
4937pub const SND_CTL_ELEM_IFACE_RAWMIDI: _snd_ctl_elem_iface = 4;
4938pub const SND_CTL_ELEM_IFACE_TIMER: _snd_ctl_elem_iface = 5;
4939pub const SND_CTL_ELEM_IFACE_SEQUENCER: _snd_ctl_elem_iface = 6;
4940pub const SND_CTL_ELEM_IFACE_LAST: _snd_ctl_elem_iface = 6;
4941pub type _snd_ctl_elem_iface = ::core::ffi::c_uint;
4942pub use self::_snd_ctl_elem_iface as snd_ctl_elem_iface_t;
4943pub const SND_CTL_EVENT_ELEM: _snd_ctl_event_type = 0;
4944pub const SND_CTL_EVENT_LAST: _snd_ctl_event_type = 0;
4945pub type _snd_ctl_event_type = ::core::ffi::c_uint;
4946pub use self::_snd_ctl_event_type as snd_ctl_event_type_t;
4947pub const SND_CTL_TYPE_HW: _snd_ctl_type = 0;
4948pub const SND_CTL_TYPE_SHM: _snd_ctl_type = 1;
4949pub const SND_CTL_TYPE_INET: _snd_ctl_type = 2;
4950pub const SND_CTL_TYPE_EXT: _snd_ctl_type = 3;
4951pub const SND_CTL_TYPE_REMAP: _snd_ctl_type = 4;
4952pub type _snd_ctl_type = ::core::ffi::c_uint;
4953pub use self::_snd_ctl_type as snd_ctl_type_t;
4954#[repr(C)]
4955#[derive(Debug, Copy, Clone)]
4956pub struct _snd_ctl {
4957 _unused: [u8; 0],
4958}
4959pub type snd_ctl_t = _snd_ctl;
4960#[repr(C)]
4961#[derive(Debug, Copy, Clone)]
4962pub struct _snd_sctl {
4963 _unused: [u8; 0],
4964}
4965pub type snd_sctl_t = _snd_sctl;
4966unsafe extern "C" {
4967 pub fn snd_card_load(card: ::core::ffi::c_int) -> ::core::ffi::c_int;
4968}
4969unsafe extern "C" {
4970 pub fn snd_card_next(card: *mut ::core::ffi::c_int) -> ::core::ffi::c_int;
4971}
4972unsafe extern "C" {
4973 pub fn snd_card_get_index(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
4974}
4975unsafe extern "C" {
4976 pub fn snd_card_get_name(
4977 card: ::core::ffi::c_int,
4978 name: *mut *mut ::core::ffi::c_char,
4979 ) -> ::core::ffi::c_int;
4980}
4981unsafe extern "C" {
4982 pub fn snd_card_get_longname(
4983 card: ::core::ffi::c_int,
4984 name: *mut *mut ::core::ffi::c_char,
4985 ) -> ::core::ffi::c_int;
4986}
4987unsafe extern "C" {
4988 pub fn snd_ctl_open(
4989 ctl: *mut *mut snd_ctl_t,
4990 name: *const ::core::ffi::c_char,
4991 mode: ::core::ffi::c_int,
4992 ) -> ::core::ffi::c_int;
4993}
4994unsafe extern "C" {
4995 pub fn snd_ctl_open_lconf(
4996 ctl: *mut *mut snd_ctl_t,
4997 name: *const ::core::ffi::c_char,
4998 mode: ::core::ffi::c_int,
4999 lconf: *mut snd_config_t,
5000 ) -> ::core::ffi::c_int;
5001}
5002unsafe extern "C" {
5003 pub fn snd_ctl_open_fallback(
5004 ctl: *mut *mut snd_ctl_t,
5005 root: *mut snd_config_t,
5006 name: *const ::core::ffi::c_char,
5007 orig_name: *const ::core::ffi::c_char,
5008 mode: ::core::ffi::c_int,
5009 ) -> ::core::ffi::c_int;
5010}
5011unsafe extern "C" {
5012 pub fn snd_ctl_close(ctl: *mut snd_ctl_t) -> ::core::ffi::c_int;
5013}
5014unsafe extern "C" {
5015 pub fn snd_ctl_nonblock(
5016 ctl: *mut snd_ctl_t,
5017 nonblock: ::core::ffi::c_int,
5018 ) -> ::core::ffi::c_int;
5019}
5020unsafe extern "C" {
5021 pub fn snd_async_add_ctl_handler(
5022 handler: *mut *mut snd_async_handler_t,
5023 ctl: *mut snd_ctl_t,
5024 callback: snd_async_callback_t,
5025 private_data: *mut ::core::ffi::c_void,
5026 ) -> ::core::ffi::c_int;
5027}
5028unsafe extern "C" {
5029 pub fn snd_async_handler_get_ctl(handler: *mut snd_async_handler_t) -> *mut snd_ctl_t;
5030}
5031unsafe extern "C" {
5032 pub fn snd_ctl_poll_descriptors_count(ctl: *mut snd_ctl_t) -> ::core::ffi::c_int;
5033}
5034unsafe extern "C" {
5035 pub fn snd_ctl_poll_descriptors(
5036 ctl: *mut snd_ctl_t,
5037 pfds: *mut pollfd,
5038 space: ::core::ffi::c_uint,
5039 ) -> ::core::ffi::c_int;
5040}
5041unsafe extern "C" {
5042 pub fn snd_ctl_poll_descriptors_revents(
5043 ctl: *mut snd_ctl_t,
5044 pfds: *mut pollfd,
5045 nfds: ::core::ffi::c_uint,
5046 revents: *mut ::core::ffi::c_ushort,
5047 ) -> ::core::ffi::c_int;
5048}
5049unsafe extern "C" {
5050 pub fn snd_ctl_subscribe_events(
5051 ctl: *mut snd_ctl_t,
5052 subscribe: ::core::ffi::c_int,
5053 ) -> ::core::ffi::c_int;
5054}
5055unsafe extern "C" {
5056 pub fn snd_ctl_card_info(
5057 ctl: *mut snd_ctl_t,
5058 info: *mut snd_ctl_card_info_t,
5059 ) -> ::core::ffi::c_int;
5060}
5061unsafe extern "C" {
5062 pub fn snd_ctl_elem_list(
5063 ctl: *mut snd_ctl_t,
5064 list: *mut snd_ctl_elem_list_t,
5065 ) -> ::core::ffi::c_int;
5066}
5067unsafe extern "C" {
5068 pub fn snd_ctl_elem_info(
5069 ctl: *mut snd_ctl_t,
5070 info: *mut snd_ctl_elem_info_t,
5071 ) -> ::core::ffi::c_int;
5072}
5073unsafe extern "C" {
5074 pub fn snd_ctl_elem_read(
5075 ctl: *mut snd_ctl_t,
5076 data: *mut snd_ctl_elem_value_t,
5077 ) -> ::core::ffi::c_int;
5078}
5079unsafe extern "C" {
5080 pub fn snd_ctl_elem_write(
5081 ctl: *mut snd_ctl_t,
5082 data: *mut snd_ctl_elem_value_t,
5083 ) -> ::core::ffi::c_int;
5084}
5085unsafe extern "C" {
5086 pub fn snd_ctl_elem_lock(ctl: *mut snd_ctl_t, id: *mut snd_ctl_elem_id_t)
5087 -> ::core::ffi::c_int;
5088}
5089unsafe extern "C" {
5090 pub fn snd_ctl_elem_unlock(
5091 ctl: *mut snd_ctl_t,
5092 id: *mut snd_ctl_elem_id_t,
5093 ) -> ::core::ffi::c_int;
5094}
5095unsafe extern "C" {
5096 pub fn snd_ctl_elem_tlv_read(
5097 ctl: *mut snd_ctl_t,
5098 id: *const snd_ctl_elem_id_t,
5099 tlv: *mut ::core::ffi::c_uint,
5100 tlv_size: ::core::ffi::c_uint,
5101 ) -> ::core::ffi::c_int;
5102}
5103unsafe extern "C" {
5104 pub fn snd_ctl_elem_tlv_write(
5105 ctl: *mut snd_ctl_t,
5106 id: *const snd_ctl_elem_id_t,
5107 tlv: *const ::core::ffi::c_uint,
5108 ) -> ::core::ffi::c_int;
5109}
5110unsafe extern "C" {
5111 pub fn snd_ctl_elem_tlv_command(
5112 ctl: *mut snd_ctl_t,
5113 id: *const snd_ctl_elem_id_t,
5114 tlv: *const ::core::ffi::c_uint,
5115 ) -> ::core::ffi::c_int;
5116}
5117unsafe extern "C" {
5118 pub fn snd_ctl_hwdep_next_device(
5119 ctl: *mut snd_ctl_t,
5120 device: *mut ::core::ffi::c_int,
5121 ) -> ::core::ffi::c_int;
5122}
5123unsafe extern "C" {
5124 pub fn snd_ctl_hwdep_info(
5125 ctl: *mut snd_ctl_t,
5126 info: *mut snd_hwdep_info_t,
5127 ) -> ::core::ffi::c_int;
5128}
5129unsafe extern "C" {
5130 pub fn snd_ctl_pcm_next_device(
5131 ctl: *mut snd_ctl_t,
5132 device: *mut ::core::ffi::c_int,
5133 ) -> ::core::ffi::c_int;
5134}
5135unsafe extern "C" {
5136 pub fn snd_ctl_pcm_info(ctl: *mut snd_ctl_t, info: *mut snd_pcm_info_t) -> ::core::ffi::c_int;
5137}
5138unsafe extern "C" {
5139 pub fn snd_ctl_pcm_prefer_subdevice(
5140 ctl: *mut snd_ctl_t,
5141 subdev: ::core::ffi::c_int,
5142 ) -> ::core::ffi::c_int;
5143}
5144unsafe extern "C" {
5145 pub fn snd_ctl_rawmidi_next_device(
5146 ctl: *mut snd_ctl_t,
5147 device: *mut ::core::ffi::c_int,
5148 ) -> ::core::ffi::c_int;
5149}
5150unsafe extern "C" {
5151 pub fn snd_ctl_rawmidi_info(
5152 ctl: *mut snd_ctl_t,
5153 info: *mut snd_rawmidi_info_t,
5154 ) -> ::core::ffi::c_int;
5155}
5156unsafe extern "C" {
5157 pub fn snd_ctl_rawmidi_prefer_subdevice(
5158 ctl: *mut snd_ctl_t,
5159 subdev: ::core::ffi::c_int,
5160 ) -> ::core::ffi::c_int;
5161}
5162unsafe extern "C" {
5163 pub fn snd_ctl_ump_next_device(
5164 ctl: *mut snd_ctl_t,
5165 device: *mut ::core::ffi::c_int,
5166 ) -> ::core::ffi::c_int;
5167}
5168unsafe extern "C" {
5169 pub fn snd_ctl_ump_endpoint_info(
5170 ctl: *mut snd_ctl_t,
5171 info: *mut snd_ump_endpoint_info_t,
5172 ) -> ::core::ffi::c_int;
5173}
5174unsafe extern "C" {
5175 pub fn snd_ctl_ump_block_info(
5176 ctl: *mut snd_ctl_t,
5177 info: *mut snd_ump_block_info_t,
5178 ) -> ::core::ffi::c_int;
5179}
5180unsafe extern "C" {
5181 pub fn snd_ctl_set_power_state(
5182 ctl: *mut snd_ctl_t,
5183 state: ::core::ffi::c_uint,
5184 ) -> ::core::ffi::c_int;
5185}
5186unsafe extern "C" {
5187 pub fn snd_ctl_get_power_state(
5188 ctl: *mut snd_ctl_t,
5189 state: *mut ::core::ffi::c_uint,
5190 ) -> ::core::ffi::c_int;
5191}
5192unsafe extern "C" {
5193 pub fn snd_ctl_read(ctl: *mut snd_ctl_t, event: *mut snd_ctl_event_t) -> ::core::ffi::c_int;
5194}
5195unsafe extern "C" {
5196 pub fn snd_ctl_wait(ctl: *mut snd_ctl_t, timeout: ::core::ffi::c_int) -> ::core::ffi::c_int;
5197}
5198unsafe extern "C" {
5199 pub fn snd_ctl_name(ctl: *mut snd_ctl_t) -> *const ::core::ffi::c_char;
5200}
5201unsafe extern "C" {
5202 pub fn snd_ctl_type(ctl: *mut snd_ctl_t) -> snd_ctl_type_t;
5203}
5204unsafe extern "C" {
5205 pub fn snd_ctl_elem_type_name(type_: snd_ctl_elem_type_t) -> *const ::core::ffi::c_char;
5206}
5207unsafe extern "C" {
5208 pub fn snd_ctl_elem_iface_name(iface: snd_ctl_elem_iface_t) -> *const ::core::ffi::c_char;
5209}
5210unsafe extern "C" {
5211 pub fn snd_ctl_event_type_name(type_: snd_ctl_event_type_t) -> *const ::core::ffi::c_char;
5212}
5213unsafe extern "C" {
5214 pub fn snd_ctl_event_elem_get_mask(obj: *const snd_ctl_event_t) -> ::core::ffi::c_uint;
5215}
5216unsafe extern "C" {
5217 pub fn snd_ctl_event_elem_get_numid(obj: *const snd_ctl_event_t) -> ::core::ffi::c_uint;
5218}
5219unsafe extern "C" {
5220 pub fn snd_ctl_event_elem_get_id(obj: *const snd_ctl_event_t, ptr: *mut snd_ctl_elem_id_t);
5221}
5222unsafe extern "C" {
5223 pub fn snd_ctl_event_elem_get_interface(obj: *const snd_ctl_event_t) -> snd_ctl_elem_iface_t;
5224}
5225unsafe extern "C" {
5226 pub fn snd_ctl_event_elem_get_device(obj: *const snd_ctl_event_t) -> ::core::ffi::c_uint;
5227}
5228unsafe extern "C" {
5229 pub fn snd_ctl_event_elem_get_subdevice(obj: *const snd_ctl_event_t) -> ::core::ffi::c_uint;
5230}
5231unsafe extern "C" {
5232 pub fn snd_ctl_event_elem_get_name(obj: *const snd_ctl_event_t) -> *const ::core::ffi::c_char;
5233}
5234unsafe extern "C" {
5235 pub fn snd_ctl_event_elem_get_index(obj: *const snd_ctl_event_t) -> ::core::ffi::c_uint;
5236}
5237unsafe extern "C" {
5238 pub fn snd_ctl_elem_list_alloc_space(
5239 obj: *mut snd_ctl_elem_list_t,
5240 entries: ::core::ffi::c_uint,
5241 ) -> ::core::ffi::c_int;
5242}
5243unsafe extern "C" {
5244 pub fn snd_ctl_elem_list_free_space(obj: *mut snd_ctl_elem_list_t);
5245}
5246unsafe extern "C" {
5247 pub fn snd_ctl_ascii_elem_id_get(id: *mut snd_ctl_elem_id_t) -> *mut ::core::ffi::c_char;
5248}
5249unsafe extern "C" {
5250 pub fn snd_ctl_ascii_elem_id_parse(
5251 dst: *mut snd_ctl_elem_id_t,
5252 str_: *const ::core::ffi::c_char,
5253 ) -> ::core::ffi::c_int;
5254}
5255unsafe extern "C" {
5256 pub fn snd_ctl_ascii_value_parse(
5257 handle: *mut snd_ctl_t,
5258 dst: *mut snd_ctl_elem_value_t,
5259 info: *mut snd_ctl_elem_info_t,
5260 value: *const ::core::ffi::c_char,
5261 ) -> ::core::ffi::c_int;
5262}
5263unsafe extern "C" {
5264 pub fn snd_ctl_elem_id_sizeof() -> usize;
5265}
5266unsafe extern "C" {
5267 pub fn snd_ctl_elem_id_malloc(ptr: *mut *mut snd_ctl_elem_id_t) -> ::core::ffi::c_int;
5268}
5269unsafe extern "C" {
5270 pub fn snd_ctl_elem_id_free(obj: *mut snd_ctl_elem_id_t);
5271}
5272unsafe extern "C" {
5273 pub fn snd_ctl_elem_id_clear(obj: *mut snd_ctl_elem_id_t);
5274}
5275unsafe extern "C" {
5276 pub fn snd_ctl_elem_id_copy(dst: *mut snd_ctl_elem_id_t, src: *const snd_ctl_elem_id_t);
5277}
5278unsafe extern "C" {
5279 pub fn snd_ctl_elem_id_compare_numid(
5280 id1: *const snd_ctl_elem_id_t,
5281 id2: *const snd_ctl_elem_id_t,
5282 ) -> ::core::ffi::c_int;
5283}
5284unsafe extern "C" {
5285 pub fn snd_ctl_elem_id_compare_set(
5286 id1: *const snd_ctl_elem_id_t,
5287 id2: *const snd_ctl_elem_id_t,
5288 ) -> ::core::ffi::c_int;
5289}
5290unsafe extern "C" {
5291 pub fn snd_ctl_elem_id_get_numid(obj: *const snd_ctl_elem_id_t) -> ::core::ffi::c_uint;
5292}
5293unsafe extern "C" {
5294 pub fn snd_ctl_elem_id_get_interface(obj: *const snd_ctl_elem_id_t) -> snd_ctl_elem_iface_t;
5295}
5296unsafe extern "C" {
5297 pub fn snd_ctl_elem_id_get_device(obj: *const snd_ctl_elem_id_t) -> ::core::ffi::c_uint;
5298}
5299unsafe extern "C" {
5300 pub fn snd_ctl_elem_id_get_subdevice(obj: *const snd_ctl_elem_id_t) -> ::core::ffi::c_uint;
5301}
5302unsafe extern "C" {
5303 pub fn snd_ctl_elem_id_get_name(obj: *const snd_ctl_elem_id_t) -> *const ::core::ffi::c_char;
5304}
5305unsafe extern "C" {
5306 pub fn snd_ctl_elem_id_get_index(obj: *const snd_ctl_elem_id_t) -> ::core::ffi::c_uint;
5307}
5308unsafe extern "C" {
5309 pub fn snd_ctl_elem_id_set_numid(obj: *mut snd_ctl_elem_id_t, val: ::core::ffi::c_uint);
5310}
5311unsafe extern "C" {
5312 pub fn snd_ctl_elem_id_set_interface(obj: *mut snd_ctl_elem_id_t, val: snd_ctl_elem_iface_t);
5313}
5314unsafe extern "C" {
5315 pub fn snd_ctl_elem_id_set_device(obj: *mut snd_ctl_elem_id_t, val: ::core::ffi::c_uint);
5316}
5317unsafe extern "C" {
5318 pub fn snd_ctl_elem_id_set_subdevice(obj: *mut snd_ctl_elem_id_t, val: ::core::ffi::c_uint);
5319}
5320unsafe extern "C" {
5321 pub fn snd_ctl_elem_id_set_name(obj: *mut snd_ctl_elem_id_t, val: *const ::core::ffi::c_char);
5322}
5323unsafe extern "C" {
5324 pub fn snd_ctl_elem_id_set_index(obj: *mut snd_ctl_elem_id_t, val: ::core::ffi::c_uint);
5325}
5326unsafe extern "C" {
5327 pub fn snd_ctl_card_info_sizeof() -> usize;
5328}
5329unsafe extern "C" {
5330 pub fn snd_ctl_card_info_malloc(ptr: *mut *mut snd_ctl_card_info_t) -> ::core::ffi::c_int;
5331}
5332unsafe extern "C" {
5333 pub fn snd_ctl_card_info_free(obj: *mut snd_ctl_card_info_t);
5334}
5335unsafe extern "C" {
5336 pub fn snd_ctl_card_info_clear(obj: *mut snd_ctl_card_info_t);
5337}
5338unsafe extern "C" {
5339 pub fn snd_ctl_card_info_copy(dst: *mut snd_ctl_card_info_t, src: *const snd_ctl_card_info_t);
5340}
5341unsafe extern "C" {
5342 pub fn snd_ctl_card_info_get_card(obj: *const snd_ctl_card_info_t) -> ::core::ffi::c_int;
5343}
5344unsafe extern "C" {
5345 pub fn snd_ctl_card_info_get_id(obj: *const snd_ctl_card_info_t) -> *const ::core::ffi::c_char;
5346}
5347unsafe extern "C" {
5348 pub fn snd_ctl_card_info_get_driver(
5349 obj: *const snd_ctl_card_info_t,
5350 ) -> *const ::core::ffi::c_char;
5351}
5352unsafe extern "C" {
5353 pub fn snd_ctl_card_info_get_name(
5354 obj: *const snd_ctl_card_info_t,
5355 ) -> *const ::core::ffi::c_char;
5356}
5357unsafe extern "C" {
5358 pub fn snd_ctl_card_info_get_longname(
5359 obj: *const snd_ctl_card_info_t,
5360 ) -> *const ::core::ffi::c_char;
5361}
5362unsafe extern "C" {
5363 pub fn snd_ctl_card_info_get_mixername(
5364 obj: *const snd_ctl_card_info_t,
5365 ) -> *const ::core::ffi::c_char;
5366}
5367unsafe extern "C" {
5368 pub fn snd_ctl_card_info_get_components(
5369 obj: *const snd_ctl_card_info_t,
5370 ) -> *const ::core::ffi::c_char;
5371}
5372unsafe extern "C" {
5373 pub fn snd_ctl_event_sizeof() -> usize;
5374}
5375unsafe extern "C" {
5376 pub fn snd_ctl_event_malloc(ptr: *mut *mut snd_ctl_event_t) -> ::core::ffi::c_int;
5377}
5378unsafe extern "C" {
5379 pub fn snd_ctl_event_free(obj: *mut snd_ctl_event_t);
5380}
5381unsafe extern "C" {
5382 pub fn snd_ctl_event_clear(obj: *mut snd_ctl_event_t);
5383}
5384unsafe extern "C" {
5385 pub fn snd_ctl_event_copy(dst: *mut snd_ctl_event_t, src: *const snd_ctl_event_t);
5386}
5387unsafe extern "C" {
5388 pub fn snd_ctl_event_get_type(obj: *const snd_ctl_event_t) -> snd_ctl_event_type_t;
5389}
5390unsafe extern "C" {
5391 pub fn snd_ctl_elem_list_sizeof() -> usize;
5392}
5393unsafe extern "C" {
5394 pub fn snd_ctl_elem_list_malloc(ptr: *mut *mut snd_ctl_elem_list_t) -> ::core::ffi::c_int;
5395}
5396unsafe extern "C" {
5397 pub fn snd_ctl_elem_list_free(obj: *mut snd_ctl_elem_list_t);
5398}
5399unsafe extern "C" {
5400 pub fn snd_ctl_elem_list_clear(obj: *mut snd_ctl_elem_list_t);
5401}
5402unsafe extern "C" {
5403 pub fn snd_ctl_elem_list_copy(dst: *mut snd_ctl_elem_list_t, src: *const snd_ctl_elem_list_t);
5404}
5405unsafe extern "C" {
5406 pub fn snd_ctl_elem_list_set_offset(obj: *mut snd_ctl_elem_list_t, val: ::core::ffi::c_uint);
5407}
5408unsafe extern "C" {
5409 pub fn snd_ctl_elem_list_get_used(obj: *const snd_ctl_elem_list_t) -> ::core::ffi::c_uint;
5410}
5411unsafe extern "C" {
5412 pub fn snd_ctl_elem_list_get_count(obj: *const snd_ctl_elem_list_t) -> ::core::ffi::c_uint;
5413}
5414unsafe extern "C" {
5415 pub fn snd_ctl_elem_list_get_id(
5416 obj: *const snd_ctl_elem_list_t,
5417 idx: ::core::ffi::c_uint,
5418 ptr: *mut snd_ctl_elem_id_t,
5419 );
5420}
5421unsafe extern "C" {
5422 pub fn snd_ctl_elem_list_get_numid(
5423 obj: *const snd_ctl_elem_list_t,
5424 idx: ::core::ffi::c_uint,
5425 ) -> ::core::ffi::c_uint;
5426}
5427unsafe extern "C" {
5428 pub fn snd_ctl_elem_list_get_interface(
5429 obj: *const snd_ctl_elem_list_t,
5430 idx: ::core::ffi::c_uint,
5431 ) -> snd_ctl_elem_iface_t;
5432}
5433unsafe extern "C" {
5434 pub fn snd_ctl_elem_list_get_device(
5435 obj: *const snd_ctl_elem_list_t,
5436 idx: ::core::ffi::c_uint,
5437 ) -> ::core::ffi::c_uint;
5438}
5439unsafe extern "C" {
5440 pub fn snd_ctl_elem_list_get_subdevice(
5441 obj: *const snd_ctl_elem_list_t,
5442 idx: ::core::ffi::c_uint,
5443 ) -> ::core::ffi::c_uint;
5444}
5445unsafe extern "C" {
5446 pub fn snd_ctl_elem_list_get_name(
5447 obj: *const snd_ctl_elem_list_t,
5448 idx: ::core::ffi::c_uint,
5449 ) -> *const ::core::ffi::c_char;
5450}
5451unsafe extern "C" {
5452 pub fn snd_ctl_elem_list_get_index(
5453 obj: *const snd_ctl_elem_list_t,
5454 idx: ::core::ffi::c_uint,
5455 ) -> ::core::ffi::c_uint;
5456}
5457unsafe extern "C" {
5458 pub fn snd_ctl_elem_info_sizeof() -> usize;
5459}
5460unsafe extern "C" {
5461 pub fn snd_ctl_elem_info_malloc(ptr: *mut *mut snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5462}
5463unsafe extern "C" {
5464 pub fn snd_ctl_elem_info_free(obj: *mut snd_ctl_elem_info_t);
5465}
5466unsafe extern "C" {
5467 pub fn snd_ctl_elem_info_clear(obj: *mut snd_ctl_elem_info_t);
5468}
5469unsafe extern "C" {
5470 pub fn snd_ctl_elem_info_copy(dst: *mut snd_ctl_elem_info_t, src: *const snd_ctl_elem_info_t);
5471}
5472unsafe extern "C" {
5473 pub fn snd_ctl_elem_info_get_type(obj: *const snd_ctl_elem_info_t) -> snd_ctl_elem_type_t;
5474}
5475unsafe extern "C" {
5476 pub fn snd_ctl_elem_info_is_readable(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5477}
5478unsafe extern "C" {
5479 pub fn snd_ctl_elem_info_is_writable(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5480}
5481unsafe extern "C" {
5482 pub fn snd_ctl_elem_info_is_volatile(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5483}
5484unsafe extern "C" {
5485 pub fn snd_ctl_elem_info_is_inactive(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5486}
5487unsafe extern "C" {
5488 pub fn snd_ctl_elem_info_is_locked(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5489}
5490unsafe extern "C" {
5491 pub fn snd_ctl_elem_info_is_tlv_readable(obj: *const snd_ctl_elem_info_t)
5492 -> ::core::ffi::c_int;
5493}
5494unsafe extern "C" {
5495 pub fn snd_ctl_elem_info_is_tlv_writable(obj: *const snd_ctl_elem_info_t)
5496 -> ::core::ffi::c_int;
5497}
5498unsafe extern "C" {
5499 pub fn snd_ctl_elem_info_is_tlv_commandable(
5500 obj: *const snd_ctl_elem_info_t,
5501 ) -> ::core::ffi::c_int;
5502}
5503unsafe extern "C" {
5504 pub fn snd_ctl_elem_info_is_owner(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5505}
5506unsafe extern "C" {
5507 pub fn snd_ctl_elem_info_is_user(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5508}
5509unsafe extern "C" {
5510 pub fn snd_ctl_elem_info_get_owner(obj: *const snd_ctl_elem_info_t) -> pid_t;
5511}
5512unsafe extern "C" {
5513 pub fn snd_ctl_elem_info_get_count(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_uint;
5514}
5515unsafe extern "C" {
5516 pub fn snd_ctl_elem_info_get_min(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_long;
5517}
5518unsafe extern "C" {
5519 pub fn snd_ctl_elem_info_get_max(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_long;
5520}
5521unsafe extern "C" {
5522 pub fn snd_ctl_elem_info_get_step(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_long;
5523}
5524unsafe extern "C" {
5525 pub fn snd_ctl_elem_info_get_min64(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_longlong;
5526}
5527unsafe extern "C" {
5528 pub fn snd_ctl_elem_info_get_max64(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_longlong;
5529}
5530unsafe extern "C" {
5531 pub fn snd_ctl_elem_info_get_step64(obj: *const snd_ctl_elem_info_t)
5532 -> ::core::ffi::c_longlong;
5533}
5534unsafe extern "C" {
5535 pub fn snd_ctl_elem_info_get_items(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_uint;
5536}
5537unsafe extern "C" {
5538 pub fn snd_ctl_elem_info_set_item(obj: *mut snd_ctl_elem_info_t, val: ::core::ffi::c_uint);
5539}
5540unsafe extern "C" {
5541 pub fn snd_ctl_elem_info_get_item_name(
5542 obj: *const snd_ctl_elem_info_t,
5543 ) -> *const ::core::ffi::c_char;
5544}
5545unsafe extern "C" {
5546 pub fn snd_ctl_elem_info_get_dimensions(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_int;
5547}
5548unsafe extern "C" {
5549 pub fn snd_ctl_elem_info_get_dimension(
5550 obj: *const snd_ctl_elem_info_t,
5551 idx: ::core::ffi::c_uint,
5552 ) -> ::core::ffi::c_int;
5553}
5554unsafe extern "C" {
5555 pub fn snd_ctl_elem_info_set_dimension(
5556 info: *mut snd_ctl_elem_info_t,
5557 dimension: *const ::core::ffi::c_int,
5558 ) -> ::core::ffi::c_int;
5559}
5560unsafe extern "C" {
5561 pub fn snd_ctl_elem_info_get_id(obj: *const snd_ctl_elem_info_t, ptr: *mut snd_ctl_elem_id_t);
5562}
5563unsafe extern "C" {
5564 pub fn snd_ctl_elem_info_get_numid(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_uint;
5565}
5566unsafe extern "C" {
5567 pub fn snd_ctl_elem_info_get_interface(obj: *const snd_ctl_elem_info_t)
5568 -> snd_ctl_elem_iface_t;
5569}
5570unsafe extern "C" {
5571 pub fn snd_ctl_elem_info_get_device(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_uint;
5572}
5573unsafe extern "C" {
5574 pub fn snd_ctl_elem_info_get_subdevice(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_uint;
5575}
5576unsafe extern "C" {
5577 pub fn snd_ctl_elem_info_get_name(
5578 obj: *const snd_ctl_elem_info_t,
5579 ) -> *const ::core::ffi::c_char;
5580}
5581unsafe extern "C" {
5582 pub fn snd_ctl_elem_info_get_index(obj: *const snd_ctl_elem_info_t) -> ::core::ffi::c_uint;
5583}
5584unsafe extern "C" {
5585 pub fn snd_ctl_elem_info_set_id(obj: *mut snd_ctl_elem_info_t, ptr: *const snd_ctl_elem_id_t);
5586}
5587unsafe extern "C" {
5588 pub fn snd_ctl_elem_info_set_numid(obj: *mut snd_ctl_elem_info_t, val: ::core::ffi::c_uint);
5589}
5590unsafe extern "C" {
5591 pub fn snd_ctl_elem_info_set_interface(
5592 obj: *mut snd_ctl_elem_info_t,
5593 val: snd_ctl_elem_iface_t,
5594 );
5595}
5596unsafe extern "C" {
5597 pub fn snd_ctl_elem_info_set_device(obj: *mut snd_ctl_elem_info_t, val: ::core::ffi::c_uint);
5598}
5599unsafe extern "C" {
5600 pub fn snd_ctl_elem_info_set_subdevice(obj: *mut snd_ctl_elem_info_t, val: ::core::ffi::c_uint);
5601}
5602unsafe extern "C" {
5603 pub fn snd_ctl_elem_info_set_name(
5604 obj: *mut snd_ctl_elem_info_t,
5605 val: *const ::core::ffi::c_char,
5606 );
5607}
5608unsafe extern "C" {
5609 pub fn snd_ctl_elem_info_set_index(obj: *mut snd_ctl_elem_info_t, val: ::core::ffi::c_uint);
5610}
5611unsafe extern "C" {
5612 pub fn snd_ctl_elem_info_set_read_write(
5613 obj: *mut snd_ctl_elem_info_t,
5614 rval: ::core::ffi::c_int,
5615 wval: ::core::ffi::c_int,
5616 );
5617}
5618unsafe extern "C" {
5619 pub fn snd_ctl_elem_info_set_tlv_read_write(
5620 obj: *mut snd_ctl_elem_info_t,
5621 rval: ::core::ffi::c_int,
5622 wval: ::core::ffi::c_int,
5623 );
5624}
5625unsafe extern "C" {
5626 pub fn snd_ctl_elem_info_set_inactive(obj: *mut snd_ctl_elem_info_t, val: ::core::ffi::c_int);
5627}
5628unsafe extern "C" {
5629 pub fn snd_ctl_add_integer_elem_set(
5630 ctl: *mut snd_ctl_t,
5631 info: *mut snd_ctl_elem_info_t,
5632 element_count: ::core::ffi::c_uint,
5633 member_count: ::core::ffi::c_uint,
5634 min: ::core::ffi::c_long,
5635 max: ::core::ffi::c_long,
5636 step: ::core::ffi::c_long,
5637 ) -> ::core::ffi::c_int;
5638}
5639unsafe extern "C" {
5640 pub fn snd_ctl_add_integer64_elem_set(
5641 ctl: *mut snd_ctl_t,
5642 info: *mut snd_ctl_elem_info_t,
5643 element_count: ::core::ffi::c_uint,
5644 member_count: ::core::ffi::c_uint,
5645 min: ::core::ffi::c_longlong,
5646 max: ::core::ffi::c_longlong,
5647 step: ::core::ffi::c_longlong,
5648 ) -> ::core::ffi::c_int;
5649}
5650unsafe extern "C" {
5651 pub fn snd_ctl_add_boolean_elem_set(
5652 ctl: *mut snd_ctl_t,
5653 info: *mut snd_ctl_elem_info_t,
5654 element_count: ::core::ffi::c_uint,
5655 member_count: ::core::ffi::c_uint,
5656 ) -> ::core::ffi::c_int;
5657}
5658unsafe extern "C" {
5659 pub fn snd_ctl_add_enumerated_elem_set(
5660 ctl: *mut snd_ctl_t,
5661 info: *mut snd_ctl_elem_info_t,
5662 element_count: ::core::ffi::c_uint,
5663 member_count: ::core::ffi::c_uint,
5664 items: ::core::ffi::c_uint,
5665 labels: *const *const ::core::ffi::c_char,
5666 ) -> ::core::ffi::c_int;
5667}
5668unsafe extern "C" {
5669 pub fn snd_ctl_add_bytes_elem_set(
5670 ctl: *mut snd_ctl_t,
5671 info: *mut snd_ctl_elem_info_t,
5672 element_count: ::core::ffi::c_uint,
5673 member_count: ::core::ffi::c_uint,
5674 ) -> ::core::ffi::c_int;
5675}
5676unsafe extern "C" {
5677 pub fn snd_ctl_elem_add_integer(
5678 ctl: *mut snd_ctl_t,
5679 id: *const snd_ctl_elem_id_t,
5680 count: ::core::ffi::c_uint,
5681 imin: ::core::ffi::c_long,
5682 imax: ::core::ffi::c_long,
5683 istep: ::core::ffi::c_long,
5684 ) -> ::core::ffi::c_int;
5685}
5686unsafe extern "C" {
5687 pub fn snd_ctl_elem_add_integer64(
5688 ctl: *mut snd_ctl_t,
5689 id: *const snd_ctl_elem_id_t,
5690 count: ::core::ffi::c_uint,
5691 imin: ::core::ffi::c_longlong,
5692 imax: ::core::ffi::c_longlong,
5693 istep: ::core::ffi::c_longlong,
5694 ) -> ::core::ffi::c_int;
5695}
5696unsafe extern "C" {
5697 pub fn snd_ctl_elem_add_boolean(
5698 ctl: *mut snd_ctl_t,
5699 id: *const snd_ctl_elem_id_t,
5700 count: ::core::ffi::c_uint,
5701 ) -> ::core::ffi::c_int;
5702}
5703unsafe extern "C" {
5704 pub fn snd_ctl_elem_add_enumerated(
5705 ctl: *mut snd_ctl_t,
5706 id: *const snd_ctl_elem_id_t,
5707 count: ::core::ffi::c_uint,
5708 items: ::core::ffi::c_uint,
5709 names: *const *const ::core::ffi::c_char,
5710 ) -> ::core::ffi::c_int;
5711}
5712unsafe extern "C" {
5713 pub fn snd_ctl_elem_add_iec958(
5714 ctl: *mut snd_ctl_t,
5715 id: *const snd_ctl_elem_id_t,
5716 ) -> ::core::ffi::c_int;
5717}
5718unsafe extern "C" {
5719 pub fn snd_ctl_elem_remove(
5720 ctl: *mut snd_ctl_t,
5721 id: *mut snd_ctl_elem_id_t,
5722 ) -> ::core::ffi::c_int;
5723}
5724unsafe extern "C" {
5725 pub fn snd_ctl_elem_value_sizeof() -> usize;
5726}
5727unsafe extern "C" {
5728 pub fn snd_ctl_elem_value_malloc(ptr: *mut *mut snd_ctl_elem_value_t) -> ::core::ffi::c_int;
5729}
5730unsafe extern "C" {
5731 pub fn snd_ctl_elem_value_free(obj: *mut snd_ctl_elem_value_t);
5732}
5733unsafe extern "C" {
5734 pub fn snd_ctl_elem_value_clear(obj: *mut snd_ctl_elem_value_t);
5735}
5736unsafe extern "C" {
5737 pub fn snd_ctl_elem_value_copy(
5738 dst: *mut snd_ctl_elem_value_t,
5739 src: *const snd_ctl_elem_value_t,
5740 );
5741}
5742unsafe extern "C" {
5743 pub fn snd_ctl_elem_value_compare(
5744 left: *mut snd_ctl_elem_value_t,
5745 right: *const snd_ctl_elem_value_t,
5746 ) -> ::core::ffi::c_int;
5747}
5748unsafe extern "C" {
5749 pub fn snd_ctl_elem_value_get_id(obj: *const snd_ctl_elem_value_t, ptr: *mut snd_ctl_elem_id_t);
5750}
5751unsafe extern "C" {
5752 pub fn snd_ctl_elem_value_get_numid(obj: *const snd_ctl_elem_value_t) -> ::core::ffi::c_uint;
5753}
5754unsafe extern "C" {
5755 pub fn snd_ctl_elem_value_get_interface(
5756 obj: *const snd_ctl_elem_value_t,
5757 ) -> snd_ctl_elem_iface_t;
5758}
5759unsafe extern "C" {
5760 pub fn snd_ctl_elem_value_get_device(obj: *const snd_ctl_elem_value_t) -> ::core::ffi::c_uint;
5761}
5762unsafe extern "C" {
5763 pub fn snd_ctl_elem_value_get_subdevice(
5764 obj: *const snd_ctl_elem_value_t,
5765 ) -> ::core::ffi::c_uint;
5766}
5767unsafe extern "C" {
5768 pub fn snd_ctl_elem_value_get_name(
5769 obj: *const snd_ctl_elem_value_t,
5770 ) -> *const ::core::ffi::c_char;
5771}
5772unsafe extern "C" {
5773 pub fn snd_ctl_elem_value_get_index(obj: *const snd_ctl_elem_value_t) -> ::core::ffi::c_uint;
5774}
5775unsafe extern "C" {
5776 pub fn snd_ctl_elem_value_set_id(obj: *mut snd_ctl_elem_value_t, ptr: *const snd_ctl_elem_id_t);
5777}
5778unsafe extern "C" {
5779 pub fn snd_ctl_elem_value_set_numid(obj: *mut snd_ctl_elem_value_t, val: ::core::ffi::c_uint);
5780}
5781unsafe extern "C" {
5782 pub fn snd_ctl_elem_value_set_interface(
5783 obj: *mut snd_ctl_elem_value_t,
5784 val: snd_ctl_elem_iface_t,
5785 );
5786}
5787unsafe extern "C" {
5788 pub fn snd_ctl_elem_value_set_device(obj: *mut snd_ctl_elem_value_t, val: ::core::ffi::c_uint);
5789}
5790unsafe extern "C" {
5791 pub fn snd_ctl_elem_value_set_subdevice(
5792 obj: *mut snd_ctl_elem_value_t,
5793 val: ::core::ffi::c_uint,
5794 );
5795}
5796unsafe extern "C" {
5797 pub fn snd_ctl_elem_value_set_name(
5798 obj: *mut snd_ctl_elem_value_t,
5799 val: *const ::core::ffi::c_char,
5800 );
5801}
5802unsafe extern "C" {
5803 pub fn snd_ctl_elem_value_set_index(obj: *mut snd_ctl_elem_value_t, val: ::core::ffi::c_uint);
5804}
5805unsafe extern "C" {
5806 pub fn snd_ctl_elem_value_get_boolean(
5807 obj: *const snd_ctl_elem_value_t,
5808 idx: ::core::ffi::c_uint,
5809 ) -> ::core::ffi::c_int;
5810}
5811unsafe extern "C" {
5812 pub fn snd_ctl_elem_value_get_integer(
5813 obj: *const snd_ctl_elem_value_t,
5814 idx: ::core::ffi::c_uint,
5815 ) -> ::core::ffi::c_long;
5816}
5817unsafe extern "C" {
5818 pub fn snd_ctl_elem_value_get_integer64(
5819 obj: *const snd_ctl_elem_value_t,
5820 idx: ::core::ffi::c_uint,
5821 ) -> ::core::ffi::c_longlong;
5822}
5823unsafe extern "C" {
5824 pub fn snd_ctl_elem_value_get_enumerated(
5825 obj: *const snd_ctl_elem_value_t,
5826 idx: ::core::ffi::c_uint,
5827 ) -> ::core::ffi::c_uint;
5828}
5829unsafe extern "C" {
5830 pub fn snd_ctl_elem_value_get_byte(
5831 obj: *const snd_ctl_elem_value_t,
5832 idx: ::core::ffi::c_uint,
5833 ) -> ::core::ffi::c_uchar;
5834}
5835unsafe extern "C" {
5836 pub fn snd_ctl_elem_value_set_boolean(
5837 obj: *mut snd_ctl_elem_value_t,
5838 idx: ::core::ffi::c_uint,
5839 val: ::core::ffi::c_long,
5840 );
5841}
5842unsafe extern "C" {
5843 pub fn snd_ctl_elem_value_set_integer(
5844 obj: *mut snd_ctl_elem_value_t,
5845 idx: ::core::ffi::c_uint,
5846 val: ::core::ffi::c_long,
5847 );
5848}
5849unsafe extern "C" {
5850 pub fn snd_ctl_elem_value_set_integer64(
5851 obj: *mut snd_ctl_elem_value_t,
5852 idx: ::core::ffi::c_uint,
5853 val: ::core::ffi::c_longlong,
5854 );
5855}
5856unsafe extern "C" {
5857 pub fn snd_ctl_elem_value_set_enumerated(
5858 obj: *mut snd_ctl_elem_value_t,
5859 idx: ::core::ffi::c_uint,
5860 val: ::core::ffi::c_uint,
5861 );
5862}
5863unsafe extern "C" {
5864 pub fn snd_ctl_elem_value_set_byte(
5865 obj: *mut snd_ctl_elem_value_t,
5866 idx: ::core::ffi::c_uint,
5867 val: ::core::ffi::c_uchar,
5868 );
5869}
5870unsafe extern "C" {
5871 pub fn snd_ctl_elem_set_bytes(
5872 obj: *mut snd_ctl_elem_value_t,
5873 data: *mut ::core::ffi::c_void,
5874 size: usize,
5875 );
5876}
5877unsafe extern "C" {
5878 pub fn snd_ctl_elem_value_get_bytes(
5879 obj: *const snd_ctl_elem_value_t,
5880 ) -> *const ::core::ffi::c_void;
5881}
5882unsafe extern "C" {
5883 pub fn snd_ctl_elem_value_get_iec958(
5884 obj: *const snd_ctl_elem_value_t,
5885 ptr: *mut snd_aes_iec958_t,
5886 );
5887}
5888unsafe extern "C" {
5889 pub fn snd_ctl_elem_value_set_iec958(
5890 obj: *mut snd_ctl_elem_value_t,
5891 ptr: *const snd_aes_iec958_t,
5892 );
5893}
5894unsafe extern "C" {
5895 pub fn snd_tlv_parse_dB_info(
5896 tlv: *mut ::core::ffi::c_uint,
5897 tlv_size: ::core::ffi::c_uint,
5898 db_tlvp: *mut *mut ::core::ffi::c_uint,
5899 ) -> ::core::ffi::c_int;
5900}
5901unsafe extern "C" {
5902 pub fn snd_tlv_get_dB_range(
5903 tlv: *mut ::core::ffi::c_uint,
5904 rangemin: ::core::ffi::c_long,
5905 rangemax: ::core::ffi::c_long,
5906 min: *mut ::core::ffi::c_long,
5907 max: *mut ::core::ffi::c_long,
5908 ) -> ::core::ffi::c_int;
5909}
5910unsafe extern "C" {
5911 pub fn snd_tlv_convert_to_dB(
5912 tlv: *mut ::core::ffi::c_uint,
5913 rangemin: ::core::ffi::c_long,
5914 rangemax: ::core::ffi::c_long,
5915 volume: ::core::ffi::c_long,
5916 db_gain: *mut ::core::ffi::c_long,
5917 ) -> ::core::ffi::c_int;
5918}
5919unsafe extern "C" {
5920 pub fn snd_tlv_convert_from_dB(
5921 tlv: *mut ::core::ffi::c_uint,
5922 rangemin: ::core::ffi::c_long,
5923 rangemax: ::core::ffi::c_long,
5924 db_gain: ::core::ffi::c_long,
5925 value: *mut ::core::ffi::c_long,
5926 xdir: ::core::ffi::c_int,
5927 ) -> ::core::ffi::c_int;
5928}
5929unsafe extern "C" {
5930 pub fn snd_ctl_get_dB_range(
5931 ctl: *mut snd_ctl_t,
5932 id: *const snd_ctl_elem_id_t,
5933 min: *mut ::core::ffi::c_long,
5934 max: *mut ::core::ffi::c_long,
5935 ) -> ::core::ffi::c_int;
5936}
5937unsafe extern "C" {
5938 pub fn snd_ctl_convert_to_dB(
5939 ctl: *mut snd_ctl_t,
5940 id: *const snd_ctl_elem_id_t,
5941 volume: ::core::ffi::c_long,
5942 db_gain: *mut ::core::ffi::c_long,
5943 ) -> ::core::ffi::c_int;
5944}
5945unsafe extern "C" {
5946 pub fn snd_ctl_convert_from_dB(
5947 ctl: *mut snd_ctl_t,
5948 id: *const snd_ctl_elem_id_t,
5949 db_gain: ::core::ffi::c_long,
5950 value: *mut ::core::ffi::c_long,
5951 xdir: ::core::ffi::c_int,
5952 ) -> ::core::ffi::c_int;
5953}
5954#[repr(C)]
5955#[derive(Debug, Copy, Clone)]
5956pub struct _snd_hctl_elem {
5957 _unused: [u8; 0],
5958}
5959pub type snd_hctl_elem_t = _snd_hctl_elem;
5960#[repr(C)]
5961#[derive(Debug, Copy, Clone)]
5962pub struct _snd_hctl {
5963 _unused: [u8; 0],
5964}
5965pub type snd_hctl_t = _snd_hctl;
5966pub type snd_hctl_compare_t = ::core::option::Option<
5967 unsafe extern "C" fn(
5968 e1: *const snd_hctl_elem_t,
5969 e2: *const snd_hctl_elem_t,
5970 ) -> ::core::ffi::c_int,
5971>;
5972unsafe extern "C" {
5973 pub fn snd_hctl_compare_fast(
5974 c1: *const snd_hctl_elem_t,
5975 c2: *const snd_hctl_elem_t,
5976 ) -> ::core::ffi::c_int;
5977}
5978pub type snd_hctl_callback_t = ::core::option::Option<
5979 unsafe extern "C" fn(
5980 hctl: *mut snd_hctl_t,
5981 mask: ::core::ffi::c_uint,
5982 elem: *mut snd_hctl_elem_t,
5983 ) -> ::core::ffi::c_int,
5984>;
5985pub type snd_hctl_elem_callback_t = ::core::option::Option<
5986 unsafe extern "C" fn(
5987 elem: *mut snd_hctl_elem_t,
5988 mask: ::core::ffi::c_uint,
5989 ) -> ::core::ffi::c_int,
5990>;
5991unsafe extern "C" {
5992 pub fn snd_hctl_open(
5993 hctl: *mut *mut snd_hctl_t,
5994 name: *const ::core::ffi::c_char,
5995 mode: ::core::ffi::c_int,
5996 ) -> ::core::ffi::c_int;
5997}
5998unsafe extern "C" {
5999 pub fn snd_hctl_open_ctl(
6000 hctlp: *mut *mut snd_hctl_t,
6001 ctl: *mut snd_ctl_t,
6002 ) -> ::core::ffi::c_int;
6003}
6004unsafe extern "C" {
6005 pub fn snd_hctl_close(hctl: *mut snd_hctl_t) -> ::core::ffi::c_int;
6006}
6007unsafe extern "C" {
6008 pub fn snd_hctl_nonblock(
6009 hctl: *mut snd_hctl_t,
6010 nonblock: ::core::ffi::c_int,
6011 ) -> ::core::ffi::c_int;
6012}
6013unsafe extern "C" {
6014 pub fn snd_hctl_poll_descriptors_count(hctl: *mut snd_hctl_t) -> ::core::ffi::c_int;
6015}
6016unsafe extern "C" {
6017 pub fn snd_hctl_poll_descriptors(
6018 hctl: *mut snd_hctl_t,
6019 pfds: *mut pollfd,
6020 space: ::core::ffi::c_uint,
6021 ) -> ::core::ffi::c_int;
6022}
6023unsafe extern "C" {
6024 pub fn snd_hctl_poll_descriptors_revents(
6025 ctl: *mut snd_hctl_t,
6026 pfds: *mut pollfd,
6027 nfds: ::core::ffi::c_uint,
6028 revents: *mut ::core::ffi::c_ushort,
6029 ) -> ::core::ffi::c_int;
6030}
6031unsafe extern "C" {
6032 pub fn snd_hctl_get_count(hctl: *mut snd_hctl_t) -> ::core::ffi::c_uint;
6033}
6034unsafe extern "C" {
6035 pub fn snd_hctl_set_compare(
6036 hctl: *mut snd_hctl_t,
6037 hsort: snd_hctl_compare_t,
6038 ) -> ::core::ffi::c_int;
6039}
6040unsafe extern "C" {
6041 pub fn snd_hctl_first_elem(hctl: *mut snd_hctl_t) -> *mut snd_hctl_elem_t;
6042}
6043unsafe extern "C" {
6044 pub fn snd_hctl_last_elem(hctl: *mut snd_hctl_t) -> *mut snd_hctl_elem_t;
6045}
6046unsafe extern "C" {
6047 pub fn snd_hctl_find_elem(
6048 hctl: *mut snd_hctl_t,
6049 id: *const snd_ctl_elem_id_t,
6050 ) -> *mut snd_hctl_elem_t;
6051}
6052unsafe extern "C" {
6053 pub fn snd_hctl_set_callback(hctl: *mut snd_hctl_t, callback: snd_hctl_callback_t);
6054}
6055unsafe extern "C" {
6056 pub fn snd_hctl_set_callback_private(hctl: *mut snd_hctl_t, data: *mut ::core::ffi::c_void);
6057}
6058unsafe extern "C" {
6059 pub fn snd_hctl_get_callback_private(hctl: *mut snd_hctl_t) -> *mut ::core::ffi::c_void;
6060}
6061unsafe extern "C" {
6062 pub fn snd_hctl_load(hctl: *mut snd_hctl_t) -> ::core::ffi::c_int;
6063}
6064unsafe extern "C" {
6065 pub fn snd_hctl_free(hctl: *mut snd_hctl_t) -> ::core::ffi::c_int;
6066}
6067unsafe extern "C" {
6068 pub fn snd_hctl_handle_events(hctl: *mut snd_hctl_t) -> ::core::ffi::c_int;
6069}
6070unsafe extern "C" {
6071 pub fn snd_hctl_name(hctl: *mut snd_hctl_t) -> *const ::core::ffi::c_char;
6072}
6073unsafe extern "C" {
6074 pub fn snd_hctl_wait(hctl: *mut snd_hctl_t, timeout: ::core::ffi::c_int) -> ::core::ffi::c_int;
6075}
6076unsafe extern "C" {
6077 pub fn snd_hctl_ctl(hctl: *mut snd_hctl_t) -> *mut snd_ctl_t;
6078}
6079unsafe extern "C" {
6080 pub fn snd_hctl_elem_next(elem: *mut snd_hctl_elem_t) -> *mut snd_hctl_elem_t;
6081}
6082unsafe extern "C" {
6083 pub fn snd_hctl_elem_prev(elem: *mut snd_hctl_elem_t) -> *mut snd_hctl_elem_t;
6084}
6085unsafe extern "C" {
6086 pub fn snd_hctl_elem_info(
6087 elem: *mut snd_hctl_elem_t,
6088 info: *mut snd_ctl_elem_info_t,
6089 ) -> ::core::ffi::c_int;
6090}
6091unsafe extern "C" {
6092 pub fn snd_hctl_elem_read(
6093 elem: *mut snd_hctl_elem_t,
6094 value: *mut snd_ctl_elem_value_t,
6095 ) -> ::core::ffi::c_int;
6096}
6097unsafe extern "C" {
6098 pub fn snd_hctl_elem_write(
6099 elem: *mut snd_hctl_elem_t,
6100 value: *mut snd_ctl_elem_value_t,
6101 ) -> ::core::ffi::c_int;
6102}
6103unsafe extern "C" {
6104 pub fn snd_hctl_elem_tlv_read(
6105 elem: *mut snd_hctl_elem_t,
6106 tlv: *mut ::core::ffi::c_uint,
6107 tlv_size: ::core::ffi::c_uint,
6108 ) -> ::core::ffi::c_int;
6109}
6110unsafe extern "C" {
6111 pub fn snd_hctl_elem_tlv_write(
6112 elem: *mut snd_hctl_elem_t,
6113 tlv: *const ::core::ffi::c_uint,
6114 ) -> ::core::ffi::c_int;
6115}
6116unsafe extern "C" {
6117 pub fn snd_hctl_elem_tlv_command(
6118 elem: *mut snd_hctl_elem_t,
6119 tlv: *const ::core::ffi::c_uint,
6120 ) -> ::core::ffi::c_int;
6121}
6122unsafe extern "C" {
6123 pub fn snd_hctl_elem_get_hctl(elem: *mut snd_hctl_elem_t) -> *mut snd_hctl_t;
6124}
6125unsafe extern "C" {
6126 pub fn snd_hctl_elem_get_id(obj: *const snd_hctl_elem_t, ptr: *mut snd_ctl_elem_id_t);
6127}
6128unsafe extern "C" {
6129 pub fn snd_hctl_elem_get_numid(obj: *const snd_hctl_elem_t) -> ::core::ffi::c_uint;
6130}
6131unsafe extern "C" {
6132 pub fn snd_hctl_elem_get_interface(obj: *const snd_hctl_elem_t) -> snd_ctl_elem_iface_t;
6133}
6134unsafe extern "C" {
6135 pub fn snd_hctl_elem_get_device(obj: *const snd_hctl_elem_t) -> ::core::ffi::c_uint;
6136}
6137unsafe extern "C" {
6138 pub fn snd_hctl_elem_get_subdevice(obj: *const snd_hctl_elem_t) -> ::core::ffi::c_uint;
6139}
6140unsafe extern "C" {
6141 pub fn snd_hctl_elem_get_name(obj: *const snd_hctl_elem_t) -> *const ::core::ffi::c_char;
6142}
6143unsafe extern "C" {
6144 pub fn snd_hctl_elem_get_index(obj: *const snd_hctl_elem_t) -> ::core::ffi::c_uint;
6145}
6146unsafe extern "C" {
6147 pub fn snd_hctl_elem_set_callback(obj: *mut snd_hctl_elem_t, val: snd_hctl_elem_callback_t);
6148}
6149unsafe extern "C" {
6150 pub fn snd_hctl_elem_get_callback_private(
6151 obj: *const snd_hctl_elem_t,
6152 ) -> *mut ::core::ffi::c_void;
6153}
6154unsafe extern "C" {
6155 pub fn snd_hctl_elem_set_callback_private(
6156 obj: *mut snd_hctl_elem_t,
6157 val: *mut ::core::ffi::c_void,
6158 );
6159}
6160unsafe extern "C" {
6161 pub fn snd_sctl_build(
6162 ctl: *mut *mut snd_sctl_t,
6163 handle: *mut snd_ctl_t,
6164 config: *mut snd_config_t,
6165 private_data: *mut snd_config_t,
6166 mode: ::core::ffi::c_int,
6167 ) -> ::core::ffi::c_int;
6168}
6169unsafe extern "C" {
6170 pub fn snd_sctl_free(handle: *mut snd_sctl_t) -> ::core::ffi::c_int;
6171}
6172unsafe extern "C" {
6173 pub fn snd_sctl_install(handle: *mut snd_sctl_t) -> ::core::ffi::c_int;
6174}
6175unsafe extern "C" {
6176 pub fn snd_sctl_remove(handle: *mut snd_sctl_t) -> ::core::ffi::c_int;
6177}
6178unsafe extern "C" {
6179 pub fn snd_device_name_hint(
6180 card: ::core::ffi::c_int,
6181 iface: *const ::core::ffi::c_char,
6182 hints: *mut *mut *mut ::core::ffi::c_void,
6183 ) -> ::core::ffi::c_int;
6184}
6185unsafe extern "C" {
6186 pub fn snd_device_name_free_hint(hints: *mut *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
6187}
6188unsafe extern "C" {
6189 pub fn snd_device_name_get_hint(
6190 hint: *const ::core::ffi::c_void,
6191 id: *const ::core::ffi::c_char,
6192 ) -> *mut ::core::ffi::c_char;
6193}
6194#[repr(C)]
6195#[derive(Debug, Copy, Clone)]
6196pub struct _snd_mixer {
6197 _unused: [u8; 0],
6198}
6199pub type snd_mixer_t = _snd_mixer;
6200#[repr(C)]
6201#[derive(Debug, Copy, Clone)]
6202pub struct _snd_mixer_class {
6203 _unused: [u8; 0],
6204}
6205pub type snd_mixer_class_t = _snd_mixer_class;
6206#[repr(C)]
6207#[derive(Debug, Copy, Clone)]
6208pub struct _snd_mixer_elem {
6209 _unused: [u8; 0],
6210}
6211pub type snd_mixer_elem_t = _snd_mixer_elem;
6212pub type snd_mixer_callback_t = ::core::option::Option<
6213 unsafe extern "C" fn(
6214 ctl: *mut snd_mixer_t,
6215 mask: ::core::ffi::c_uint,
6216 elem: *mut snd_mixer_elem_t,
6217 ) -> ::core::ffi::c_int,
6218>;
6219pub type snd_mixer_elem_callback_t = ::core::option::Option<
6220 unsafe extern "C" fn(
6221 elem: *mut snd_mixer_elem_t,
6222 mask: ::core::ffi::c_uint,
6223 ) -> ::core::ffi::c_int,
6224>;
6225pub type snd_mixer_compare_t = ::core::option::Option<
6226 unsafe extern "C" fn(
6227 e1: *const snd_mixer_elem_t,
6228 e2: *const snd_mixer_elem_t,
6229 ) -> ::core::ffi::c_int,
6230>;
6231pub type snd_mixer_event_t = ::core::option::Option<
6232 unsafe extern "C" fn(
6233 class_: *mut snd_mixer_class_t,
6234 mask: ::core::ffi::c_uint,
6235 helem: *mut snd_hctl_elem_t,
6236 melem: *mut snd_mixer_elem_t,
6237 ) -> ::core::ffi::c_int,
6238>;
6239pub const SND_MIXER_ELEM_SIMPLE: _snd_mixer_elem_type = 0;
6240pub const SND_MIXER_ELEM_LAST: _snd_mixer_elem_type = 0;
6241pub type _snd_mixer_elem_type = ::core::ffi::c_uint;
6242pub use self::_snd_mixer_elem_type as snd_mixer_elem_type_t;
6243unsafe extern "C" {
6244 pub fn snd_mixer_open(
6245 mixer: *mut *mut snd_mixer_t,
6246 mode: ::core::ffi::c_int,
6247 ) -> ::core::ffi::c_int;
6248}
6249unsafe extern "C" {
6250 pub fn snd_mixer_close(mixer: *mut snd_mixer_t) -> ::core::ffi::c_int;
6251}
6252unsafe extern "C" {
6253 pub fn snd_mixer_first_elem(mixer: *mut snd_mixer_t) -> *mut snd_mixer_elem_t;
6254}
6255unsafe extern "C" {
6256 pub fn snd_mixer_last_elem(mixer: *mut snd_mixer_t) -> *mut snd_mixer_elem_t;
6257}
6258unsafe extern "C" {
6259 pub fn snd_mixer_handle_events(mixer: *mut snd_mixer_t) -> ::core::ffi::c_int;
6260}
6261unsafe extern "C" {
6262 pub fn snd_mixer_attach(
6263 mixer: *mut snd_mixer_t,
6264 name: *const ::core::ffi::c_char,
6265 ) -> ::core::ffi::c_int;
6266}
6267unsafe extern "C" {
6268 pub fn snd_mixer_attach_hctl(
6269 mixer: *mut snd_mixer_t,
6270 hctl: *mut snd_hctl_t,
6271 ) -> ::core::ffi::c_int;
6272}
6273unsafe extern "C" {
6274 pub fn snd_mixer_detach(
6275 mixer: *mut snd_mixer_t,
6276 name: *const ::core::ffi::c_char,
6277 ) -> ::core::ffi::c_int;
6278}
6279unsafe extern "C" {
6280 pub fn snd_mixer_detach_hctl(
6281 mixer: *mut snd_mixer_t,
6282 hctl: *mut snd_hctl_t,
6283 ) -> ::core::ffi::c_int;
6284}
6285unsafe extern "C" {
6286 pub fn snd_mixer_get_hctl(
6287 mixer: *mut snd_mixer_t,
6288 name: *const ::core::ffi::c_char,
6289 hctl: *mut *mut snd_hctl_t,
6290 ) -> ::core::ffi::c_int;
6291}
6292unsafe extern "C" {
6293 pub fn snd_mixer_poll_descriptors_count(mixer: *mut snd_mixer_t) -> ::core::ffi::c_int;
6294}
6295unsafe extern "C" {
6296 pub fn snd_mixer_poll_descriptors(
6297 mixer: *mut snd_mixer_t,
6298 pfds: *mut pollfd,
6299 space: ::core::ffi::c_uint,
6300 ) -> ::core::ffi::c_int;
6301}
6302unsafe extern "C" {
6303 pub fn snd_mixer_poll_descriptors_revents(
6304 mixer: *mut snd_mixer_t,
6305 pfds: *mut pollfd,
6306 nfds: ::core::ffi::c_uint,
6307 revents: *mut ::core::ffi::c_ushort,
6308 ) -> ::core::ffi::c_int;
6309}
6310unsafe extern "C" {
6311 pub fn snd_mixer_load(mixer: *mut snd_mixer_t) -> ::core::ffi::c_int;
6312}
6313unsafe extern "C" {
6314 pub fn snd_mixer_free(mixer: *mut snd_mixer_t);
6315}
6316unsafe extern "C" {
6317 pub fn snd_mixer_wait(
6318 mixer: *mut snd_mixer_t,
6319 timeout: ::core::ffi::c_int,
6320 ) -> ::core::ffi::c_int;
6321}
6322unsafe extern "C" {
6323 pub fn snd_mixer_set_compare(
6324 mixer: *mut snd_mixer_t,
6325 msort: snd_mixer_compare_t,
6326 ) -> ::core::ffi::c_int;
6327}
6328unsafe extern "C" {
6329 pub fn snd_mixer_set_callback(obj: *mut snd_mixer_t, val: snd_mixer_callback_t);
6330}
6331unsafe extern "C" {
6332 pub fn snd_mixer_get_callback_private(obj: *const snd_mixer_t) -> *mut ::core::ffi::c_void;
6333}
6334unsafe extern "C" {
6335 pub fn snd_mixer_set_callback_private(obj: *mut snd_mixer_t, val: *mut ::core::ffi::c_void);
6336}
6337unsafe extern "C" {
6338 pub fn snd_mixer_get_count(obj: *const snd_mixer_t) -> ::core::ffi::c_uint;
6339}
6340unsafe extern "C" {
6341 pub fn snd_mixer_class_unregister(clss: *mut snd_mixer_class_t) -> ::core::ffi::c_int;
6342}
6343unsafe extern "C" {
6344 pub fn snd_mixer_elem_next(elem: *mut snd_mixer_elem_t) -> *mut snd_mixer_elem_t;
6345}
6346unsafe extern "C" {
6347 pub fn snd_mixer_elem_prev(elem: *mut snd_mixer_elem_t) -> *mut snd_mixer_elem_t;
6348}
6349unsafe extern "C" {
6350 pub fn snd_mixer_elem_set_callback(obj: *mut snd_mixer_elem_t, val: snd_mixer_elem_callback_t);
6351}
6352unsafe extern "C" {
6353 pub fn snd_mixer_elem_get_callback_private(
6354 obj: *const snd_mixer_elem_t,
6355 ) -> *mut ::core::ffi::c_void;
6356}
6357unsafe extern "C" {
6358 pub fn snd_mixer_elem_set_callback_private(
6359 obj: *mut snd_mixer_elem_t,
6360 val: *mut ::core::ffi::c_void,
6361 );
6362}
6363unsafe extern "C" {
6364 pub fn snd_mixer_elem_get_type(obj: *const snd_mixer_elem_t) -> snd_mixer_elem_type_t;
6365}
6366unsafe extern "C" {
6367 pub fn snd_mixer_class_register(
6368 class_: *mut snd_mixer_class_t,
6369 mixer: *mut snd_mixer_t,
6370 ) -> ::core::ffi::c_int;
6371}
6372unsafe extern "C" {
6373 pub fn snd_mixer_elem_new(
6374 elem: *mut *mut snd_mixer_elem_t,
6375 type_: snd_mixer_elem_type_t,
6376 compare_weight: ::core::ffi::c_int,
6377 private_data: *mut ::core::ffi::c_void,
6378 private_free: ::core::option::Option<unsafe extern "C" fn(elem: *mut snd_mixer_elem_t)>,
6379 ) -> ::core::ffi::c_int;
6380}
6381unsafe extern "C" {
6382 pub fn snd_mixer_elem_add(
6383 elem: *mut snd_mixer_elem_t,
6384 class_: *mut snd_mixer_class_t,
6385 ) -> ::core::ffi::c_int;
6386}
6387unsafe extern "C" {
6388 pub fn snd_mixer_elem_remove(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6389}
6390unsafe extern "C" {
6391 pub fn snd_mixer_elem_free(elem: *mut snd_mixer_elem_t);
6392}
6393unsafe extern "C" {
6394 pub fn snd_mixer_elem_info(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6395}
6396unsafe extern "C" {
6397 pub fn snd_mixer_elem_value(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6398}
6399unsafe extern "C" {
6400 pub fn snd_mixer_elem_attach(
6401 melem: *mut snd_mixer_elem_t,
6402 helem: *mut snd_hctl_elem_t,
6403 ) -> ::core::ffi::c_int;
6404}
6405unsafe extern "C" {
6406 pub fn snd_mixer_elem_detach(
6407 melem: *mut snd_mixer_elem_t,
6408 helem: *mut snd_hctl_elem_t,
6409 ) -> ::core::ffi::c_int;
6410}
6411unsafe extern "C" {
6412 pub fn snd_mixer_elem_empty(melem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6413}
6414unsafe extern "C" {
6415 pub fn snd_mixer_elem_get_private(melem: *const snd_mixer_elem_t) -> *mut ::core::ffi::c_void;
6416}
6417unsafe extern "C" {
6418 pub fn snd_mixer_class_sizeof() -> usize;
6419}
6420unsafe extern "C" {
6421 pub fn snd_mixer_class_malloc(ptr: *mut *mut snd_mixer_class_t) -> ::core::ffi::c_int;
6422}
6423unsafe extern "C" {
6424 pub fn snd_mixer_class_free(obj: *mut snd_mixer_class_t);
6425}
6426unsafe extern "C" {
6427 pub fn snd_mixer_class_copy(dst: *mut snd_mixer_class_t, src: *const snd_mixer_class_t);
6428}
6429unsafe extern "C" {
6430 pub fn snd_mixer_class_get_mixer(class_: *const snd_mixer_class_t) -> *mut snd_mixer_t;
6431}
6432unsafe extern "C" {
6433 pub fn snd_mixer_class_get_event(class_: *const snd_mixer_class_t) -> snd_mixer_event_t;
6434}
6435unsafe extern "C" {
6436 pub fn snd_mixer_class_get_private(
6437 class_: *const snd_mixer_class_t,
6438 ) -> *mut ::core::ffi::c_void;
6439}
6440unsafe extern "C" {
6441 pub fn snd_mixer_class_get_compare(class_: *const snd_mixer_class_t) -> snd_mixer_compare_t;
6442}
6443unsafe extern "C" {
6444 pub fn snd_mixer_class_set_event(
6445 class_: *mut snd_mixer_class_t,
6446 event: snd_mixer_event_t,
6447 ) -> ::core::ffi::c_int;
6448}
6449unsafe extern "C" {
6450 pub fn snd_mixer_class_set_private(
6451 class_: *mut snd_mixer_class_t,
6452 private_data: *mut ::core::ffi::c_void,
6453 ) -> ::core::ffi::c_int;
6454}
6455unsafe extern "C" {
6456 pub fn snd_mixer_class_set_private_free(
6457 class_: *mut snd_mixer_class_t,
6458 private_free: ::core::option::Option<unsafe extern "C" fn(arg1: *mut snd_mixer_class_t)>,
6459 ) -> ::core::ffi::c_int;
6460}
6461unsafe extern "C" {
6462 pub fn snd_mixer_class_set_compare(
6463 class_: *mut snd_mixer_class_t,
6464 compare: snd_mixer_compare_t,
6465 ) -> ::core::ffi::c_int;
6466}
6467pub const SND_MIXER_SCHN_UNKNOWN: _snd_mixer_selem_channel_id = -1;
6468pub const SND_MIXER_SCHN_FRONT_LEFT: _snd_mixer_selem_channel_id = 0;
6469pub const SND_MIXER_SCHN_FRONT_RIGHT: _snd_mixer_selem_channel_id = 1;
6470pub const SND_MIXER_SCHN_REAR_LEFT: _snd_mixer_selem_channel_id = 2;
6471pub const SND_MIXER_SCHN_REAR_RIGHT: _snd_mixer_selem_channel_id = 3;
6472pub const SND_MIXER_SCHN_FRONT_CENTER: _snd_mixer_selem_channel_id = 4;
6473pub const SND_MIXER_SCHN_WOOFER: _snd_mixer_selem_channel_id = 5;
6474pub const SND_MIXER_SCHN_SIDE_LEFT: _snd_mixer_selem_channel_id = 6;
6475pub const SND_MIXER_SCHN_SIDE_RIGHT: _snd_mixer_selem_channel_id = 7;
6476pub const SND_MIXER_SCHN_REAR_CENTER: _snd_mixer_selem_channel_id = 8;
6477pub const SND_MIXER_SCHN_LAST: _snd_mixer_selem_channel_id = 31;
6478pub const SND_MIXER_SCHN_MONO: _snd_mixer_selem_channel_id = 0;
6479pub type _snd_mixer_selem_channel_id = ::core::ffi::c_int;
6480pub use self::_snd_mixer_selem_channel_id as snd_mixer_selem_channel_id_t;
6481pub const SND_MIXER_SABSTRACT_NONE: snd_mixer_selem_regopt_abstract = 0;
6482pub const SND_MIXER_SABSTRACT_BASIC: snd_mixer_selem_regopt_abstract = 1;
6483pub type snd_mixer_selem_regopt_abstract = ::core::ffi::c_uint;
6484#[repr(C)]
6485#[derive(Debug, Copy, Clone)]
6486pub struct snd_mixer_selem_regopt {
6487 pub ver: ::core::ffi::c_int,
6488 pub abstract_: snd_mixer_selem_regopt_abstract,
6489 pub device: *const ::core::ffi::c_char,
6490 pub playback_pcm: *mut snd_pcm_t,
6491 pub capture_pcm: *mut snd_pcm_t,
6492}
6493#[repr(C)]
6494#[derive(Debug, Copy, Clone)]
6495pub struct _snd_mixer_selem_id {
6496 _unused: [u8; 0],
6497}
6498pub type snd_mixer_selem_id_t = _snd_mixer_selem_id;
6499unsafe extern "C" {
6500 pub fn snd_mixer_selem_channel_name(
6501 channel: snd_mixer_selem_channel_id_t,
6502 ) -> *const ::core::ffi::c_char;
6503}
6504unsafe extern "C" {
6505 pub fn snd_mixer_selem_register(
6506 mixer: *mut snd_mixer_t,
6507 options: *mut snd_mixer_selem_regopt,
6508 classp: *mut *mut snd_mixer_class_t,
6509 ) -> ::core::ffi::c_int;
6510}
6511unsafe extern "C" {
6512 pub fn snd_mixer_selem_get_id(element: *mut snd_mixer_elem_t, id: *mut snd_mixer_selem_id_t);
6513}
6514unsafe extern "C" {
6515 pub fn snd_mixer_selem_get_name(elem: *mut snd_mixer_elem_t) -> *const ::core::ffi::c_char;
6516}
6517unsafe extern "C" {
6518 pub fn snd_mixer_selem_get_index(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_uint;
6519}
6520unsafe extern "C" {
6521 pub fn snd_mixer_find_selem(
6522 mixer: *mut snd_mixer_t,
6523 id: *const snd_mixer_selem_id_t,
6524 ) -> *mut snd_mixer_elem_t;
6525}
6526unsafe extern "C" {
6527 pub fn snd_mixer_selem_is_active(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6528}
6529unsafe extern "C" {
6530 pub fn snd_mixer_selem_is_playback_mono(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6531}
6532unsafe extern "C" {
6533 pub fn snd_mixer_selem_has_playback_channel(
6534 obj: *mut snd_mixer_elem_t,
6535 channel: snd_mixer_selem_channel_id_t,
6536 ) -> ::core::ffi::c_int;
6537}
6538unsafe extern "C" {
6539 pub fn snd_mixer_selem_is_capture_mono(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6540}
6541unsafe extern "C" {
6542 pub fn snd_mixer_selem_has_capture_channel(
6543 obj: *mut snd_mixer_elem_t,
6544 channel: snd_mixer_selem_channel_id_t,
6545 ) -> ::core::ffi::c_int;
6546}
6547unsafe extern "C" {
6548 pub fn snd_mixer_selem_get_capture_group(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6549}
6550unsafe extern "C" {
6551 pub fn snd_mixer_selem_has_common_volume(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6552}
6553unsafe extern "C" {
6554 pub fn snd_mixer_selem_has_playback_volume(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6555}
6556unsafe extern "C" {
6557 pub fn snd_mixer_selem_has_playback_volume_joined(
6558 elem: *mut snd_mixer_elem_t,
6559 ) -> ::core::ffi::c_int;
6560}
6561unsafe extern "C" {
6562 pub fn snd_mixer_selem_has_capture_volume(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6563}
6564unsafe extern "C" {
6565 pub fn snd_mixer_selem_has_capture_volume_joined(
6566 elem: *mut snd_mixer_elem_t,
6567 ) -> ::core::ffi::c_int;
6568}
6569unsafe extern "C" {
6570 pub fn snd_mixer_selem_has_common_switch(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6571}
6572unsafe extern "C" {
6573 pub fn snd_mixer_selem_has_playback_switch(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6574}
6575unsafe extern "C" {
6576 pub fn snd_mixer_selem_has_playback_switch_joined(
6577 elem: *mut snd_mixer_elem_t,
6578 ) -> ::core::ffi::c_int;
6579}
6580unsafe extern "C" {
6581 pub fn snd_mixer_selem_has_capture_switch(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6582}
6583unsafe extern "C" {
6584 pub fn snd_mixer_selem_has_capture_switch_joined(
6585 elem: *mut snd_mixer_elem_t,
6586 ) -> ::core::ffi::c_int;
6587}
6588unsafe extern "C" {
6589 pub fn snd_mixer_selem_has_capture_switch_exclusive(
6590 elem: *mut snd_mixer_elem_t,
6591 ) -> ::core::ffi::c_int;
6592}
6593unsafe extern "C" {
6594 pub fn snd_mixer_selem_ask_playback_vol_dB(
6595 elem: *mut snd_mixer_elem_t,
6596 value: ::core::ffi::c_long,
6597 dBvalue: *mut ::core::ffi::c_long,
6598 ) -> ::core::ffi::c_int;
6599}
6600unsafe extern "C" {
6601 pub fn snd_mixer_selem_ask_capture_vol_dB(
6602 elem: *mut snd_mixer_elem_t,
6603 value: ::core::ffi::c_long,
6604 dBvalue: *mut ::core::ffi::c_long,
6605 ) -> ::core::ffi::c_int;
6606}
6607unsafe extern "C" {
6608 pub fn snd_mixer_selem_ask_playback_dB_vol(
6609 elem: *mut snd_mixer_elem_t,
6610 dBvalue: ::core::ffi::c_long,
6611 dir: ::core::ffi::c_int,
6612 value: *mut ::core::ffi::c_long,
6613 ) -> ::core::ffi::c_int;
6614}
6615unsafe extern "C" {
6616 pub fn snd_mixer_selem_ask_capture_dB_vol(
6617 elem: *mut snd_mixer_elem_t,
6618 dBvalue: ::core::ffi::c_long,
6619 dir: ::core::ffi::c_int,
6620 value: *mut ::core::ffi::c_long,
6621 ) -> ::core::ffi::c_int;
6622}
6623unsafe extern "C" {
6624 pub fn snd_mixer_selem_get_playback_volume(
6625 elem: *mut snd_mixer_elem_t,
6626 channel: snd_mixer_selem_channel_id_t,
6627 value: *mut ::core::ffi::c_long,
6628 ) -> ::core::ffi::c_int;
6629}
6630unsafe extern "C" {
6631 pub fn snd_mixer_selem_get_capture_volume(
6632 elem: *mut snd_mixer_elem_t,
6633 channel: snd_mixer_selem_channel_id_t,
6634 value: *mut ::core::ffi::c_long,
6635 ) -> ::core::ffi::c_int;
6636}
6637unsafe extern "C" {
6638 pub fn snd_mixer_selem_get_playback_dB(
6639 elem: *mut snd_mixer_elem_t,
6640 channel: snd_mixer_selem_channel_id_t,
6641 value: *mut ::core::ffi::c_long,
6642 ) -> ::core::ffi::c_int;
6643}
6644unsafe extern "C" {
6645 pub fn snd_mixer_selem_get_capture_dB(
6646 elem: *mut snd_mixer_elem_t,
6647 channel: snd_mixer_selem_channel_id_t,
6648 value: *mut ::core::ffi::c_long,
6649 ) -> ::core::ffi::c_int;
6650}
6651unsafe extern "C" {
6652 pub fn snd_mixer_selem_get_playback_switch(
6653 elem: *mut snd_mixer_elem_t,
6654 channel: snd_mixer_selem_channel_id_t,
6655 value: *mut ::core::ffi::c_int,
6656 ) -> ::core::ffi::c_int;
6657}
6658unsafe extern "C" {
6659 pub fn snd_mixer_selem_get_capture_switch(
6660 elem: *mut snd_mixer_elem_t,
6661 channel: snd_mixer_selem_channel_id_t,
6662 value: *mut ::core::ffi::c_int,
6663 ) -> ::core::ffi::c_int;
6664}
6665unsafe extern "C" {
6666 pub fn snd_mixer_selem_set_playback_volume(
6667 elem: *mut snd_mixer_elem_t,
6668 channel: snd_mixer_selem_channel_id_t,
6669 value: ::core::ffi::c_long,
6670 ) -> ::core::ffi::c_int;
6671}
6672unsafe extern "C" {
6673 pub fn snd_mixer_selem_set_capture_volume(
6674 elem: *mut snd_mixer_elem_t,
6675 channel: snd_mixer_selem_channel_id_t,
6676 value: ::core::ffi::c_long,
6677 ) -> ::core::ffi::c_int;
6678}
6679unsafe extern "C" {
6680 pub fn snd_mixer_selem_set_playback_dB(
6681 elem: *mut snd_mixer_elem_t,
6682 channel: snd_mixer_selem_channel_id_t,
6683 value: ::core::ffi::c_long,
6684 dir: ::core::ffi::c_int,
6685 ) -> ::core::ffi::c_int;
6686}
6687unsafe extern "C" {
6688 pub fn snd_mixer_selem_set_capture_dB(
6689 elem: *mut snd_mixer_elem_t,
6690 channel: snd_mixer_selem_channel_id_t,
6691 value: ::core::ffi::c_long,
6692 dir: ::core::ffi::c_int,
6693 ) -> ::core::ffi::c_int;
6694}
6695unsafe extern "C" {
6696 pub fn snd_mixer_selem_set_playback_volume_all(
6697 elem: *mut snd_mixer_elem_t,
6698 value: ::core::ffi::c_long,
6699 ) -> ::core::ffi::c_int;
6700}
6701unsafe extern "C" {
6702 pub fn snd_mixer_selem_set_capture_volume_all(
6703 elem: *mut snd_mixer_elem_t,
6704 value: ::core::ffi::c_long,
6705 ) -> ::core::ffi::c_int;
6706}
6707unsafe extern "C" {
6708 pub fn snd_mixer_selem_set_playback_dB_all(
6709 elem: *mut snd_mixer_elem_t,
6710 value: ::core::ffi::c_long,
6711 dir: ::core::ffi::c_int,
6712 ) -> ::core::ffi::c_int;
6713}
6714unsafe extern "C" {
6715 pub fn snd_mixer_selem_set_capture_dB_all(
6716 elem: *mut snd_mixer_elem_t,
6717 value: ::core::ffi::c_long,
6718 dir: ::core::ffi::c_int,
6719 ) -> ::core::ffi::c_int;
6720}
6721unsafe extern "C" {
6722 pub fn snd_mixer_selem_set_playback_switch(
6723 elem: *mut snd_mixer_elem_t,
6724 channel: snd_mixer_selem_channel_id_t,
6725 value: ::core::ffi::c_int,
6726 ) -> ::core::ffi::c_int;
6727}
6728unsafe extern "C" {
6729 pub fn snd_mixer_selem_set_capture_switch(
6730 elem: *mut snd_mixer_elem_t,
6731 channel: snd_mixer_selem_channel_id_t,
6732 value: ::core::ffi::c_int,
6733 ) -> ::core::ffi::c_int;
6734}
6735unsafe extern "C" {
6736 pub fn snd_mixer_selem_set_playback_switch_all(
6737 elem: *mut snd_mixer_elem_t,
6738 value: ::core::ffi::c_int,
6739 ) -> ::core::ffi::c_int;
6740}
6741unsafe extern "C" {
6742 pub fn snd_mixer_selem_set_capture_switch_all(
6743 elem: *mut snd_mixer_elem_t,
6744 value: ::core::ffi::c_int,
6745 ) -> ::core::ffi::c_int;
6746}
6747unsafe extern "C" {
6748 pub fn snd_mixer_selem_get_playback_volume_range(
6749 elem: *mut snd_mixer_elem_t,
6750 min: *mut ::core::ffi::c_long,
6751 max: *mut ::core::ffi::c_long,
6752 ) -> ::core::ffi::c_int;
6753}
6754unsafe extern "C" {
6755 pub fn snd_mixer_selem_get_playback_dB_range(
6756 elem: *mut snd_mixer_elem_t,
6757 min: *mut ::core::ffi::c_long,
6758 max: *mut ::core::ffi::c_long,
6759 ) -> ::core::ffi::c_int;
6760}
6761unsafe extern "C" {
6762 pub fn snd_mixer_selem_set_playback_volume_range(
6763 elem: *mut snd_mixer_elem_t,
6764 min: ::core::ffi::c_long,
6765 max: ::core::ffi::c_long,
6766 ) -> ::core::ffi::c_int;
6767}
6768unsafe extern "C" {
6769 pub fn snd_mixer_selem_get_capture_volume_range(
6770 elem: *mut snd_mixer_elem_t,
6771 min: *mut ::core::ffi::c_long,
6772 max: *mut ::core::ffi::c_long,
6773 ) -> ::core::ffi::c_int;
6774}
6775unsafe extern "C" {
6776 pub fn snd_mixer_selem_get_capture_dB_range(
6777 elem: *mut snd_mixer_elem_t,
6778 min: *mut ::core::ffi::c_long,
6779 max: *mut ::core::ffi::c_long,
6780 ) -> ::core::ffi::c_int;
6781}
6782unsafe extern "C" {
6783 pub fn snd_mixer_selem_set_capture_volume_range(
6784 elem: *mut snd_mixer_elem_t,
6785 min: ::core::ffi::c_long,
6786 max: ::core::ffi::c_long,
6787 ) -> ::core::ffi::c_int;
6788}
6789unsafe extern "C" {
6790 pub fn snd_mixer_selem_is_enumerated(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6791}
6792unsafe extern "C" {
6793 pub fn snd_mixer_selem_is_enum_playback(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6794}
6795unsafe extern "C" {
6796 pub fn snd_mixer_selem_is_enum_capture(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6797}
6798unsafe extern "C" {
6799 pub fn snd_mixer_selem_get_enum_items(elem: *mut snd_mixer_elem_t) -> ::core::ffi::c_int;
6800}
6801unsafe extern "C" {
6802 pub fn snd_mixer_selem_get_enum_item_name(
6803 elem: *mut snd_mixer_elem_t,
6804 idx: ::core::ffi::c_uint,
6805 maxlen: usize,
6806 str_: *mut ::core::ffi::c_char,
6807 ) -> ::core::ffi::c_int;
6808}
6809unsafe extern "C" {
6810 pub fn snd_mixer_selem_get_enum_item(
6811 elem: *mut snd_mixer_elem_t,
6812 channel: snd_mixer_selem_channel_id_t,
6813 idxp: *mut ::core::ffi::c_uint,
6814 ) -> ::core::ffi::c_int;
6815}
6816unsafe extern "C" {
6817 pub fn snd_mixer_selem_set_enum_item(
6818 elem: *mut snd_mixer_elem_t,
6819 channel: snd_mixer_selem_channel_id_t,
6820 idx: ::core::ffi::c_uint,
6821 ) -> ::core::ffi::c_int;
6822}
6823unsafe extern "C" {
6824 pub fn snd_mixer_selem_id_sizeof() -> usize;
6825}
6826unsafe extern "C" {
6827 pub fn snd_mixer_selem_id_malloc(ptr: *mut *mut snd_mixer_selem_id_t) -> ::core::ffi::c_int;
6828}
6829unsafe extern "C" {
6830 pub fn snd_mixer_selem_id_free(obj: *mut snd_mixer_selem_id_t);
6831}
6832unsafe extern "C" {
6833 pub fn snd_mixer_selem_id_copy(
6834 dst: *mut snd_mixer_selem_id_t,
6835 src: *const snd_mixer_selem_id_t,
6836 );
6837}
6838unsafe extern "C" {
6839 pub fn snd_mixer_selem_id_get_name(
6840 obj: *const snd_mixer_selem_id_t,
6841 ) -> *const ::core::ffi::c_char;
6842}
6843unsafe extern "C" {
6844 pub fn snd_mixer_selem_id_get_index(obj: *const snd_mixer_selem_id_t) -> ::core::ffi::c_uint;
6845}
6846unsafe extern "C" {
6847 pub fn snd_mixer_selem_id_set_name(
6848 obj: *mut snd_mixer_selem_id_t,
6849 val: *const ::core::ffi::c_char,
6850 );
6851}
6852unsafe extern "C" {
6853 pub fn snd_mixer_selem_id_set_index(obj: *mut snd_mixer_selem_id_t, val: ::core::ffi::c_uint);
6854}
6855unsafe extern "C" {
6856 pub fn snd_mixer_selem_id_parse(
6857 dst: *mut snd_mixer_selem_id_t,
6858 str_: *const ::core::ffi::c_char,
6859 ) -> ::core::ffi::c_int;
6860}
6861#[repr(C, packed)]
6862#[derive(Debug, Copy, Clone)]
6863pub struct _snd_ump_msg_hdr {
6864 pub byte2: u8,
6865 pub byte1: u8,
6866 pub _bitfield_align_1: [u8; 0],
6867 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
6868}
6869impl _snd_ump_msg_hdr {
6870 #[inline]
6871 pub fn channel(&self) -> u8 {
6872 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
6873 }
6874 #[inline]
6875 pub fn set_channel(&mut self, val: u8) {
6876 unsafe {
6877 let val: u8 = ::core::mem::transmute(val);
6878 self._bitfield_1.set(0usize, 4u8, val as u64)
6879 }
6880 }
6881 #[inline]
6882 pub unsafe fn channel_raw(this: *const Self) -> u8 {
6883 unsafe {
6884 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
6885 ::core::ptr::addr_of!((*this)._bitfield_1),
6886 0usize,
6887 4u8,
6888 ) as u8)
6889 }
6890 }
6891 #[inline]
6892 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
6893 unsafe {
6894 let val: u8 = ::core::mem::transmute(val);
6895 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
6896 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
6897 0usize,
6898 4u8,
6899 val as u64,
6900 )
6901 }
6902 }
6903 #[inline]
6904 pub fn status(&self) -> u8 {
6905 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
6906 }
6907 #[inline]
6908 pub fn set_status(&mut self, val: u8) {
6909 unsafe {
6910 let val: u8 = ::core::mem::transmute(val);
6911 self._bitfield_1.set(4usize, 4u8, val as u64)
6912 }
6913 }
6914 #[inline]
6915 pub unsafe fn status_raw(this: *const Self) -> u8 {
6916 unsafe {
6917 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
6918 ::core::ptr::addr_of!((*this)._bitfield_1),
6919 4usize,
6920 4u8,
6921 ) as u8)
6922 }
6923 }
6924 #[inline]
6925 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
6926 unsafe {
6927 let val: u8 = ::core::mem::transmute(val);
6928 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
6929 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
6930 4usize,
6931 4u8,
6932 val as u64,
6933 )
6934 }
6935 }
6936 #[inline]
6937 pub fn group(&self) -> u8 {
6938 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
6939 }
6940 #[inline]
6941 pub fn set_group(&mut self, val: u8) {
6942 unsafe {
6943 let val: u8 = ::core::mem::transmute(val);
6944 self._bitfield_1.set(8usize, 4u8, val as u64)
6945 }
6946 }
6947 #[inline]
6948 pub unsafe fn group_raw(this: *const Self) -> u8 {
6949 unsafe {
6950 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
6951 ::core::ptr::addr_of!((*this)._bitfield_1),
6952 8usize,
6953 4u8,
6954 ) as u8)
6955 }
6956 }
6957 #[inline]
6958 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
6959 unsafe {
6960 let val: u8 = ::core::mem::transmute(val);
6961 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
6962 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
6963 8usize,
6964 4u8,
6965 val as u64,
6966 )
6967 }
6968 }
6969 #[inline]
6970 pub fn type_(&self) -> u8 {
6971 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
6972 }
6973 #[inline]
6974 pub fn set_type(&mut self, val: u8) {
6975 unsafe {
6976 let val: u8 = ::core::mem::transmute(val);
6977 self._bitfield_1.set(12usize, 4u8, val as u64)
6978 }
6979 }
6980 #[inline]
6981 pub unsafe fn type__raw(this: *const Self) -> u8 {
6982 unsafe {
6983 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
6984 ::core::ptr::addr_of!((*this)._bitfield_1),
6985 12usize,
6986 4u8,
6987 ) as u8)
6988 }
6989 }
6990 #[inline]
6991 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
6992 unsafe {
6993 let val: u8 = ::core::mem::transmute(val);
6994 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
6995 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
6996 12usize,
6997 4u8,
6998 val as u64,
6999 )
7000 }
7001 }
7002 #[inline]
7003 pub fn new_bitfield_1(
7004 channel: u8,
7005 status: u8,
7006 group: u8,
7007 type_: u8,
7008 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7009 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7010 __bindgen_bitfield_unit.set(0usize, 4u8, {
7011 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
7012 channel as u64
7013 });
7014 __bindgen_bitfield_unit.set(4usize, 4u8, {
7015 let status: u8 = unsafe { ::core::mem::transmute(status) };
7016 status as u64
7017 });
7018 __bindgen_bitfield_unit.set(8usize, 4u8, {
7019 let group: u8 = unsafe { ::core::mem::transmute(group) };
7020 group as u64
7021 });
7022 __bindgen_bitfield_unit.set(12usize, 4u8, {
7023 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
7024 type_ as u64
7025 });
7026 __bindgen_bitfield_unit
7027 }
7028}
7029pub type snd_ump_msg_hdr_t = _snd_ump_msg_hdr;
7030#[repr(C, packed)]
7031#[derive(Debug, Copy, Clone)]
7032pub struct _snd_ump_msg_midi1_note {
7033 pub velocity: u8,
7034 pub note: u8,
7035 pub _bitfield_align_1: [u8; 0],
7036 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7037}
7038impl _snd_ump_msg_midi1_note {
7039 #[inline]
7040 pub fn channel(&self) -> u8 {
7041 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7042 }
7043 #[inline]
7044 pub fn set_channel(&mut self, val: u8) {
7045 unsafe {
7046 let val: u8 = ::core::mem::transmute(val);
7047 self._bitfield_1.set(0usize, 4u8, val as u64)
7048 }
7049 }
7050 #[inline]
7051 pub unsafe fn channel_raw(this: *const Self) -> u8 {
7052 unsafe {
7053 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7054 ::core::ptr::addr_of!((*this)._bitfield_1),
7055 0usize,
7056 4u8,
7057 ) as u8)
7058 }
7059 }
7060 #[inline]
7061 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
7062 unsafe {
7063 let val: u8 = ::core::mem::transmute(val);
7064 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7065 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7066 0usize,
7067 4u8,
7068 val as u64,
7069 )
7070 }
7071 }
7072 #[inline]
7073 pub fn status(&self) -> u8 {
7074 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7075 }
7076 #[inline]
7077 pub fn set_status(&mut self, val: u8) {
7078 unsafe {
7079 let val: u8 = ::core::mem::transmute(val);
7080 self._bitfield_1.set(4usize, 4u8, val as u64)
7081 }
7082 }
7083 #[inline]
7084 pub unsafe fn status_raw(this: *const Self) -> u8 {
7085 unsafe {
7086 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7087 ::core::ptr::addr_of!((*this)._bitfield_1),
7088 4usize,
7089 4u8,
7090 ) as u8)
7091 }
7092 }
7093 #[inline]
7094 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
7095 unsafe {
7096 let val: u8 = ::core::mem::transmute(val);
7097 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7098 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7099 4usize,
7100 4u8,
7101 val as u64,
7102 )
7103 }
7104 }
7105 #[inline]
7106 pub fn group(&self) -> u8 {
7107 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
7108 }
7109 #[inline]
7110 pub fn set_group(&mut self, val: u8) {
7111 unsafe {
7112 let val: u8 = ::core::mem::transmute(val);
7113 self._bitfield_1.set(8usize, 4u8, val as u64)
7114 }
7115 }
7116 #[inline]
7117 pub unsafe fn group_raw(this: *const Self) -> u8 {
7118 unsafe {
7119 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7120 ::core::ptr::addr_of!((*this)._bitfield_1),
7121 8usize,
7122 4u8,
7123 ) as u8)
7124 }
7125 }
7126 #[inline]
7127 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
7128 unsafe {
7129 let val: u8 = ::core::mem::transmute(val);
7130 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7131 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7132 8usize,
7133 4u8,
7134 val as u64,
7135 )
7136 }
7137 }
7138 #[inline]
7139 pub fn type_(&self) -> u8 {
7140 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
7141 }
7142 #[inline]
7143 pub fn set_type(&mut self, val: u8) {
7144 unsafe {
7145 let val: u8 = ::core::mem::transmute(val);
7146 self._bitfield_1.set(12usize, 4u8, val as u64)
7147 }
7148 }
7149 #[inline]
7150 pub unsafe fn type__raw(this: *const Self) -> u8 {
7151 unsafe {
7152 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7153 ::core::ptr::addr_of!((*this)._bitfield_1),
7154 12usize,
7155 4u8,
7156 ) as u8)
7157 }
7158 }
7159 #[inline]
7160 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
7161 unsafe {
7162 let val: u8 = ::core::mem::transmute(val);
7163 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7164 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7165 12usize,
7166 4u8,
7167 val as u64,
7168 )
7169 }
7170 }
7171 #[inline]
7172 pub fn new_bitfield_1(
7173 channel: u8,
7174 status: u8,
7175 group: u8,
7176 type_: u8,
7177 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7178 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7179 __bindgen_bitfield_unit.set(0usize, 4u8, {
7180 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
7181 channel as u64
7182 });
7183 __bindgen_bitfield_unit.set(4usize, 4u8, {
7184 let status: u8 = unsafe { ::core::mem::transmute(status) };
7185 status as u64
7186 });
7187 __bindgen_bitfield_unit.set(8usize, 4u8, {
7188 let group: u8 = unsafe { ::core::mem::transmute(group) };
7189 group as u64
7190 });
7191 __bindgen_bitfield_unit.set(12usize, 4u8, {
7192 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
7193 type_ as u64
7194 });
7195 __bindgen_bitfield_unit
7196 }
7197}
7198pub type snd_ump_msg_midi1_note_t = _snd_ump_msg_midi1_note;
7199#[repr(C, packed)]
7200#[derive(Debug, Copy, Clone)]
7201pub struct _snd_ump_msg_midi1_paf {
7202 pub data: u8,
7203 pub note: u8,
7204 pub _bitfield_align_1: [u8; 0],
7205 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7206}
7207impl _snd_ump_msg_midi1_paf {
7208 #[inline]
7209 pub fn channel(&self) -> u8 {
7210 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7211 }
7212 #[inline]
7213 pub fn set_channel(&mut self, val: u8) {
7214 unsafe {
7215 let val: u8 = ::core::mem::transmute(val);
7216 self._bitfield_1.set(0usize, 4u8, val as u64)
7217 }
7218 }
7219 #[inline]
7220 pub unsafe fn channel_raw(this: *const Self) -> u8 {
7221 unsafe {
7222 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7223 ::core::ptr::addr_of!((*this)._bitfield_1),
7224 0usize,
7225 4u8,
7226 ) as u8)
7227 }
7228 }
7229 #[inline]
7230 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
7231 unsafe {
7232 let val: u8 = ::core::mem::transmute(val);
7233 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7234 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7235 0usize,
7236 4u8,
7237 val as u64,
7238 )
7239 }
7240 }
7241 #[inline]
7242 pub fn status(&self) -> u8 {
7243 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7244 }
7245 #[inline]
7246 pub fn set_status(&mut self, val: u8) {
7247 unsafe {
7248 let val: u8 = ::core::mem::transmute(val);
7249 self._bitfield_1.set(4usize, 4u8, val as u64)
7250 }
7251 }
7252 #[inline]
7253 pub unsafe fn status_raw(this: *const Self) -> u8 {
7254 unsafe {
7255 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7256 ::core::ptr::addr_of!((*this)._bitfield_1),
7257 4usize,
7258 4u8,
7259 ) as u8)
7260 }
7261 }
7262 #[inline]
7263 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
7264 unsafe {
7265 let val: u8 = ::core::mem::transmute(val);
7266 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7267 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7268 4usize,
7269 4u8,
7270 val as u64,
7271 )
7272 }
7273 }
7274 #[inline]
7275 pub fn group(&self) -> u8 {
7276 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
7277 }
7278 #[inline]
7279 pub fn set_group(&mut self, val: u8) {
7280 unsafe {
7281 let val: u8 = ::core::mem::transmute(val);
7282 self._bitfield_1.set(8usize, 4u8, val as u64)
7283 }
7284 }
7285 #[inline]
7286 pub unsafe fn group_raw(this: *const Self) -> u8 {
7287 unsafe {
7288 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7289 ::core::ptr::addr_of!((*this)._bitfield_1),
7290 8usize,
7291 4u8,
7292 ) as u8)
7293 }
7294 }
7295 #[inline]
7296 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
7297 unsafe {
7298 let val: u8 = ::core::mem::transmute(val);
7299 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7300 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7301 8usize,
7302 4u8,
7303 val as u64,
7304 )
7305 }
7306 }
7307 #[inline]
7308 pub fn type_(&self) -> u8 {
7309 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
7310 }
7311 #[inline]
7312 pub fn set_type(&mut self, val: u8) {
7313 unsafe {
7314 let val: u8 = ::core::mem::transmute(val);
7315 self._bitfield_1.set(12usize, 4u8, val as u64)
7316 }
7317 }
7318 #[inline]
7319 pub unsafe fn type__raw(this: *const Self) -> u8 {
7320 unsafe {
7321 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7322 ::core::ptr::addr_of!((*this)._bitfield_1),
7323 12usize,
7324 4u8,
7325 ) as u8)
7326 }
7327 }
7328 #[inline]
7329 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
7330 unsafe {
7331 let val: u8 = ::core::mem::transmute(val);
7332 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7333 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7334 12usize,
7335 4u8,
7336 val as u64,
7337 )
7338 }
7339 }
7340 #[inline]
7341 pub fn new_bitfield_1(
7342 channel: u8,
7343 status: u8,
7344 group: u8,
7345 type_: u8,
7346 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7347 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7348 __bindgen_bitfield_unit.set(0usize, 4u8, {
7349 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
7350 channel as u64
7351 });
7352 __bindgen_bitfield_unit.set(4usize, 4u8, {
7353 let status: u8 = unsafe { ::core::mem::transmute(status) };
7354 status as u64
7355 });
7356 __bindgen_bitfield_unit.set(8usize, 4u8, {
7357 let group: u8 = unsafe { ::core::mem::transmute(group) };
7358 group as u64
7359 });
7360 __bindgen_bitfield_unit.set(12usize, 4u8, {
7361 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
7362 type_ as u64
7363 });
7364 __bindgen_bitfield_unit
7365 }
7366}
7367pub type snd_ump_msg_midi1_paf_t = _snd_ump_msg_midi1_paf;
7368#[repr(C, packed)]
7369#[derive(Debug, Copy, Clone)]
7370pub struct _snd_ump_msg_midi1_cc {
7371 pub data: u8,
7372 pub index: u8,
7373 pub _bitfield_align_1: [u8; 0],
7374 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7375}
7376impl _snd_ump_msg_midi1_cc {
7377 #[inline]
7378 pub fn channel(&self) -> u8 {
7379 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7380 }
7381 #[inline]
7382 pub fn set_channel(&mut self, val: u8) {
7383 unsafe {
7384 let val: u8 = ::core::mem::transmute(val);
7385 self._bitfield_1.set(0usize, 4u8, val as u64)
7386 }
7387 }
7388 #[inline]
7389 pub unsafe fn channel_raw(this: *const Self) -> u8 {
7390 unsafe {
7391 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7392 ::core::ptr::addr_of!((*this)._bitfield_1),
7393 0usize,
7394 4u8,
7395 ) as u8)
7396 }
7397 }
7398 #[inline]
7399 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
7400 unsafe {
7401 let val: u8 = ::core::mem::transmute(val);
7402 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7403 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7404 0usize,
7405 4u8,
7406 val as u64,
7407 )
7408 }
7409 }
7410 #[inline]
7411 pub fn status(&self) -> u8 {
7412 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7413 }
7414 #[inline]
7415 pub fn set_status(&mut self, val: u8) {
7416 unsafe {
7417 let val: u8 = ::core::mem::transmute(val);
7418 self._bitfield_1.set(4usize, 4u8, val as u64)
7419 }
7420 }
7421 #[inline]
7422 pub unsafe fn status_raw(this: *const Self) -> u8 {
7423 unsafe {
7424 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7425 ::core::ptr::addr_of!((*this)._bitfield_1),
7426 4usize,
7427 4u8,
7428 ) as u8)
7429 }
7430 }
7431 #[inline]
7432 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
7433 unsafe {
7434 let val: u8 = ::core::mem::transmute(val);
7435 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7436 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7437 4usize,
7438 4u8,
7439 val as u64,
7440 )
7441 }
7442 }
7443 #[inline]
7444 pub fn group(&self) -> u8 {
7445 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
7446 }
7447 #[inline]
7448 pub fn set_group(&mut self, val: u8) {
7449 unsafe {
7450 let val: u8 = ::core::mem::transmute(val);
7451 self._bitfield_1.set(8usize, 4u8, val as u64)
7452 }
7453 }
7454 #[inline]
7455 pub unsafe fn group_raw(this: *const Self) -> u8 {
7456 unsafe {
7457 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7458 ::core::ptr::addr_of!((*this)._bitfield_1),
7459 8usize,
7460 4u8,
7461 ) as u8)
7462 }
7463 }
7464 #[inline]
7465 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
7466 unsafe {
7467 let val: u8 = ::core::mem::transmute(val);
7468 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7469 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7470 8usize,
7471 4u8,
7472 val as u64,
7473 )
7474 }
7475 }
7476 #[inline]
7477 pub fn type_(&self) -> u8 {
7478 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
7479 }
7480 #[inline]
7481 pub fn set_type(&mut self, val: u8) {
7482 unsafe {
7483 let val: u8 = ::core::mem::transmute(val);
7484 self._bitfield_1.set(12usize, 4u8, val as u64)
7485 }
7486 }
7487 #[inline]
7488 pub unsafe fn type__raw(this: *const Self) -> u8 {
7489 unsafe {
7490 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7491 ::core::ptr::addr_of!((*this)._bitfield_1),
7492 12usize,
7493 4u8,
7494 ) as u8)
7495 }
7496 }
7497 #[inline]
7498 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
7499 unsafe {
7500 let val: u8 = ::core::mem::transmute(val);
7501 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7502 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7503 12usize,
7504 4u8,
7505 val as u64,
7506 )
7507 }
7508 }
7509 #[inline]
7510 pub fn new_bitfield_1(
7511 channel: u8,
7512 status: u8,
7513 group: u8,
7514 type_: u8,
7515 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7516 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7517 __bindgen_bitfield_unit.set(0usize, 4u8, {
7518 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
7519 channel as u64
7520 });
7521 __bindgen_bitfield_unit.set(4usize, 4u8, {
7522 let status: u8 = unsafe { ::core::mem::transmute(status) };
7523 status as u64
7524 });
7525 __bindgen_bitfield_unit.set(8usize, 4u8, {
7526 let group: u8 = unsafe { ::core::mem::transmute(group) };
7527 group as u64
7528 });
7529 __bindgen_bitfield_unit.set(12usize, 4u8, {
7530 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
7531 type_ as u64
7532 });
7533 __bindgen_bitfield_unit
7534 }
7535}
7536pub type snd_ump_msg_midi1_cc_t = _snd_ump_msg_midi1_cc;
7537#[repr(C, packed)]
7538#[derive(Debug, Copy, Clone)]
7539pub struct _snd_ump_msg_midi1_program {
7540 pub reserved: u8,
7541 pub program: u8,
7542 pub _bitfield_align_1: [u8; 0],
7543 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7544}
7545impl _snd_ump_msg_midi1_program {
7546 #[inline]
7547 pub fn channel(&self) -> u8 {
7548 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7549 }
7550 #[inline]
7551 pub fn set_channel(&mut self, val: u8) {
7552 unsafe {
7553 let val: u8 = ::core::mem::transmute(val);
7554 self._bitfield_1.set(0usize, 4u8, val as u64)
7555 }
7556 }
7557 #[inline]
7558 pub unsafe fn channel_raw(this: *const Self) -> u8 {
7559 unsafe {
7560 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7561 ::core::ptr::addr_of!((*this)._bitfield_1),
7562 0usize,
7563 4u8,
7564 ) as u8)
7565 }
7566 }
7567 #[inline]
7568 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
7569 unsafe {
7570 let val: u8 = ::core::mem::transmute(val);
7571 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7572 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7573 0usize,
7574 4u8,
7575 val as u64,
7576 )
7577 }
7578 }
7579 #[inline]
7580 pub fn status(&self) -> u8 {
7581 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7582 }
7583 #[inline]
7584 pub fn set_status(&mut self, val: u8) {
7585 unsafe {
7586 let val: u8 = ::core::mem::transmute(val);
7587 self._bitfield_1.set(4usize, 4u8, val as u64)
7588 }
7589 }
7590 #[inline]
7591 pub unsafe fn status_raw(this: *const Self) -> u8 {
7592 unsafe {
7593 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7594 ::core::ptr::addr_of!((*this)._bitfield_1),
7595 4usize,
7596 4u8,
7597 ) as u8)
7598 }
7599 }
7600 #[inline]
7601 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
7602 unsafe {
7603 let val: u8 = ::core::mem::transmute(val);
7604 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7605 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7606 4usize,
7607 4u8,
7608 val as u64,
7609 )
7610 }
7611 }
7612 #[inline]
7613 pub fn group(&self) -> u8 {
7614 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
7615 }
7616 #[inline]
7617 pub fn set_group(&mut self, val: u8) {
7618 unsafe {
7619 let val: u8 = ::core::mem::transmute(val);
7620 self._bitfield_1.set(8usize, 4u8, val as u64)
7621 }
7622 }
7623 #[inline]
7624 pub unsafe fn group_raw(this: *const Self) -> u8 {
7625 unsafe {
7626 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7627 ::core::ptr::addr_of!((*this)._bitfield_1),
7628 8usize,
7629 4u8,
7630 ) as u8)
7631 }
7632 }
7633 #[inline]
7634 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
7635 unsafe {
7636 let val: u8 = ::core::mem::transmute(val);
7637 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7638 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7639 8usize,
7640 4u8,
7641 val as u64,
7642 )
7643 }
7644 }
7645 #[inline]
7646 pub fn type_(&self) -> u8 {
7647 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
7648 }
7649 #[inline]
7650 pub fn set_type(&mut self, val: u8) {
7651 unsafe {
7652 let val: u8 = ::core::mem::transmute(val);
7653 self._bitfield_1.set(12usize, 4u8, val as u64)
7654 }
7655 }
7656 #[inline]
7657 pub unsafe fn type__raw(this: *const Self) -> u8 {
7658 unsafe {
7659 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7660 ::core::ptr::addr_of!((*this)._bitfield_1),
7661 12usize,
7662 4u8,
7663 ) as u8)
7664 }
7665 }
7666 #[inline]
7667 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
7668 unsafe {
7669 let val: u8 = ::core::mem::transmute(val);
7670 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7671 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7672 12usize,
7673 4u8,
7674 val as u64,
7675 )
7676 }
7677 }
7678 #[inline]
7679 pub fn new_bitfield_1(
7680 channel: u8,
7681 status: u8,
7682 group: u8,
7683 type_: u8,
7684 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7685 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7686 __bindgen_bitfield_unit.set(0usize, 4u8, {
7687 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
7688 channel as u64
7689 });
7690 __bindgen_bitfield_unit.set(4usize, 4u8, {
7691 let status: u8 = unsafe { ::core::mem::transmute(status) };
7692 status as u64
7693 });
7694 __bindgen_bitfield_unit.set(8usize, 4u8, {
7695 let group: u8 = unsafe { ::core::mem::transmute(group) };
7696 group as u64
7697 });
7698 __bindgen_bitfield_unit.set(12usize, 4u8, {
7699 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
7700 type_ as u64
7701 });
7702 __bindgen_bitfield_unit
7703 }
7704}
7705pub type snd_ump_msg_midi1_program_t = _snd_ump_msg_midi1_program;
7706#[repr(C, packed)]
7707#[derive(Debug, Copy, Clone)]
7708pub struct _snd_ump_msg_midi1_caf {
7709 pub reserved: u8,
7710 pub data: u8,
7711 pub _bitfield_align_1: [u8; 0],
7712 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7713}
7714impl _snd_ump_msg_midi1_caf {
7715 #[inline]
7716 pub fn channel(&self) -> u8 {
7717 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7718 }
7719 #[inline]
7720 pub fn set_channel(&mut self, val: u8) {
7721 unsafe {
7722 let val: u8 = ::core::mem::transmute(val);
7723 self._bitfield_1.set(0usize, 4u8, val as u64)
7724 }
7725 }
7726 #[inline]
7727 pub unsafe fn channel_raw(this: *const Self) -> u8 {
7728 unsafe {
7729 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7730 ::core::ptr::addr_of!((*this)._bitfield_1),
7731 0usize,
7732 4u8,
7733 ) as u8)
7734 }
7735 }
7736 #[inline]
7737 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
7738 unsafe {
7739 let val: u8 = ::core::mem::transmute(val);
7740 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7741 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7742 0usize,
7743 4u8,
7744 val as u64,
7745 )
7746 }
7747 }
7748 #[inline]
7749 pub fn status(&self) -> u8 {
7750 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7751 }
7752 #[inline]
7753 pub fn set_status(&mut self, val: u8) {
7754 unsafe {
7755 let val: u8 = ::core::mem::transmute(val);
7756 self._bitfield_1.set(4usize, 4u8, val as u64)
7757 }
7758 }
7759 #[inline]
7760 pub unsafe fn status_raw(this: *const Self) -> u8 {
7761 unsafe {
7762 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7763 ::core::ptr::addr_of!((*this)._bitfield_1),
7764 4usize,
7765 4u8,
7766 ) as u8)
7767 }
7768 }
7769 #[inline]
7770 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
7771 unsafe {
7772 let val: u8 = ::core::mem::transmute(val);
7773 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7774 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7775 4usize,
7776 4u8,
7777 val as u64,
7778 )
7779 }
7780 }
7781 #[inline]
7782 pub fn group(&self) -> u8 {
7783 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
7784 }
7785 #[inline]
7786 pub fn set_group(&mut self, val: u8) {
7787 unsafe {
7788 let val: u8 = ::core::mem::transmute(val);
7789 self._bitfield_1.set(8usize, 4u8, val as u64)
7790 }
7791 }
7792 #[inline]
7793 pub unsafe fn group_raw(this: *const Self) -> u8 {
7794 unsafe {
7795 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7796 ::core::ptr::addr_of!((*this)._bitfield_1),
7797 8usize,
7798 4u8,
7799 ) as u8)
7800 }
7801 }
7802 #[inline]
7803 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
7804 unsafe {
7805 let val: u8 = ::core::mem::transmute(val);
7806 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7807 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7808 8usize,
7809 4u8,
7810 val as u64,
7811 )
7812 }
7813 }
7814 #[inline]
7815 pub fn type_(&self) -> u8 {
7816 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
7817 }
7818 #[inline]
7819 pub fn set_type(&mut self, val: u8) {
7820 unsafe {
7821 let val: u8 = ::core::mem::transmute(val);
7822 self._bitfield_1.set(12usize, 4u8, val as u64)
7823 }
7824 }
7825 #[inline]
7826 pub unsafe fn type__raw(this: *const Self) -> u8 {
7827 unsafe {
7828 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7829 ::core::ptr::addr_of!((*this)._bitfield_1),
7830 12usize,
7831 4u8,
7832 ) as u8)
7833 }
7834 }
7835 #[inline]
7836 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
7837 unsafe {
7838 let val: u8 = ::core::mem::transmute(val);
7839 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7840 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7841 12usize,
7842 4u8,
7843 val as u64,
7844 )
7845 }
7846 }
7847 #[inline]
7848 pub fn new_bitfield_1(
7849 channel: u8,
7850 status: u8,
7851 group: u8,
7852 type_: u8,
7853 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7854 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7855 __bindgen_bitfield_unit.set(0usize, 4u8, {
7856 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
7857 channel as u64
7858 });
7859 __bindgen_bitfield_unit.set(4usize, 4u8, {
7860 let status: u8 = unsafe { ::core::mem::transmute(status) };
7861 status as u64
7862 });
7863 __bindgen_bitfield_unit.set(8usize, 4u8, {
7864 let group: u8 = unsafe { ::core::mem::transmute(group) };
7865 group as u64
7866 });
7867 __bindgen_bitfield_unit.set(12usize, 4u8, {
7868 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
7869 type_ as u64
7870 });
7871 __bindgen_bitfield_unit
7872 }
7873}
7874pub type snd_ump_msg_midi1_caf_t = _snd_ump_msg_midi1_caf;
7875#[repr(C, packed)]
7876#[derive(Debug, Copy, Clone)]
7877pub struct _snd_ump_msg_midi1_pitchbend {
7878 pub data_msb: u8,
7879 pub data_lsb: u8,
7880 pub _bitfield_align_1: [u8; 0],
7881 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7882}
7883impl _snd_ump_msg_midi1_pitchbend {
7884 #[inline]
7885 pub fn channel(&self) -> u8 {
7886 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7887 }
7888 #[inline]
7889 pub fn set_channel(&mut self, val: u8) {
7890 unsafe {
7891 let val: u8 = ::core::mem::transmute(val);
7892 self._bitfield_1.set(0usize, 4u8, val as u64)
7893 }
7894 }
7895 #[inline]
7896 pub unsafe fn channel_raw(this: *const Self) -> u8 {
7897 unsafe {
7898 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7899 ::core::ptr::addr_of!((*this)._bitfield_1),
7900 0usize,
7901 4u8,
7902 ) as u8)
7903 }
7904 }
7905 #[inline]
7906 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
7907 unsafe {
7908 let val: u8 = ::core::mem::transmute(val);
7909 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7910 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7911 0usize,
7912 4u8,
7913 val as u64,
7914 )
7915 }
7916 }
7917 #[inline]
7918 pub fn status(&self) -> u8 {
7919 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7920 }
7921 #[inline]
7922 pub fn set_status(&mut self, val: u8) {
7923 unsafe {
7924 let val: u8 = ::core::mem::transmute(val);
7925 self._bitfield_1.set(4usize, 4u8, val as u64)
7926 }
7927 }
7928 #[inline]
7929 pub unsafe fn status_raw(this: *const Self) -> u8 {
7930 unsafe {
7931 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7932 ::core::ptr::addr_of!((*this)._bitfield_1),
7933 4usize,
7934 4u8,
7935 ) as u8)
7936 }
7937 }
7938 #[inline]
7939 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
7940 unsafe {
7941 let val: u8 = ::core::mem::transmute(val);
7942 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7943 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7944 4usize,
7945 4u8,
7946 val as u64,
7947 )
7948 }
7949 }
7950 #[inline]
7951 pub fn group(&self) -> u8 {
7952 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
7953 }
7954 #[inline]
7955 pub fn set_group(&mut self, val: u8) {
7956 unsafe {
7957 let val: u8 = ::core::mem::transmute(val);
7958 self._bitfield_1.set(8usize, 4u8, val as u64)
7959 }
7960 }
7961 #[inline]
7962 pub unsafe fn group_raw(this: *const Self) -> u8 {
7963 unsafe {
7964 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7965 ::core::ptr::addr_of!((*this)._bitfield_1),
7966 8usize,
7967 4u8,
7968 ) as u8)
7969 }
7970 }
7971 #[inline]
7972 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
7973 unsafe {
7974 let val: u8 = ::core::mem::transmute(val);
7975 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
7976 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
7977 8usize,
7978 4u8,
7979 val as u64,
7980 )
7981 }
7982 }
7983 #[inline]
7984 pub fn type_(&self) -> u8 {
7985 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
7986 }
7987 #[inline]
7988 pub fn set_type(&mut self, val: u8) {
7989 unsafe {
7990 let val: u8 = ::core::mem::transmute(val);
7991 self._bitfield_1.set(12usize, 4u8, val as u64)
7992 }
7993 }
7994 #[inline]
7995 pub unsafe fn type__raw(this: *const Self) -> u8 {
7996 unsafe {
7997 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
7998 ::core::ptr::addr_of!((*this)._bitfield_1),
7999 12usize,
8000 4u8,
8001 ) as u8)
8002 }
8003 }
8004 #[inline]
8005 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8006 unsafe {
8007 let val: u8 = ::core::mem::transmute(val);
8008 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8009 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8010 12usize,
8011 4u8,
8012 val as u64,
8013 )
8014 }
8015 }
8016 #[inline]
8017 pub fn new_bitfield_1(
8018 channel: u8,
8019 status: u8,
8020 group: u8,
8021 type_: u8,
8022 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
8023 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
8024 __bindgen_bitfield_unit.set(0usize, 4u8, {
8025 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
8026 channel as u64
8027 });
8028 __bindgen_bitfield_unit.set(4usize, 4u8, {
8029 let status: u8 = unsafe { ::core::mem::transmute(status) };
8030 status as u64
8031 });
8032 __bindgen_bitfield_unit.set(8usize, 4u8, {
8033 let group: u8 = unsafe { ::core::mem::transmute(group) };
8034 group as u64
8035 });
8036 __bindgen_bitfield_unit.set(12usize, 4u8, {
8037 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8038 type_ as u64
8039 });
8040 __bindgen_bitfield_unit
8041 }
8042}
8043pub type snd_ump_msg_midi1_pitchbend_t = _snd_ump_msg_midi1_pitchbend;
8044#[repr(C, packed)]
8045#[derive(Debug, Copy, Clone)]
8046pub struct snd_ump_msg_system {
8047 pub parm2: u8,
8048 pub parm1: u8,
8049 pub status: u8,
8050 pub _bitfield_align_1: [u8; 0],
8051 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
8052}
8053impl snd_ump_msg_system {
8054 #[inline]
8055 pub fn group(&self) -> u8 {
8056 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
8057 }
8058 #[inline]
8059 pub fn set_group(&mut self, val: u8) {
8060 unsafe {
8061 let val: u8 = ::core::mem::transmute(val);
8062 self._bitfield_1.set(0usize, 4u8, val as u64)
8063 }
8064 }
8065 #[inline]
8066 pub unsafe fn group_raw(this: *const Self) -> u8 {
8067 unsafe {
8068 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
8069 ::core::ptr::addr_of!((*this)._bitfield_1),
8070 0usize,
8071 4u8,
8072 ) as u8)
8073 }
8074 }
8075 #[inline]
8076 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
8077 unsafe {
8078 let val: u8 = ::core::mem::transmute(val);
8079 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
8080 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8081 0usize,
8082 4u8,
8083 val as u64,
8084 )
8085 }
8086 }
8087 #[inline]
8088 pub fn type_(&self) -> u8 {
8089 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
8090 }
8091 #[inline]
8092 pub fn set_type(&mut self, val: u8) {
8093 unsafe {
8094 let val: u8 = ::core::mem::transmute(val);
8095 self._bitfield_1.set(4usize, 4u8, val as u64)
8096 }
8097 }
8098 #[inline]
8099 pub unsafe fn type__raw(this: *const Self) -> u8 {
8100 unsafe {
8101 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
8102 ::core::ptr::addr_of!((*this)._bitfield_1),
8103 4usize,
8104 4u8,
8105 ) as u8)
8106 }
8107 }
8108 #[inline]
8109 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8110 unsafe {
8111 let val: u8 = ::core::mem::transmute(val);
8112 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
8113 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8114 4usize,
8115 4u8,
8116 val as u64,
8117 )
8118 }
8119 }
8120 #[inline]
8121 pub fn new_bitfield_1(group: u8, type_: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
8122 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
8123 __bindgen_bitfield_unit.set(0usize, 4u8, {
8124 let group: u8 = unsafe { ::core::mem::transmute(group) };
8125 group as u64
8126 });
8127 __bindgen_bitfield_unit.set(4usize, 4u8, {
8128 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8129 type_ as u64
8130 });
8131 __bindgen_bitfield_unit
8132 }
8133}
8134pub type snd_ump_msg_system_t = snd_ump_msg_system;
8135#[repr(C)]
8136#[derive(Copy, Clone)]
8137pub union _snd_ump_msg_midi1 {
8138 pub note_on: snd_ump_msg_midi1_note_t,
8139 pub note_off: snd_ump_msg_midi1_note_t,
8140 pub poly_pressure: snd_ump_msg_midi1_paf_t,
8141 pub control_change: snd_ump_msg_midi1_cc_t,
8142 pub program_change: snd_ump_msg_midi1_program_t,
8143 pub channel_pressure: snd_ump_msg_midi1_caf_t,
8144 pub pitchbend: snd_ump_msg_midi1_pitchbend_t,
8145 pub system: snd_ump_msg_system_t,
8146 pub hdr: snd_ump_msg_hdr_t,
8147 pub raw: u32,
8148}
8149pub type snd_ump_msg_midi1_t = _snd_ump_msg_midi1;
8150#[repr(C, packed)]
8151#[derive(Debug, Copy, Clone)]
8152pub struct _snd_ump_msg_midi2_note {
8153 pub attr_type: u8,
8154 pub note: u8,
8155 pub _bitfield_align_1: [u8; 0],
8156 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
8157 pub attr_data: u16,
8158 pub velocity: u16,
8159}
8160impl _snd_ump_msg_midi2_note {
8161 #[inline]
8162 pub fn channel(&self) -> u8 {
8163 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
8164 }
8165 #[inline]
8166 pub fn set_channel(&mut self, val: u8) {
8167 unsafe {
8168 let val: u8 = ::core::mem::transmute(val);
8169 self._bitfield_1.set(0usize, 4u8, val as u64)
8170 }
8171 }
8172 #[inline]
8173 pub unsafe fn channel_raw(this: *const Self) -> u8 {
8174 unsafe {
8175 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8176 ::core::ptr::addr_of!((*this)._bitfield_1),
8177 0usize,
8178 4u8,
8179 ) as u8)
8180 }
8181 }
8182 #[inline]
8183 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
8184 unsafe {
8185 let val: u8 = ::core::mem::transmute(val);
8186 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8187 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8188 0usize,
8189 4u8,
8190 val as u64,
8191 )
8192 }
8193 }
8194 #[inline]
8195 pub fn status(&self) -> u8 {
8196 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
8197 }
8198 #[inline]
8199 pub fn set_status(&mut self, val: u8) {
8200 unsafe {
8201 let val: u8 = ::core::mem::transmute(val);
8202 self._bitfield_1.set(4usize, 4u8, val as u64)
8203 }
8204 }
8205 #[inline]
8206 pub unsafe fn status_raw(this: *const Self) -> u8 {
8207 unsafe {
8208 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8209 ::core::ptr::addr_of!((*this)._bitfield_1),
8210 4usize,
8211 4u8,
8212 ) as u8)
8213 }
8214 }
8215 #[inline]
8216 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
8217 unsafe {
8218 let val: u8 = ::core::mem::transmute(val);
8219 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8220 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8221 4usize,
8222 4u8,
8223 val as u64,
8224 )
8225 }
8226 }
8227 #[inline]
8228 pub fn group(&self) -> u8 {
8229 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
8230 }
8231 #[inline]
8232 pub fn set_group(&mut self, val: u8) {
8233 unsafe {
8234 let val: u8 = ::core::mem::transmute(val);
8235 self._bitfield_1.set(8usize, 4u8, val as u64)
8236 }
8237 }
8238 #[inline]
8239 pub unsafe fn group_raw(this: *const Self) -> u8 {
8240 unsafe {
8241 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8242 ::core::ptr::addr_of!((*this)._bitfield_1),
8243 8usize,
8244 4u8,
8245 ) as u8)
8246 }
8247 }
8248 #[inline]
8249 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
8250 unsafe {
8251 let val: u8 = ::core::mem::transmute(val);
8252 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8253 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8254 8usize,
8255 4u8,
8256 val as u64,
8257 )
8258 }
8259 }
8260 #[inline]
8261 pub fn type_(&self) -> u8 {
8262 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
8263 }
8264 #[inline]
8265 pub fn set_type(&mut self, val: u8) {
8266 unsafe {
8267 let val: u8 = ::core::mem::transmute(val);
8268 self._bitfield_1.set(12usize, 4u8, val as u64)
8269 }
8270 }
8271 #[inline]
8272 pub unsafe fn type__raw(this: *const Self) -> u8 {
8273 unsafe {
8274 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8275 ::core::ptr::addr_of!((*this)._bitfield_1),
8276 12usize,
8277 4u8,
8278 ) as u8)
8279 }
8280 }
8281 #[inline]
8282 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8283 unsafe {
8284 let val: u8 = ::core::mem::transmute(val);
8285 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8286 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8287 12usize,
8288 4u8,
8289 val as u64,
8290 )
8291 }
8292 }
8293 #[inline]
8294 pub fn new_bitfield_1(
8295 channel: u8,
8296 status: u8,
8297 group: u8,
8298 type_: u8,
8299 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
8300 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
8301 __bindgen_bitfield_unit.set(0usize, 4u8, {
8302 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
8303 channel as u64
8304 });
8305 __bindgen_bitfield_unit.set(4usize, 4u8, {
8306 let status: u8 = unsafe { ::core::mem::transmute(status) };
8307 status as u64
8308 });
8309 __bindgen_bitfield_unit.set(8usize, 4u8, {
8310 let group: u8 = unsafe { ::core::mem::transmute(group) };
8311 group as u64
8312 });
8313 __bindgen_bitfield_unit.set(12usize, 4u8, {
8314 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8315 type_ as u64
8316 });
8317 __bindgen_bitfield_unit
8318 }
8319}
8320pub type snd_ump_msg_midi2_note_t = _snd_ump_msg_midi2_note;
8321#[repr(C, packed)]
8322#[derive(Debug, Copy, Clone)]
8323pub struct _snd_ump_msg_midi2_paf {
8324 pub reserved: u8,
8325 pub note: u8,
8326 pub _bitfield_align_1: [u8; 0],
8327 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
8328 pub data: u32,
8329}
8330impl _snd_ump_msg_midi2_paf {
8331 #[inline]
8332 pub fn channel(&self) -> u8 {
8333 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
8334 }
8335 #[inline]
8336 pub fn set_channel(&mut self, val: u8) {
8337 unsafe {
8338 let val: u8 = ::core::mem::transmute(val);
8339 self._bitfield_1.set(0usize, 4u8, val as u64)
8340 }
8341 }
8342 #[inline]
8343 pub unsafe fn channel_raw(this: *const Self) -> u8 {
8344 unsafe {
8345 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8346 ::core::ptr::addr_of!((*this)._bitfield_1),
8347 0usize,
8348 4u8,
8349 ) as u8)
8350 }
8351 }
8352 #[inline]
8353 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
8354 unsafe {
8355 let val: u8 = ::core::mem::transmute(val);
8356 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8357 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8358 0usize,
8359 4u8,
8360 val as u64,
8361 )
8362 }
8363 }
8364 #[inline]
8365 pub fn status(&self) -> u8 {
8366 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
8367 }
8368 #[inline]
8369 pub fn set_status(&mut self, val: u8) {
8370 unsafe {
8371 let val: u8 = ::core::mem::transmute(val);
8372 self._bitfield_1.set(4usize, 4u8, val as u64)
8373 }
8374 }
8375 #[inline]
8376 pub unsafe fn status_raw(this: *const Self) -> u8 {
8377 unsafe {
8378 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8379 ::core::ptr::addr_of!((*this)._bitfield_1),
8380 4usize,
8381 4u8,
8382 ) as u8)
8383 }
8384 }
8385 #[inline]
8386 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
8387 unsafe {
8388 let val: u8 = ::core::mem::transmute(val);
8389 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8390 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8391 4usize,
8392 4u8,
8393 val as u64,
8394 )
8395 }
8396 }
8397 #[inline]
8398 pub fn group(&self) -> u8 {
8399 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
8400 }
8401 #[inline]
8402 pub fn set_group(&mut self, val: u8) {
8403 unsafe {
8404 let val: u8 = ::core::mem::transmute(val);
8405 self._bitfield_1.set(8usize, 4u8, val as u64)
8406 }
8407 }
8408 #[inline]
8409 pub unsafe fn group_raw(this: *const Self) -> u8 {
8410 unsafe {
8411 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8412 ::core::ptr::addr_of!((*this)._bitfield_1),
8413 8usize,
8414 4u8,
8415 ) as u8)
8416 }
8417 }
8418 #[inline]
8419 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
8420 unsafe {
8421 let val: u8 = ::core::mem::transmute(val);
8422 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8423 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8424 8usize,
8425 4u8,
8426 val as u64,
8427 )
8428 }
8429 }
8430 #[inline]
8431 pub fn type_(&self) -> u8 {
8432 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
8433 }
8434 #[inline]
8435 pub fn set_type(&mut self, val: u8) {
8436 unsafe {
8437 let val: u8 = ::core::mem::transmute(val);
8438 self._bitfield_1.set(12usize, 4u8, val as u64)
8439 }
8440 }
8441 #[inline]
8442 pub unsafe fn type__raw(this: *const Self) -> u8 {
8443 unsafe {
8444 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8445 ::core::ptr::addr_of!((*this)._bitfield_1),
8446 12usize,
8447 4u8,
8448 ) as u8)
8449 }
8450 }
8451 #[inline]
8452 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8453 unsafe {
8454 let val: u8 = ::core::mem::transmute(val);
8455 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8456 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8457 12usize,
8458 4u8,
8459 val as u64,
8460 )
8461 }
8462 }
8463 #[inline]
8464 pub fn new_bitfield_1(
8465 channel: u8,
8466 status: u8,
8467 group: u8,
8468 type_: u8,
8469 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
8470 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
8471 __bindgen_bitfield_unit.set(0usize, 4u8, {
8472 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
8473 channel as u64
8474 });
8475 __bindgen_bitfield_unit.set(4usize, 4u8, {
8476 let status: u8 = unsafe { ::core::mem::transmute(status) };
8477 status as u64
8478 });
8479 __bindgen_bitfield_unit.set(8usize, 4u8, {
8480 let group: u8 = unsafe { ::core::mem::transmute(group) };
8481 group as u64
8482 });
8483 __bindgen_bitfield_unit.set(12usize, 4u8, {
8484 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8485 type_ as u64
8486 });
8487 __bindgen_bitfield_unit
8488 }
8489}
8490pub type snd_ump_msg_midi2_paf_t = _snd_ump_msg_midi2_paf;
8491#[repr(C, packed)]
8492#[derive(Debug, Copy, Clone)]
8493pub struct _snd_ump_msg_midi2_per_note_cc {
8494 pub index: u8,
8495 pub note: u8,
8496 pub _bitfield_align_1: [u8; 0],
8497 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
8498 pub data: u32,
8499}
8500impl _snd_ump_msg_midi2_per_note_cc {
8501 #[inline]
8502 pub fn channel(&self) -> u8 {
8503 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
8504 }
8505 #[inline]
8506 pub fn set_channel(&mut self, val: u8) {
8507 unsafe {
8508 let val: u8 = ::core::mem::transmute(val);
8509 self._bitfield_1.set(0usize, 4u8, val as u64)
8510 }
8511 }
8512 #[inline]
8513 pub unsafe fn channel_raw(this: *const Self) -> u8 {
8514 unsafe {
8515 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8516 ::core::ptr::addr_of!((*this)._bitfield_1),
8517 0usize,
8518 4u8,
8519 ) as u8)
8520 }
8521 }
8522 #[inline]
8523 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
8524 unsafe {
8525 let val: u8 = ::core::mem::transmute(val);
8526 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8527 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8528 0usize,
8529 4u8,
8530 val as u64,
8531 )
8532 }
8533 }
8534 #[inline]
8535 pub fn status(&self) -> u8 {
8536 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
8537 }
8538 #[inline]
8539 pub fn set_status(&mut self, val: u8) {
8540 unsafe {
8541 let val: u8 = ::core::mem::transmute(val);
8542 self._bitfield_1.set(4usize, 4u8, val as u64)
8543 }
8544 }
8545 #[inline]
8546 pub unsafe fn status_raw(this: *const Self) -> u8 {
8547 unsafe {
8548 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8549 ::core::ptr::addr_of!((*this)._bitfield_1),
8550 4usize,
8551 4u8,
8552 ) as u8)
8553 }
8554 }
8555 #[inline]
8556 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
8557 unsafe {
8558 let val: u8 = ::core::mem::transmute(val);
8559 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8560 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8561 4usize,
8562 4u8,
8563 val as u64,
8564 )
8565 }
8566 }
8567 #[inline]
8568 pub fn group(&self) -> u8 {
8569 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
8570 }
8571 #[inline]
8572 pub fn set_group(&mut self, val: u8) {
8573 unsafe {
8574 let val: u8 = ::core::mem::transmute(val);
8575 self._bitfield_1.set(8usize, 4u8, val as u64)
8576 }
8577 }
8578 #[inline]
8579 pub unsafe fn group_raw(this: *const Self) -> u8 {
8580 unsafe {
8581 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8582 ::core::ptr::addr_of!((*this)._bitfield_1),
8583 8usize,
8584 4u8,
8585 ) as u8)
8586 }
8587 }
8588 #[inline]
8589 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
8590 unsafe {
8591 let val: u8 = ::core::mem::transmute(val);
8592 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8593 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8594 8usize,
8595 4u8,
8596 val as u64,
8597 )
8598 }
8599 }
8600 #[inline]
8601 pub fn type_(&self) -> u8 {
8602 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
8603 }
8604 #[inline]
8605 pub fn set_type(&mut self, val: u8) {
8606 unsafe {
8607 let val: u8 = ::core::mem::transmute(val);
8608 self._bitfield_1.set(12usize, 4u8, val as u64)
8609 }
8610 }
8611 #[inline]
8612 pub unsafe fn type__raw(this: *const Self) -> u8 {
8613 unsafe {
8614 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8615 ::core::ptr::addr_of!((*this)._bitfield_1),
8616 12usize,
8617 4u8,
8618 ) as u8)
8619 }
8620 }
8621 #[inline]
8622 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8623 unsafe {
8624 let val: u8 = ::core::mem::transmute(val);
8625 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8626 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8627 12usize,
8628 4u8,
8629 val as u64,
8630 )
8631 }
8632 }
8633 #[inline]
8634 pub fn new_bitfield_1(
8635 channel: u8,
8636 status: u8,
8637 group: u8,
8638 type_: u8,
8639 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
8640 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
8641 __bindgen_bitfield_unit.set(0usize, 4u8, {
8642 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
8643 channel as u64
8644 });
8645 __bindgen_bitfield_unit.set(4usize, 4u8, {
8646 let status: u8 = unsafe { ::core::mem::transmute(status) };
8647 status as u64
8648 });
8649 __bindgen_bitfield_unit.set(8usize, 4u8, {
8650 let group: u8 = unsafe { ::core::mem::transmute(group) };
8651 group as u64
8652 });
8653 __bindgen_bitfield_unit.set(12usize, 4u8, {
8654 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8655 type_ as u64
8656 });
8657 __bindgen_bitfield_unit
8658 }
8659}
8660pub type snd_ump_msg_midi2_per_note_cc_t = _snd_ump_msg_midi2_per_note_cc;
8661#[repr(C, packed)]
8662#[derive(Debug, Copy, Clone)]
8663pub struct _snd_ump_msg_midi2_per_note_mgmt {
8664 pub flags: u8,
8665 pub note: u8,
8666 pub _bitfield_align_1: [u8; 0],
8667 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
8668 pub reserved: u32,
8669}
8670impl _snd_ump_msg_midi2_per_note_mgmt {
8671 #[inline]
8672 pub fn channel(&self) -> u8 {
8673 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
8674 }
8675 #[inline]
8676 pub fn set_channel(&mut self, val: u8) {
8677 unsafe {
8678 let val: u8 = ::core::mem::transmute(val);
8679 self._bitfield_1.set(0usize, 4u8, val as u64)
8680 }
8681 }
8682 #[inline]
8683 pub unsafe fn channel_raw(this: *const Self) -> u8 {
8684 unsafe {
8685 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8686 ::core::ptr::addr_of!((*this)._bitfield_1),
8687 0usize,
8688 4u8,
8689 ) as u8)
8690 }
8691 }
8692 #[inline]
8693 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
8694 unsafe {
8695 let val: u8 = ::core::mem::transmute(val);
8696 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8697 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8698 0usize,
8699 4u8,
8700 val as u64,
8701 )
8702 }
8703 }
8704 #[inline]
8705 pub fn status(&self) -> u8 {
8706 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
8707 }
8708 #[inline]
8709 pub fn set_status(&mut self, val: u8) {
8710 unsafe {
8711 let val: u8 = ::core::mem::transmute(val);
8712 self._bitfield_1.set(4usize, 4u8, val as u64)
8713 }
8714 }
8715 #[inline]
8716 pub unsafe fn status_raw(this: *const Self) -> u8 {
8717 unsafe {
8718 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8719 ::core::ptr::addr_of!((*this)._bitfield_1),
8720 4usize,
8721 4u8,
8722 ) as u8)
8723 }
8724 }
8725 #[inline]
8726 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
8727 unsafe {
8728 let val: u8 = ::core::mem::transmute(val);
8729 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8730 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8731 4usize,
8732 4u8,
8733 val as u64,
8734 )
8735 }
8736 }
8737 #[inline]
8738 pub fn group(&self) -> u8 {
8739 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
8740 }
8741 #[inline]
8742 pub fn set_group(&mut self, val: u8) {
8743 unsafe {
8744 let val: u8 = ::core::mem::transmute(val);
8745 self._bitfield_1.set(8usize, 4u8, val as u64)
8746 }
8747 }
8748 #[inline]
8749 pub unsafe fn group_raw(this: *const Self) -> u8 {
8750 unsafe {
8751 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8752 ::core::ptr::addr_of!((*this)._bitfield_1),
8753 8usize,
8754 4u8,
8755 ) as u8)
8756 }
8757 }
8758 #[inline]
8759 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
8760 unsafe {
8761 let val: u8 = ::core::mem::transmute(val);
8762 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8763 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8764 8usize,
8765 4u8,
8766 val as u64,
8767 )
8768 }
8769 }
8770 #[inline]
8771 pub fn type_(&self) -> u8 {
8772 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
8773 }
8774 #[inline]
8775 pub fn set_type(&mut self, val: u8) {
8776 unsafe {
8777 let val: u8 = ::core::mem::transmute(val);
8778 self._bitfield_1.set(12usize, 4u8, val as u64)
8779 }
8780 }
8781 #[inline]
8782 pub unsafe fn type__raw(this: *const Self) -> u8 {
8783 unsafe {
8784 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8785 ::core::ptr::addr_of!((*this)._bitfield_1),
8786 12usize,
8787 4u8,
8788 ) as u8)
8789 }
8790 }
8791 #[inline]
8792 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8793 unsafe {
8794 let val: u8 = ::core::mem::transmute(val);
8795 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8796 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8797 12usize,
8798 4u8,
8799 val as u64,
8800 )
8801 }
8802 }
8803 #[inline]
8804 pub fn new_bitfield_1(
8805 channel: u8,
8806 status: u8,
8807 group: u8,
8808 type_: u8,
8809 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
8810 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
8811 __bindgen_bitfield_unit.set(0usize, 4u8, {
8812 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
8813 channel as u64
8814 });
8815 __bindgen_bitfield_unit.set(4usize, 4u8, {
8816 let status: u8 = unsafe { ::core::mem::transmute(status) };
8817 status as u64
8818 });
8819 __bindgen_bitfield_unit.set(8usize, 4u8, {
8820 let group: u8 = unsafe { ::core::mem::transmute(group) };
8821 group as u64
8822 });
8823 __bindgen_bitfield_unit.set(12usize, 4u8, {
8824 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8825 type_ as u64
8826 });
8827 __bindgen_bitfield_unit
8828 }
8829}
8830pub type snd_ump_msg_midi2_per_note_mgmt_t = _snd_ump_msg_midi2_per_note_mgmt;
8831#[repr(C, packed)]
8832#[derive(Debug, Copy, Clone)]
8833pub struct _snd_ump_msg_midi2_cc {
8834 pub reserved: u8,
8835 pub index: u8,
8836 pub _bitfield_align_1: [u8; 0],
8837 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
8838 pub data: u32,
8839}
8840impl _snd_ump_msg_midi2_cc {
8841 #[inline]
8842 pub fn channel(&self) -> u8 {
8843 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
8844 }
8845 #[inline]
8846 pub fn set_channel(&mut self, val: u8) {
8847 unsafe {
8848 let val: u8 = ::core::mem::transmute(val);
8849 self._bitfield_1.set(0usize, 4u8, val as u64)
8850 }
8851 }
8852 #[inline]
8853 pub unsafe fn channel_raw(this: *const Self) -> u8 {
8854 unsafe {
8855 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8856 ::core::ptr::addr_of!((*this)._bitfield_1),
8857 0usize,
8858 4u8,
8859 ) as u8)
8860 }
8861 }
8862 #[inline]
8863 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
8864 unsafe {
8865 let val: u8 = ::core::mem::transmute(val);
8866 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8867 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8868 0usize,
8869 4u8,
8870 val as u64,
8871 )
8872 }
8873 }
8874 #[inline]
8875 pub fn status(&self) -> u8 {
8876 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
8877 }
8878 #[inline]
8879 pub fn set_status(&mut self, val: u8) {
8880 unsafe {
8881 let val: u8 = ::core::mem::transmute(val);
8882 self._bitfield_1.set(4usize, 4u8, val as u64)
8883 }
8884 }
8885 #[inline]
8886 pub unsafe fn status_raw(this: *const Self) -> u8 {
8887 unsafe {
8888 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8889 ::core::ptr::addr_of!((*this)._bitfield_1),
8890 4usize,
8891 4u8,
8892 ) as u8)
8893 }
8894 }
8895 #[inline]
8896 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
8897 unsafe {
8898 let val: u8 = ::core::mem::transmute(val);
8899 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8900 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8901 4usize,
8902 4u8,
8903 val as u64,
8904 )
8905 }
8906 }
8907 #[inline]
8908 pub fn group(&self) -> u8 {
8909 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
8910 }
8911 #[inline]
8912 pub fn set_group(&mut self, val: u8) {
8913 unsafe {
8914 let val: u8 = ::core::mem::transmute(val);
8915 self._bitfield_1.set(8usize, 4u8, val as u64)
8916 }
8917 }
8918 #[inline]
8919 pub unsafe fn group_raw(this: *const Self) -> u8 {
8920 unsafe {
8921 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8922 ::core::ptr::addr_of!((*this)._bitfield_1),
8923 8usize,
8924 4u8,
8925 ) as u8)
8926 }
8927 }
8928 #[inline]
8929 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
8930 unsafe {
8931 let val: u8 = ::core::mem::transmute(val);
8932 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8933 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8934 8usize,
8935 4u8,
8936 val as u64,
8937 )
8938 }
8939 }
8940 #[inline]
8941 pub fn type_(&self) -> u8 {
8942 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
8943 }
8944 #[inline]
8945 pub fn set_type(&mut self, val: u8) {
8946 unsafe {
8947 let val: u8 = ::core::mem::transmute(val);
8948 self._bitfield_1.set(12usize, 4u8, val as u64)
8949 }
8950 }
8951 #[inline]
8952 pub unsafe fn type__raw(this: *const Self) -> u8 {
8953 unsafe {
8954 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
8955 ::core::ptr::addr_of!((*this)._bitfield_1),
8956 12usize,
8957 4u8,
8958 ) as u8)
8959 }
8960 }
8961 #[inline]
8962 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
8963 unsafe {
8964 let val: u8 = ::core::mem::transmute(val);
8965 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
8966 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
8967 12usize,
8968 4u8,
8969 val as u64,
8970 )
8971 }
8972 }
8973 #[inline]
8974 pub fn new_bitfield_1(
8975 channel: u8,
8976 status: u8,
8977 group: u8,
8978 type_: u8,
8979 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
8980 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
8981 __bindgen_bitfield_unit.set(0usize, 4u8, {
8982 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
8983 channel as u64
8984 });
8985 __bindgen_bitfield_unit.set(4usize, 4u8, {
8986 let status: u8 = unsafe { ::core::mem::transmute(status) };
8987 status as u64
8988 });
8989 __bindgen_bitfield_unit.set(8usize, 4u8, {
8990 let group: u8 = unsafe { ::core::mem::transmute(group) };
8991 group as u64
8992 });
8993 __bindgen_bitfield_unit.set(12usize, 4u8, {
8994 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
8995 type_ as u64
8996 });
8997 __bindgen_bitfield_unit
8998 }
8999}
9000pub type snd_ump_msg_midi2_cc_t = _snd_ump_msg_midi2_cc;
9001#[repr(C, packed)]
9002#[derive(Debug, Copy, Clone)]
9003pub struct _snd_ump_msg_midi2_rpn {
9004 pub index: u8,
9005 pub bank: u8,
9006 pub _bitfield_align_1: [u8; 0],
9007 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
9008 pub data: u32,
9009}
9010impl _snd_ump_msg_midi2_rpn {
9011 #[inline]
9012 pub fn channel(&self) -> u8 {
9013 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
9014 }
9015 #[inline]
9016 pub fn set_channel(&mut self, val: u8) {
9017 unsafe {
9018 let val: u8 = ::core::mem::transmute(val);
9019 self._bitfield_1.set(0usize, 4u8, val as u64)
9020 }
9021 }
9022 #[inline]
9023 pub unsafe fn channel_raw(this: *const Self) -> u8 {
9024 unsafe {
9025 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9026 ::core::ptr::addr_of!((*this)._bitfield_1),
9027 0usize,
9028 4u8,
9029 ) as u8)
9030 }
9031 }
9032 #[inline]
9033 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
9034 unsafe {
9035 let val: u8 = ::core::mem::transmute(val);
9036 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9037 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9038 0usize,
9039 4u8,
9040 val as u64,
9041 )
9042 }
9043 }
9044 #[inline]
9045 pub fn status(&self) -> u8 {
9046 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
9047 }
9048 #[inline]
9049 pub fn set_status(&mut self, val: u8) {
9050 unsafe {
9051 let val: u8 = ::core::mem::transmute(val);
9052 self._bitfield_1.set(4usize, 4u8, val as u64)
9053 }
9054 }
9055 #[inline]
9056 pub unsafe fn status_raw(this: *const Self) -> u8 {
9057 unsafe {
9058 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9059 ::core::ptr::addr_of!((*this)._bitfield_1),
9060 4usize,
9061 4u8,
9062 ) as u8)
9063 }
9064 }
9065 #[inline]
9066 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
9067 unsafe {
9068 let val: u8 = ::core::mem::transmute(val);
9069 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9070 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9071 4usize,
9072 4u8,
9073 val as u64,
9074 )
9075 }
9076 }
9077 #[inline]
9078 pub fn group(&self) -> u8 {
9079 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
9080 }
9081 #[inline]
9082 pub fn set_group(&mut self, val: u8) {
9083 unsafe {
9084 let val: u8 = ::core::mem::transmute(val);
9085 self._bitfield_1.set(8usize, 4u8, val as u64)
9086 }
9087 }
9088 #[inline]
9089 pub unsafe fn group_raw(this: *const Self) -> u8 {
9090 unsafe {
9091 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9092 ::core::ptr::addr_of!((*this)._bitfield_1),
9093 8usize,
9094 4u8,
9095 ) as u8)
9096 }
9097 }
9098 #[inline]
9099 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
9100 unsafe {
9101 let val: u8 = ::core::mem::transmute(val);
9102 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9103 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9104 8usize,
9105 4u8,
9106 val as u64,
9107 )
9108 }
9109 }
9110 #[inline]
9111 pub fn type_(&self) -> u8 {
9112 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
9113 }
9114 #[inline]
9115 pub fn set_type(&mut self, val: u8) {
9116 unsafe {
9117 let val: u8 = ::core::mem::transmute(val);
9118 self._bitfield_1.set(12usize, 4u8, val as u64)
9119 }
9120 }
9121 #[inline]
9122 pub unsafe fn type__raw(this: *const Self) -> u8 {
9123 unsafe {
9124 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9125 ::core::ptr::addr_of!((*this)._bitfield_1),
9126 12usize,
9127 4u8,
9128 ) as u8)
9129 }
9130 }
9131 #[inline]
9132 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
9133 unsafe {
9134 let val: u8 = ::core::mem::transmute(val);
9135 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9136 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9137 12usize,
9138 4u8,
9139 val as u64,
9140 )
9141 }
9142 }
9143 #[inline]
9144 pub fn new_bitfield_1(
9145 channel: u8,
9146 status: u8,
9147 group: u8,
9148 type_: u8,
9149 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
9150 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
9151 __bindgen_bitfield_unit.set(0usize, 4u8, {
9152 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
9153 channel as u64
9154 });
9155 __bindgen_bitfield_unit.set(4usize, 4u8, {
9156 let status: u8 = unsafe { ::core::mem::transmute(status) };
9157 status as u64
9158 });
9159 __bindgen_bitfield_unit.set(8usize, 4u8, {
9160 let group: u8 = unsafe { ::core::mem::transmute(group) };
9161 group as u64
9162 });
9163 __bindgen_bitfield_unit.set(12usize, 4u8, {
9164 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
9165 type_ as u64
9166 });
9167 __bindgen_bitfield_unit
9168 }
9169}
9170pub type snd_ump_msg_midi2_rpn_t = _snd_ump_msg_midi2_rpn;
9171#[repr(C, packed)]
9172#[derive(Debug, Copy, Clone)]
9173pub struct _snd_ump_msg_midi2_program {
9174 pub _bitfield_align_1: [u8; 0],
9175 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
9176 pub bank_lsb: u8,
9177 pub bank_msb: u8,
9178 pub reserved2: u8,
9179 pub program: u8,
9180}
9181impl _snd_ump_msg_midi2_program {
9182 #[inline]
9183 pub fn bank_valid(&self) -> u16 {
9184 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) }
9185 }
9186 #[inline]
9187 pub fn set_bank_valid(&mut self, val: u16) {
9188 unsafe {
9189 let val: u16 = ::core::mem::transmute(val);
9190 self._bitfield_1.set(0usize, 1u8, val as u64)
9191 }
9192 }
9193 #[inline]
9194 pub unsafe fn bank_valid_raw(this: *const Self) -> u16 {
9195 unsafe {
9196 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
9197 ::core::ptr::addr_of!((*this)._bitfield_1),
9198 0usize,
9199 1u8,
9200 ) as u16)
9201 }
9202 }
9203 #[inline]
9204 pub unsafe fn set_bank_valid_raw(this: *mut Self, val: u16) {
9205 unsafe {
9206 let val: u16 = ::core::mem::transmute(val);
9207 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
9208 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9209 0usize,
9210 1u8,
9211 val as u64,
9212 )
9213 }
9214 }
9215 #[inline]
9216 pub fn reserved(&self) -> u16 {
9217 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 15u8) as u16) }
9218 }
9219 #[inline]
9220 pub fn set_reserved(&mut self, val: u16) {
9221 unsafe {
9222 let val: u16 = ::core::mem::transmute(val);
9223 self._bitfield_1.set(1usize, 15u8, val as u64)
9224 }
9225 }
9226 #[inline]
9227 pub unsafe fn reserved_raw(this: *const Self) -> u16 {
9228 unsafe {
9229 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
9230 ::core::ptr::addr_of!((*this)._bitfield_1),
9231 1usize,
9232 15u8,
9233 ) as u16)
9234 }
9235 }
9236 #[inline]
9237 pub unsafe fn set_reserved_raw(this: *mut Self, val: u16) {
9238 unsafe {
9239 let val: u16 = ::core::mem::transmute(val);
9240 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
9241 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9242 1usize,
9243 15u8,
9244 val as u64,
9245 )
9246 }
9247 }
9248 #[inline]
9249 pub fn channel(&self) -> u8 {
9250 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u8) }
9251 }
9252 #[inline]
9253 pub fn set_channel(&mut self, val: u8) {
9254 unsafe {
9255 let val: u8 = ::core::mem::transmute(val);
9256 self._bitfield_1.set(16usize, 4u8, val as u64)
9257 }
9258 }
9259 #[inline]
9260 pub unsafe fn channel_raw(this: *const Self) -> u8 {
9261 unsafe {
9262 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
9263 ::core::ptr::addr_of!((*this)._bitfield_1),
9264 16usize,
9265 4u8,
9266 ) as u8)
9267 }
9268 }
9269 #[inline]
9270 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
9271 unsafe {
9272 let val: u8 = ::core::mem::transmute(val);
9273 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
9274 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9275 16usize,
9276 4u8,
9277 val as u64,
9278 )
9279 }
9280 }
9281 #[inline]
9282 pub fn status(&self) -> u8 {
9283 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u8) }
9284 }
9285 #[inline]
9286 pub fn set_status(&mut self, val: u8) {
9287 unsafe {
9288 let val: u8 = ::core::mem::transmute(val);
9289 self._bitfield_1.set(20usize, 4u8, val as u64)
9290 }
9291 }
9292 #[inline]
9293 pub unsafe fn status_raw(this: *const Self) -> u8 {
9294 unsafe {
9295 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
9296 ::core::ptr::addr_of!((*this)._bitfield_1),
9297 20usize,
9298 4u8,
9299 ) as u8)
9300 }
9301 }
9302 #[inline]
9303 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
9304 unsafe {
9305 let val: u8 = ::core::mem::transmute(val);
9306 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
9307 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9308 20usize,
9309 4u8,
9310 val as u64,
9311 )
9312 }
9313 }
9314 #[inline]
9315 pub fn group(&self) -> u8 {
9316 unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 4u8) as u8) }
9317 }
9318 #[inline]
9319 pub fn set_group(&mut self, val: u8) {
9320 unsafe {
9321 let val: u8 = ::core::mem::transmute(val);
9322 self._bitfield_1.set(24usize, 4u8, val as u64)
9323 }
9324 }
9325 #[inline]
9326 pub unsafe fn group_raw(this: *const Self) -> u8 {
9327 unsafe {
9328 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
9329 ::core::ptr::addr_of!((*this)._bitfield_1),
9330 24usize,
9331 4u8,
9332 ) as u8)
9333 }
9334 }
9335 #[inline]
9336 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
9337 unsafe {
9338 let val: u8 = ::core::mem::transmute(val);
9339 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
9340 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9341 24usize,
9342 4u8,
9343 val as u64,
9344 )
9345 }
9346 }
9347 #[inline]
9348 pub fn type_(&self) -> u8 {
9349 unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u8) }
9350 }
9351 #[inline]
9352 pub fn set_type(&mut self, val: u8) {
9353 unsafe {
9354 let val: u8 = ::core::mem::transmute(val);
9355 self._bitfield_1.set(28usize, 4u8, val as u64)
9356 }
9357 }
9358 #[inline]
9359 pub unsafe fn type__raw(this: *const Self) -> u8 {
9360 unsafe {
9361 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
9362 ::core::ptr::addr_of!((*this)._bitfield_1),
9363 28usize,
9364 4u8,
9365 ) as u8)
9366 }
9367 }
9368 #[inline]
9369 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
9370 unsafe {
9371 let val: u8 = ::core::mem::transmute(val);
9372 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
9373 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9374 28usize,
9375 4u8,
9376 val as u64,
9377 )
9378 }
9379 }
9380 #[inline]
9381 pub fn new_bitfield_1(
9382 bank_valid: u16,
9383 reserved: u16,
9384 channel: u8,
9385 status: u8,
9386 group: u8,
9387 type_: u8,
9388 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
9389 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
9390 __bindgen_bitfield_unit.set(0usize, 1u8, {
9391 let bank_valid: u16 = unsafe { ::core::mem::transmute(bank_valid) };
9392 bank_valid as u64
9393 });
9394 __bindgen_bitfield_unit.set(1usize, 15u8, {
9395 let reserved: u16 = unsafe { ::core::mem::transmute(reserved) };
9396 reserved as u64
9397 });
9398 __bindgen_bitfield_unit.set(16usize, 4u8, {
9399 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
9400 channel as u64
9401 });
9402 __bindgen_bitfield_unit.set(20usize, 4u8, {
9403 let status: u8 = unsafe { ::core::mem::transmute(status) };
9404 status as u64
9405 });
9406 __bindgen_bitfield_unit.set(24usize, 4u8, {
9407 let group: u8 = unsafe { ::core::mem::transmute(group) };
9408 group as u64
9409 });
9410 __bindgen_bitfield_unit.set(28usize, 4u8, {
9411 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
9412 type_ as u64
9413 });
9414 __bindgen_bitfield_unit
9415 }
9416}
9417pub type snd_ump_msg_midi2_program_t = _snd_ump_msg_midi2_program;
9418#[repr(C, packed)]
9419#[derive(Debug, Copy, Clone)]
9420pub struct _snd_ump_msg_midi2_caf {
9421 pub reserved: u16,
9422 pub _bitfield_align_1: [u8; 0],
9423 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
9424 pub data: u32,
9425}
9426impl _snd_ump_msg_midi2_caf {
9427 #[inline]
9428 pub fn channel(&self) -> u8 {
9429 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
9430 }
9431 #[inline]
9432 pub fn set_channel(&mut self, val: u8) {
9433 unsafe {
9434 let val: u8 = ::core::mem::transmute(val);
9435 self._bitfield_1.set(0usize, 4u8, val as u64)
9436 }
9437 }
9438 #[inline]
9439 pub unsafe fn channel_raw(this: *const Self) -> u8 {
9440 unsafe {
9441 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9442 ::core::ptr::addr_of!((*this)._bitfield_1),
9443 0usize,
9444 4u8,
9445 ) as u8)
9446 }
9447 }
9448 #[inline]
9449 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
9450 unsafe {
9451 let val: u8 = ::core::mem::transmute(val);
9452 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9453 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9454 0usize,
9455 4u8,
9456 val as u64,
9457 )
9458 }
9459 }
9460 #[inline]
9461 pub fn status(&self) -> u8 {
9462 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
9463 }
9464 #[inline]
9465 pub fn set_status(&mut self, val: u8) {
9466 unsafe {
9467 let val: u8 = ::core::mem::transmute(val);
9468 self._bitfield_1.set(4usize, 4u8, val as u64)
9469 }
9470 }
9471 #[inline]
9472 pub unsafe fn status_raw(this: *const Self) -> u8 {
9473 unsafe {
9474 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9475 ::core::ptr::addr_of!((*this)._bitfield_1),
9476 4usize,
9477 4u8,
9478 ) as u8)
9479 }
9480 }
9481 #[inline]
9482 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
9483 unsafe {
9484 let val: u8 = ::core::mem::transmute(val);
9485 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9486 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9487 4usize,
9488 4u8,
9489 val as u64,
9490 )
9491 }
9492 }
9493 #[inline]
9494 pub fn group(&self) -> u8 {
9495 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
9496 }
9497 #[inline]
9498 pub fn set_group(&mut self, val: u8) {
9499 unsafe {
9500 let val: u8 = ::core::mem::transmute(val);
9501 self._bitfield_1.set(8usize, 4u8, val as u64)
9502 }
9503 }
9504 #[inline]
9505 pub unsafe fn group_raw(this: *const Self) -> u8 {
9506 unsafe {
9507 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9508 ::core::ptr::addr_of!((*this)._bitfield_1),
9509 8usize,
9510 4u8,
9511 ) as u8)
9512 }
9513 }
9514 #[inline]
9515 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
9516 unsafe {
9517 let val: u8 = ::core::mem::transmute(val);
9518 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9519 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9520 8usize,
9521 4u8,
9522 val as u64,
9523 )
9524 }
9525 }
9526 #[inline]
9527 pub fn type_(&self) -> u8 {
9528 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
9529 }
9530 #[inline]
9531 pub fn set_type(&mut self, val: u8) {
9532 unsafe {
9533 let val: u8 = ::core::mem::transmute(val);
9534 self._bitfield_1.set(12usize, 4u8, val as u64)
9535 }
9536 }
9537 #[inline]
9538 pub unsafe fn type__raw(this: *const Self) -> u8 {
9539 unsafe {
9540 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9541 ::core::ptr::addr_of!((*this)._bitfield_1),
9542 12usize,
9543 4u8,
9544 ) as u8)
9545 }
9546 }
9547 #[inline]
9548 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
9549 unsafe {
9550 let val: u8 = ::core::mem::transmute(val);
9551 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9552 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9553 12usize,
9554 4u8,
9555 val as u64,
9556 )
9557 }
9558 }
9559 #[inline]
9560 pub fn new_bitfield_1(
9561 channel: u8,
9562 status: u8,
9563 group: u8,
9564 type_: u8,
9565 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
9566 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
9567 __bindgen_bitfield_unit.set(0usize, 4u8, {
9568 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
9569 channel as u64
9570 });
9571 __bindgen_bitfield_unit.set(4usize, 4u8, {
9572 let status: u8 = unsafe { ::core::mem::transmute(status) };
9573 status as u64
9574 });
9575 __bindgen_bitfield_unit.set(8usize, 4u8, {
9576 let group: u8 = unsafe { ::core::mem::transmute(group) };
9577 group as u64
9578 });
9579 __bindgen_bitfield_unit.set(12usize, 4u8, {
9580 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
9581 type_ as u64
9582 });
9583 __bindgen_bitfield_unit
9584 }
9585}
9586pub type snd_ump_msg_midi2_caf_t = _snd_ump_msg_midi2_caf;
9587#[repr(C, packed)]
9588#[derive(Debug, Copy, Clone)]
9589pub struct _snd_ump_msg_midi2_pitchbend {
9590 pub reserved: u16,
9591 pub _bitfield_align_1: [u8; 0],
9592 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
9593 pub data: u32,
9594}
9595impl _snd_ump_msg_midi2_pitchbend {
9596 #[inline]
9597 pub fn channel(&self) -> u8 {
9598 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
9599 }
9600 #[inline]
9601 pub fn set_channel(&mut self, val: u8) {
9602 unsafe {
9603 let val: u8 = ::core::mem::transmute(val);
9604 self._bitfield_1.set(0usize, 4u8, val as u64)
9605 }
9606 }
9607 #[inline]
9608 pub unsafe fn channel_raw(this: *const Self) -> u8 {
9609 unsafe {
9610 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9611 ::core::ptr::addr_of!((*this)._bitfield_1),
9612 0usize,
9613 4u8,
9614 ) as u8)
9615 }
9616 }
9617 #[inline]
9618 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
9619 unsafe {
9620 let val: u8 = ::core::mem::transmute(val);
9621 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9622 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9623 0usize,
9624 4u8,
9625 val as u64,
9626 )
9627 }
9628 }
9629 #[inline]
9630 pub fn status(&self) -> u8 {
9631 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
9632 }
9633 #[inline]
9634 pub fn set_status(&mut self, val: u8) {
9635 unsafe {
9636 let val: u8 = ::core::mem::transmute(val);
9637 self._bitfield_1.set(4usize, 4u8, val as u64)
9638 }
9639 }
9640 #[inline]
9641 pub unsafe fn status_raw(this: *const Self) -> u8 {
9642 unsafe {
9643 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9644 ::core::ptr::addr_of!((*this)._bitfield_1),
9645 4usize,
9646 4u8,
9647 ) as u8)
9648 }
9649 }
9650 #[inline]
9651 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
9652 unsafe {
9653 let val: u8 = ::core::mem::transmute(val);
9654 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9655 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9656 4usize,
9657 4u8,
9658 val as u64,
9659 )
9660 }
9661 }
9662 #[inline]
9663 pub fn group(&self) -> u8 {
9664 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
9665 }
9666 #[inline]
9667 pub fn set_group(&mut self, val: u8) {
9668 unsafe {
9669 let val: u8 = ::core::mem::transmute(val);
9670 self._bitfield_1.set(8usize, 4u8, val as u64)
9671 }
9672 }
9673 #[inline]
9674 pub unsafe fn group_raw(this: *const Self) -> u8 {
9675 unsafe {
9676 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9677 ::core::ptr::addr_of!((*this)._bitfield_1),
9678 8usize,
9679 4u8,
9680 ) as u8)
9681 }
9682 }
9683 #[inline]
9684 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
9685 unsafe {
9686 let val: u8 = ::core::mem::transmute(val);
9687 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9688 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9689 8usize,
9690 4u8,
9691 val as u64,
9692 )
9693 }
9694 }
9695 #[inline]
9696 pub fn type_(&self) -> u8 {
9697 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
9698 }
9699 #[inline]
9700 pub fn set_type(&mut self, val: u8) {
9701 unsafe {
9702 let val: u8 = ::core::mem::transmute(val);
9703 self._bitfield_1.set(12usize, 4u8, val as u64)
9704 }
9705 }
9706 #[inline]
9707 pub unsafe fn type__raw(this: *const Self) -> u8 {
9708 unsafe {
9709 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9710 ::core::ptr::addr_of!((*this)._bitfield_1),
9711 12usize,
9712 4u8,
9713 ) as u8)
9714 }
9715 }
9716 #[inline]
9717 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
9718 unsafe {
9719 let val: u8 = ::core::mem::transmute(val);
9720 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9721 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9722 12usize,
9723 4u8,
9724 val as u64,
9725 )
9726 }
9727 }
9728 #[inline]
9729 pub fn new_bitfield_1(
9730 channel: u8,
9731 status: u8,
9732 group: u8,
9733 type_: u8,
9734 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
9735 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
9736 __bindgen_bitfield_unit.set(0usize, 4u8, {
9737 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
9738 channel as u64
9739 });
9740 __bindgen_bitfield_unit.set(4usize, 4u8, {
9741 let status: u8 = unsafe { ::core::mem::transmute(status) };
9742 status as u64
9743 });
9744 __bindgen_bitfield_unit.set(8usize, 4u8, {
9745 let group: u8 = unsafe { ::core::mem::transmute(group) };
9746 group as u64
9747 });
9748 __bindgen_bitfield_unit.set(12usize, 4u8, {
9749 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
9750 type_ as u64
9751 });
9752 __bindgen_bitfield_unit
9753 }
9754}
9755pub type snd_ump_msg_midi2_pitchbend_t = _snd_ump_msg_midi2_pitchbend;
9756#[repr(C, packed)]
9757#[derive(Debug, Copy, Clone)]
9758pub struct _snd_ump_msg_midi2_per_note_pitchbend {
9759 pub reserved: u8,
9760 pub note: u8,
9761 pub _bitfield_align_1: [u8; 0],
9762 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
9763 pub data: u32,
9764}
9765impl _snd_ump_msg_midi2_per_note_pitchbend {
9766 #[inline]
9767 pub fn channel(&self) -> u8 {
9768 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
9769 }
9770 #[inline]
9771 pub fn set_channel(&mut self, val: u8) {
9772 unsafe {
9773 let val: u8 = ::core::mem::transmute(val);
9774 self._bitfield_1.set(0usize, 4u8, val as u64)
9775 }
9776 }
9777 #[inline]
9778 pub unsafe fn channel_raw(this: *const Self) -> u8 {
9779 unsafe {
9780 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9781 ::core::ptr::addr_of!((*this)._bitfield_1),
9782 0usize,
9783 4u8,
9784 ) as u8)
9785 }
9786 }
9787 #[inline]
9788 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
9789 unsafe {
9790 let val: u8 = ::core::mem::transmute(val);
9791 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9792 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9793 0usize,
9794 4u8,
9795 val as u64,
9796 )
9797 }
9798 }
9799 #[inline]
9800 pub fn status(&self) -> u8 {
9801 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
9802 }
9803 #[inline]
9804 pub fn set_status(&mut self, val: u8) {
9805 unsafe {
9806 let val: u8 = ::core::mem::transmute(val);
9807 self._bitfield_1.set(4usize, 4u8, val as u64)
9808 }
9809 }
9810 #[inline]
9811 pub unsafe fn status_raw(this: *const Self) -> u8 {
9812 unsafe {
9813 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9814 ::core::ptr::addr_of!((*this)._bitfield_1),
9815 4usize,
9816 4u8,
9817 ) as u8)
9818 }
9819 }
9820 #[inline]
9821 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
9822 unsafe {
9823 let val: u8 = ::core::mem::transmute(val);
9824 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9825 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9826 4usize,
9827 4u8,
9828 val as u64,
9829 )
9830 }
9831 }
9832 #[inline]
9833 pub fn group(&self) -> u8 {
9834 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
9835 }
9836 #[inline]
9837 pub fn set_group(&mut self, val: u8) {
9838 unsafe {
9839 let val: u8 = ::core::mem::transmute(val);
9840 self._bitfield_1.set(8usize, 4u8, val as u64)
9841 }
9842 }
9843 #[inline]
9844 pub unsafe fn group_raw(this: *const Self) -> u8 {
9845 unsafe {
9846 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9847 ::core::ptr::addr_of!((*this)._bitfield_1),
9848 8usize,
9849 4u8,
9850 ) as u8)
9851 }
9852 }
9853 #[inline]
9854 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
9855 unsafe {
9856 let val: u8 = ::core::mem::transmute(val);
9857 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9858 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9859 8usize,
9860 4u8,
9861 val as u64,
9862 )
9863 }
9864 }
9865 #[inline]
9866 pub fn type_(&self) -> u8 {
9867 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
9868 }
9869 #[inline]
9870 pub fn set_type(&mut self, val: u8) {
9871 unsafe {
9872 let val: u8 = ::core::mem::transmute(val);
9873 self._bitfield_1.set(12usize, 4u8, val as u64)
9874 }
9875 }
9876 #[inline]
9877 pub unsafe fn type__raw(this: *const Self) -> u8 {
9878 unsafe {
9879 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9880 ::core::ptr::addr_of!((*this)._bitfield_1),
9881 12usize,
9882 4u8,
9883 ) as u8)
9884 }
9885 }
9886 #[inline]
9887 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
9888 unsafe {
9889 let val: u8 = ::core::mem::transmute(val);
9890 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9891 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9892 12usize,
9893 4u8,
9894 val as u64,
9895 )
9896 }
9897 }
9898 #[inline]
9899 pub fn new_bitfield_1(
9900 channel: u8,
9901 status: u8,
9902 group: u8,
9903 type_: u8,
9904 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
9905 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
9906 __bindgen_bitfield_unit.set(0usize, 4u8, {
9907 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
9908 channel as u64
9909 });
9910 __bindgen_bitfield_unit.set(4usize, 4u8, {
9911 let status: u8 = unsafe { ::core::mem::transmute(status) };
9912 status as u64
9913 });
9914 __bindgen_bitfield_unit.set(8usize, 4u8, {
9915 let group: u8 = unsafe { ::core::mem::transmute(group) };
9916 group as u64
9917 });
9918 __bindgen_bitfield_unit.set(12usize, 4u8, {
9919 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
9920 type_ as u64
9921 });
9922 __bindgen_bitfield_unit
9923 }
9924}
9925pub type snd_ump_msg_midi2_per_note_pitchbend_t = _snd_ump_msg_midi2_per_note_pitchbend;
9926#[repr(C)]
9927#[derive(Copy, Clone)]
9928pub union _snd_ump_msg_midi2 {
9929 pub note_on: snd_ump_msg_midi2_note_t,
9930 pub note_off: snd_ump_msg_midi2_note_t,
9931 pub poly_pressure: snd_ump_msg_midi2_paf_t,
9932 pub per_note_acc: snd_ump_msg_midi2_per_note_cc_t,
9933 pub per_note_rcc: snd_ump_msg_midi2_per_note_cc_t,
9934 pub per_note_mgmt: snd_ump_msg_midi2_per_note_mgmt_t,
9935 pub control_change: snd_ump_msg_midi2_cc_t,
9936 pub rpn: snd_ump_msg_midi2_rpn_t,
9937 pub nrpn: snd_ump_msg_midi2_rpn_t,
9938 pub relative_rpn: snd_ump_msg_midi2_rpn_t,
9939 pub relative_nrpn: snd_ump_msg_midi2_rpn_t,
9940 pub program_change: snd_ump_msg_midi2_program_t,
9941 pub channel_pressure: snd_ump_msg_midi2_caf_t,
9942 pub pitchbend: snd_ump_msg_midi2_pitchbend_t,
9943 pub per_note_pitchbend: snd_ump_msg_midi2_per_note_pitchbend_t,
9944 pub hdr: snd_ump_msg_hdr_t,
9945 pub raw: [u32; 2usize],
9946}
9947pub type snd_ump_msg_midi2_t = _snd_ump_msg_midi2;
9948#[repr(C, packed)]
9949#[derive(Debug, Copy, Clone)]
9950pub struct _snd_ump_msg_stream_gen {
9951 pub data1: u16,
9952 pub _bitfield_align_1: [u8; 0],
9953 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
9954 pub data2: u32,
9955 pub data3: u32,
9956 pub data4: u32,
9957}
9958impl _snd_ump_msg_stream_gen {
9959 #[inline]
9960 pub fn status(&self) -> u16 {
9961 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u16) }
9962 }
9963 #[inline]
9964 pub fn set_status(&mut self, val: u16) {
9965 unsafe {
9966 let val: u16 = ::core::mem::transmute(val);
9967 self._bitfield_1.set(0usize, 10u8, val as u64)
9968 }
9969 }
9970 #[inline]
9971 pub unsafe fn status_raw(this: *const Self) -> u16 {
9972 unsafe {
9973 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
9974 ::core::ptr::addr_of!((*this)._bitfield_1),
9975 0usize,
9976 10u8,
9977 ) as u16)
9978 }
9979 }
9980 #[inline]
9981 pub unsafe fn set_status_raw(this: *mut Self, val: u16) {
9982 unsafe {
9983 let val: u16 = ::core::mem::transmute(val);
9984 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
9985 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
9986 0usize,
9987 10u8,
9988 val as u64,
9989 )
9990 }
9991 }
9992 #[inline]
9993 pub fn format(&self) -> u16 {
9994 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 2u8) as u16) }
9995 }
9996 #[inline]
9997 pub fn set_format(&mut self, val: u16) {
9998 unsafe {
9999 let val: u16 = ::core::mem::transmute(val);
10000 self._bitfield_1.set(10usize, 2u8, val as u64)
10001 }
10002 }
10003 #[inline]
10004 pub unsafe fn format_raw(this: *const Self) -> u16 {
10005 unsafe {
10006 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10007 ::core::ptr::addr_of!((*this)._bitfield_1),
10008 10usize,
10009 2u8,
10010 ) as u16)
10011 }
10012 }
10013 #[inline]
10014 pub unsafe fn set_format_raw(this: *mut Self, val: u16) {
10015 unsafe {
10016 let val: u16 = ::core::mem::transmute(val);
10017 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10018 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10019 10usize,
10020 2u8,
10021 val as u64,
10022 )
10023 }
10024 }
10025 #[inline]
10026 pub fn type_(&self) -> u16 {
10027 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u16) }
10028 }
10029 #[inline]
10030 pub fn set_type(&mut self, val: u16) {
10031 unsafe {
10032 let val: u16 = ::core::mem::transmute(val);
10033 self._bitfield_1.set(12usize, 4u8, val as u64)
10034 }
10035 }
10036 #[inline]
10037 pub unsafe fn type__raw(this: *const Self) -> u16 {
10038 unsafe {
10039 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10040 ::core::ptr::addr_of!((*this)._bitfield_1),
10041 12usize,
10042 4u8,
10043 ) as u16)
10044 }
10045 }
10046 #[inline]
10047 pub unsafe fn set_type_raw(this: *mut Self, val: u16) {
10048 unsafe {
10049 let val: u16 = ::core::mem::transmute(val);
10050 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10051 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10052 12usize,
10053 4u8,
10054 val as u64,
10055 )
10056 }
10057 }
10058 #[inline]
10059 pub fn new_bitfield_1(
10060 status: u16,
10061 format: u16,
10062 type_: u16,
10063 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
10064 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
10065 __bindgen_bitfield_unit.set(0usize, 10u8, {
10066 let status: u16 = unsafe { ::core::mem::transmute(status) };
10067 status as u64
10068 });
10069 __bindgen_bitfield_unit.set(10usize, 2u8, {
10070 let format: u16 = unsafe { ::core::mem::transmute(format) };
10071 format as u64
10072 });
10073 __bindgen_bitfield_unit.set(12usize, 4u8, {
10074 let type_: u16 = unsafe { ::core::mem::transmute(type_) };
10075 type_ as u64
10076 });
10077 __bindgen_bitfield_unit
10078 }
10079}
10080pub type snd_ump_msg_stream_gen_t = _snd_ump_msg_stream_gen;
10081#[repr(C)]
10082#[derive(Copy, Clone)]
10083pub union _snd_ump_msg_stream {
10084 pub gen_: snd_ump_msg_stream_gen_t,
10085 pub hdr: snd_ump_msg_hdr_t,
10086 pub raw: [u32; 4usize],
10087}
10088pub type snd_ump_msg_stream_t = _snd_ump_msg_stream;
10089#[repr(C, packed)]
10090#[derive(Debug, Copy, Clone)]
10091pub struct _snd_ump_msg_flex_data_meta {
10092 pub status: u8,
10093 pub status_bank: u8,
10094 pub _bitfield_align_1: [u8; 0],
10095 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
10096 pub data: [u32; 3usize],
10097}
10098impl _snd_ump_msg_flex_data_meta {
10099 #[inline]
10100 pub fn channel(&self) -> u8 {
10101 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
10102 }
10103 #[inline]
10104 pub fn set_channel(&mut self, val: u8) {
10105 unsafe {
10106 let val: u8 = ::core::mem::transmute(val);
10107 self._bitfield_1.set(0usize, 4u8, val as u64)
10108 }
10109 }
10110 #[inline]
10111 pub unsafe fn channel_raw(this: *const Self) -> u8 {
10112 unsafe {
10113 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10114 ::core::ptr::addr_of!((*this)._bitfield_1),
10115 0usize,
10116 4u8,
10117 ) as u8)
10118 }
10119 }
10120 #[inline]
10121 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
10122 unsafe {
10123 let val: u8 = ::core::mem::transmute(val);
10124 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10125 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10126 0usize,
10127 4u8,
10128 val as u64,
10129 )
10130 }
10131 }
10132 #[inline]
10133 pub fn addrs(&self) -> u8 {
10134 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) }
10135 }
10136 #[inline]
10137 pub fn set_addrs(&mut self, val: u8) {
10138 unsafe {
10139 let val: u8 = ::core::mem::transmute(val);
10140 self._bitfield_1.set(4usize, 2u8, val as u64)
10141 }
10142 }
10143 #[inline]
10144 pub unsafe fn addrs_raw(this: *const Self) -> u8 {
10145 unsafe {
10146 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10147 ::core::ptr::addr_of!((*this)._bitfield_1),
10148 4usize,
10149 2u8,
10150 ) as u8)
10151 }
10152 }
10153 #[inline]
10154 pub unsafe fn set_addrs_raw(this: *mut Self, val: u8) {
10155 unsafe {
10156 let val: u8 = ::core::mem::transmute(val);
10157 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10158 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10159 4usize,
10160 2u8,
10161 val as u64,
10162 )
10163 }
10164 }
10165 #[inline]
10166 pub fn format(&self) -> u8 {
10167 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) }
10168 }
10169 #[inline]
10170 pub fn set_format(&mut self, val: u8) {
10171 unsafe {
10172 let val: u8 = ::core::mem::transmute(val);
10173 self._bitfield_1.set(6usize, 2u8, val as u64)
10174 }
10175 }
10176 #[inline]
10177 pub unsafe fn format_raw(this: *const Self) -> u8 {
10178 unsafe {
10179 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10180 ::core::ptr::addr_of!((*this)._bitfield_1),
10181 6usize,
10182 2u8,
10183 ) as u8)
10184 }
10185 }
10186 #[inline]
10187 pub unsafe fn set_format_raw(this: *mut Self, val: u8) {
10188 unsafe {
10189 let val: u8 = ::core::mem::transmute(val);
10190 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10191 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10192 6usize,
10193 2u8,
10194 val as u64,
10195 )
10196 }
10197 }
10198 #[inline]
10199 pub fn group(&self) -> u8 {
10200 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
10201 }
10202 #[inline]
10203 pub fn set_group(&mut self, val: u8) {
10204 unsafe {
10205 let val: u8 = ::core::mem::transmute(val);
10206 self._bitfield_1.set(8usize, 4u8, val as u64)
10207 }
10208 }
10209 #[inline]
10210 pub unsafe fn group_raw(this: *const Self) -> u8 {
10211 unsafe {
10212 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10213 ::core::ptr::addr_of!((*this)._bitfield_1),
10214 8usize,
10215 4u8,
10216 ) as u8)
10217 }
10218 }
10219 #[inline]
10220 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
10221 unsafe {
10222 let val: u8 = ::core::mem::transmute(val);
10223 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10224 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10225 8usize,
10226 4u8,
10227 val as u64,
10228 )
10229 }
10230 }
10231 #[inline]
10232 pub fn type_(&self) -> u8 {
10233 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
10234 }
10235 #[inline]
10236 pub fn set_type(&mut self, val: u8) {
10237 unsafe {
10238 let val: u8 = ::core::mem::transmute(val);
10239 self._bitfield_1.set(12usize, 4u8, val as u64)
10240 }
10241 }
10242 #[inline]
10243 pub unsafe fn type__raw(this: *const Self) -> u8 {
10244 unsafe {
10245 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10246 ::core::ptr::addr_of!((*this)._bitfield_1),
10247 12usize,
10248 4u8,
10249 ) as u8)
10250 }
10251 }
10252 #[inline]
10253 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
10254 unsafe {
10255 let val: u8 = ::core::mem::transmute(val);
10256 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10257 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10258 12usize,
10259 4u8,
10260 val as u64,
10261 )
10262 }
10263 }
10264 #[inline]
10265 pub fn new_bitfield_1(
10266 channel: u8,
10267 addrs: u8,
10268 format: u8,
10269 group: u8,
10270 type_: u8,
10271 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
10272 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
10273 __bindgen_bitfield_unit.set(0usize, 4u8, {
10274 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
10275 channel as u64
10276 });
10277 __bindgen_bitfield_unit.set(4usize, 2u8, {
10278 let addrs: u8 = unsafe { ::core::mem::transmute(addrs) };
10279 addrs as u64
10280 });
10281 __bindgen_bitfield_unit.set(6usize, 2u8, {
10282 let format: u8 = unsafe { ::core::mem::transmute(format) };
10283 format as u64
10284 });
10285 __bindgen_bitfield_unit.set(8usize, 4u8, {
10286 let group: u8 = unsafe { ::core::mem::transmute(group) };
10287 group as u64
10288 });
10289 __bindgen_bitfield_unit.set(12usize, 4u8, {
10290 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
10291 type_ as u64
10292 });
10293 __bindgen_bitfield_unit
10294 }
10295}
10296pub type snd_ump_msg_flex_data_meta_t = _snd_ump_msg_flex_data_meta;
10297#[repr(C, packed)]
10298#[derive(Debug, Copy, Clone)]
10299pub struct _snd_ump_msg_set_tempo {
10300 pub status: u8,
10301 pub status_bank: u8,
10302 pub _bitfield_align_1: [u8; 0],
10303 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
10304 pub tempo: u32,
10305 pub reserved: [u32; 2usize],
10306}
10307impl _snd_ump_msg_set_tempo {
10308 #[inline]
10309 pub fn channel(&self) -> u8 {
10310 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
10311 }
10312 #[inline]
10313 pub fn set_channel(&mut self, val: u8) {
10314 unsafe {
10315 let val: u8 = ::core::mem::transmute(val);
10316 self._bitfield_1.set(0usize, 4u8, val as u64)
10317 }
10318 }
10319 #[inline]
10320 pub unsafe fn channel_raw(this: *const Self) -> u8 {
10321 unsafe {
10322 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10323 ::core::ptr::addr_of!((*this)._bitfield_1),
10324 0usize,
10325 4u8,
10326 ) as u8)
10327 }
10328 }
10329 #[inline]
10330 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
10331 unsafe {
10332 let val: u8 = ::core::mem::transmute(val);
10333 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10334 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10335 0usize,
10336 4u8,
10337 val as u64,
10338 )
10339 }
10340 }
10341 #[inline]
10342 pub fn addrs(&self) -> u8 {
10343 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) }
10344 }
10345 #[inline]
10346 pub fn set_addrs(&mut self, val: u8) {
10347 unsafe {
10348 let val: u8 = ::core::mem::transmute(val);
10349 self._bitfield_1.set(4usize, 2u8, val as u64)
10350 }
10351 }
10352 #[inline]
10353 pub unsafe fn addrs_raw(this: *const Self) -> u8 {
10354 unsafe {
10355 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10356 ::core::ptr::addr_of!((*this)._bitfield_1),
10357 4usize,
10358 2u8,
10359 ) as u8)
10360 }
10361 }
10362 #[inline]
10363 pub unsafe fn set_addrs_raw(this: *mut Self, val: u8) {
10364 unsafe {
10365 let val: u8 = ::core::mem::transmute(val);
10366 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10367 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10368 4usize,
10369 2u8,
10370 val as u64,
10371 )
10372 }
10373 }
10374 #[inline]
10375 pub fn format(&self) -> u8 {
10376 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) }
10377 }
10378 #[inline]
10379 pub fn set_format(&mut self, val: u8) {
10380 unsafe {
10381 let val: u8 = ::core::mem::transmute(val);
10382 self._bitfield_1.set(6usize, 2u8, val as u64)
10383 }
10384 }
10385 #[inline]
10386 pub unsafe fn format_raw(this: *const Self) -> u8 {
10387 unsafe {
10388 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10389 ::core::ptr::addr_of!((*this)._bitfield_1),
10390 6usize,
10391 2u8,
10392 ) as u8)
10393 }
10394 }
10395 #[inline]
10396 pub unsafe fn set_format_raw(this: *mut Self, val: u8) {
10397 unsafe {
10398 let val: u8 = ::core::mem::transmute(val);
10399 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10400 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10401 6usize,
10402 2u8,
10403 val as u64,
10404 )
10405 }
10406 }
10407 #[inline]
10408 pub fn group(&self) -> u8 {
10409 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
10410 }
10411 #[inline]
10412 pub fn set_group(&mut self, val: u8) {
10413 unsafe {
10414 let val: u8 = ::core::mem::transmute(val);
10415 self._bitfield_1.set(8usize, 4u8, val as u64)
10416 }
10417 }
10418 #[inline]
10419 pub unsafe fn group_raw(this: *const Self) -> u8 {
10420 unsafe {
10421 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10422 ::core::ptr::addr_of!((*this)._bitfield_1),
10423 8usize,
10424 4u8,
10425 ) as u8)
10426 }
10427 }
10428 #[inline]
10429 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
10430 unsafe {
10431 let val: u8 = ::core::mem::transmute(val);
10432 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10433 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10434 8usize,
10435 4u8,
10436 val as u64,
10437 )
10438 }
10439 }
10440 #[inline]
10441 pub fn type_(&self) -> u8 {
10442 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
10443 }
10444 #[inline]
10445 pub fn set_type(&mut self, val: u8) {
10446 unsafe {
10447 let val: u8 = ::core::mem::transmute(val);
10448 self._bitfield_1.set(12usize, 4u8, val as u64)
10449 }
10450 }
10451 #[inline]
10452 pub unsafe fn type__raw(this: *const Self) -> u8 {
10453 unsafe {
10454 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10455 ::core::ptr::addr_of!((*this)._bitfield_1),
10456 12usize,
10457 4u8,
10458 ) as u8)
10459 }
10460 }
10461 #[inline]
10462 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
10463 unsafe {
10464 let val: u8 = ::core::mem::transmute(val);
10465 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10466 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10467 12usize,
10468 4u8,
10469 val as u64,
10470 )
10471 }
10472 }
10473 #[inline]
10474 pub fn new_bitfield_1(
10475 channel: u8,
10476 addrs: u8,
10477 format: u8,
10478 group: u8,
10479 type_: u8,
10480 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
10481 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
10482 __bindgen_bitfield_unit.set(0usize, 4u8, {
10483 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
10484 channel as u64
10485 });
10486 __bindgen_bitfield_unit.set(4usize, 2u8, {
10487 let addrs: u8 = unsafe { ::core::mem::transmute(addrs) };
10488 addrs as u64
10489 });
10490 __bindgen_bitfield_unit.set(6usize, 2u8, {
10491 let format: u8 = unsafe { ::core::mem::transmute(format) };
10492 format as u64
10493 });
10494 __bindgen_bitfield_unit.set(8usize, 4u8, {
10495 let group: u8 = unsafe { ::core::mem::transmute(group) };
10496 group as u64
10497 });
10498 __bindgen_bitfield_unit.set(12usize, 4u8, {
10499 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
10500 type_ as u64
10501 });
10502 __bindgen_bitfield_unit
10503 }
10504}
10505pub type snd_ump_msg_set_tempo_t = _snd_ump_msg_set_tempo;
10506#[repr(C, packed)]
10507#[derive(Debug, Copy, Clone)]
10508pub struct _snd_ump_msg_set_time_sig {
10509 pub status: u8,
10510 pub status_bank: u8,
10511 pub _bitfield_align_1: [u8; 0],
10512 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
10513 pub reserved1: u8,
10514 pub num_notes: u8,
10515 pub denominator: u8,
10516 pub numerator: u8,
10517 pub reserved: [u32; 2usize],
10518}
10519impl _snd_ump_msg_set_time_sig {
10520 #[inline]
10521 pub fn channel(&self) -> u8 {
10522 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
10523 }
10524 #[inline]
10525 pub fn set_channel(&mut self, val: u8) {
10526 unsafe {
10527 let val: u8 = ::core::mem::transmute(val);
10528 self._bitfield_1.set(0usize, 4u8, val as u64)
10529 }
10530 }
10531 #[inline]
10532 pub unsafe fn channel_raw(this: *const Self) -> u8 {
10533 unsafe {
10534 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10535 ::core::ptr::addr_of!((*this)._bitfield_1),
10536 0usize,
10537 4u8,
10538 ) as u8)
10539 }
10540 }
10541 #[inline]
10542 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
10543 unsafe {
10544 let val: u8 = ::core::mem::transmute(val);
10545 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10546 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10547 0usize,
10548 4u8,
10549 val as u64,
10550 )
10551 }
10552 }
10553 #[inline]
10554 pub fn addrs(&self) -> u8 {
10555 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) }
10556 }
10557 #[inline]
10558 pub fn set_addrs(&mut self, val: u8) {
10559 unsafe {
10560 let val: u8 = ::core::mem::transmute(val);
10561 self._bitfield_1.set(4usize, 2u8, val as u64)
10562 }
10563 }
10564 #[inline]
10565 pub unsafe fn addrs_raw(this: *const Self) -> u8 {
10566 unsafe {
10567 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10568 ::core::ptr::addr_of!((*this)._bitfield_1),
10569 4usize,
10570 2u8,
10571 ) as u8)
10572 }
10573 }
10574 #[inline]
10575 pub unsafe fn set_addrs_raw(this: *mut Self, val: u8) {
10576 unsafe {
10577 let val: u8 = ::core::mem::transmute(val);
10578 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10579 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10580 4usize,
10581 2u8,
10582 val as u64,
10583 )
10584 }
10585 }
10586 #[inline]
10587 pub fn format(&self) -> u8 {
10588 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) }
10589 }
10590 #[inline]
10591 pub fn set_format(&mut self, val: u8) {
10592 unsafe {
10593 let val: u8 = ::core::mem::transmute(val);
10594 self._bitfield_1.set(6usize, 2u8, val as u64)
10595 }
10596 }
10597 #[inline]
10598 pub unsafe fn format_raw(this: *const Self) -> u8 {
10599 unsafe {
10600 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10601 ::core::ptr::addr_of!((*this)._bitfield_1),
10602 6usize,
10603 2u8,
10604 ) as u8)
10605 }
10606 }
10607 #[inline]
10608 pub unsafe fn set_format_raw(this: *mut Self, val: u8) {
10609 unsafe {
10610 let val: u8 = ::core::mem::transmute(val);
10611 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10612 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10613 6usize,
10614 2u8,
10615 val as u64,
10616 )
10617 }
10618 }
10619 #[inline]
10620 pub fn group(&self) -> u8 {
10621 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
10622 }
10623 #[inline]
10624 pub fn set_group(&mut self, val: u8) {
10625 unsafe {
10626 let val: u8 = ::core::mem::transmute(val);
10627 self._bitfield_1.set(8usize, 4u8, val as u64)
10628 }
10629 }
10630 #[inline]
10631 pub unsafe fn group_raw(this: *const Self) -> u8 {
10632 unsafe {
10633 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10634 ::core::ptr::addr_of!((*this)._bitfield_1),
10635 8usize,
10636 4u8,
10637 ) as u8)
10638 }
10639 }
10640 #[inline]
10641 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
10642 unsafe {
10643 let val: u8 = ::core::mem::transmute(val);
10644 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10645 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10646 8usize,
10647 4u8,
10648 val as u64,
10649 )
10650 }
10651 }
10652 #[inline]
10653 pub fn type_(&self) -> u8 {
10654 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
10655 }
10656 #[inline]
10657 pub fn set_type(&mut self, val: u8) {
10658 unsafe {
10659 let val: u8 = ::core::mem::transmute(val);
10660 self._bitfield_1.set(12usize, 4u8, val as u64)
10661 }
10662 }
10663 #[inline]
10664 pub unsafe fn type__raw(this: *const Self) -> u8 {
10665 unsafe {
10666 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10667 ::core::ptr::addr_of!((*this)._bitfield_1),
10668 12usize,
10669 4u8,
10670 ) as u8)
10671 }
10672 }
10673 #[inline]
10674 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
10675 unsafe {
10676 let val: u8 = ::core::mem::transmute(val);
10677 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10678 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10679 12usize,
10680 4u8,
10681 val as u64,
10682 )
10683 }
10684 }
10685 #[inline]
10686 pub fn new_bitfield_1(
10687 channel: u8,
10688 addrs: u8,
10689 format: u8,
10690 group: u8,
10691 type_: u8,
10692 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
10693 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
10694 __bindgen_bitfield_unit.set(0usize, 4u8, {
10695 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
10696 channel as u64
10697 });
10698 __bindgen_bitfield_unit.set(4usize, 2u8, {
10699 let addrs: u8 = unsafe { ::core::mem::transmute(addrs) };
10700 addrs as u64
10701 });
10702 __bindgen_bitfield_unit.set(6usize, 2u8, {
10703 let format: u8 = unsafe { ::core::mem::transmute(format) };
10704 format as u64
10705 });
10706 __bindgen_bitfield_unit.set(8usize, 4u8, {
10707 let group: u8 = unsafe { ::core::mem::transmute(group) };
10708 group as u64
10709 });
10710 __bindgen_bitfield_unit.set(12usize, 4u8, {
10711 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
10712 type_ as u64
10713 });
10714 __bindgen_bitfield_unit
10715 }
10716}
10717pub type snd_ump_msg_set_time_sig_t = _snd_ump_msg_set_time_sig;
10718#[repr(C, packed)]
10719#[derive(Debug, Copy, Clone)]
10720pub struct _snd_ump_msg_set_metronome {
10721 pub status: u8,
10722 pub status_bank: u8,
10723 pub _bitfield_align_1: [u8; 0],
10724 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
10725 pub bar_accent_3: u8,
10726 pub bar_accent_2: u8,
10727 pub bar_accent_1: u8,
10728 pub clocks_primary: u8,
10729 pub reserved1: u16,
10730 pub subdivision_2: u8,
10731 pub subdivision_1: u8,
10732 pub reserved2: u32,
10733}
10734impl _snd_ump_msg_set_metronome {
10735 #[inline]
10736 pub fn channel(&self) -> u8 {
10737 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
10738 }
10739 #[inline]
10740 pub fn set_channel(&mut self, val: u8) {
10741 unsafe {
10742 let val: u8 = ::core::mem::transmute(val);
10743 self._bitfield_1.set(0usize, 4u8, val as u64)
10744 }
10745 }
10746 #[inline]
10747 pub unsafe fn channel_raw(this: *const Self) -> u8 {
10748 unsafe {
10749 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10750 ::core::ptr::addr_of!((*this)._bitfield_1),
10751 0usize,
10752 4u8,
10753 ) as u8)
10754 }
10755 }
10756 #[inline]
10757 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
10758 unsafe {
10759 let val: u8 = ::core::mem::transmute(val);
10760 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10761 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10762 0usize,
10763 4u8,
10764 val as u64,
10765 )
10766 }
10767 }
10768 #[inline]
10769 pub fn addrs(&self) -> u8 {
10770 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) }
10771 }
10772 #[inline]
10773 pub fn set_addrs(&mut self, val: u8) {
10774 unsafe {
10775 let val: u8 = ::core::mem::transmute(val);
10776 self._bitfield_1.set(4usize, 2u8, val as u64)
10777 }
10778 }
10779 #[inline]
10780 pub unsafe fn addrs_raw(this: *const Self) -> u8 {
10781 unsafe {
10782 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10783 ::core::ptr::addr_of!((*this)._bitfield_1),
10784 4usize,
10785 2u8,
10786 ) as u8)
10787 }
10788 }
10789 #[inline]
10790 pub unsafe fn set_addrs_raw(this: *mut Self, val: u8) {
10791 unsafe {
10792 let val: u8 = ::core::mem::transmute(val);
10793 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10794 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10795 4usize,
10796 2u8,
10797 val as u64,
10798 )
10799 }
10800 }
10801 #[inline]
10802 pub fn format(&self) -> u8 {
10803 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) }
10804 }
10805 #[inline]
10806 pub fn set_format(&mut self, val: u8) {
10807 unsafe {
10808 let val: u8 = ::core::mem::transmute(val);
10809 self._bitfield_1.set(6usize, 2u8, val as u64)
10810 }
10811 }
10812 #[inline]
10813 pub unsafe fn format_raw(this: *const Self) -> u8 {
10814 unsafe {
10815 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10816 ::core::ptr::addr_of!((*this)._bitfield_1),
10817 6usize,
10818 2u8,
10819 ) as u8)
10820 }
10821 }
10822 #[inline]
10823 pub unsafe fn set_format_raw(this: *mut Self, val: u8) {
10824 unsafe {
10825 let val: u8 = ::core::mem::transmute(val);
10826 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10827 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10828 6usize,
10829 2u8,
10830 val as u64,
10831 )
10832 }
10833 }
10834 #[inline]
10835 pub fn group(&self) -> u8 {
10836 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
10837 }
10838 #[inline]
10839 pub fn set_group(&mut self, val: u8) {
10840 unsafe {
10841 let val: u8 = ::core::mem::transmute(val);
10842 self._bitfield_1.set(8usize, 4u8, val as u64)
10843 }
10844 }
10845 #[inline]
10846 pub unsafe fn group_raw(this: *const Self) -> u8 {
10847 unsafe {
10848 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10849 ::core::ptr::addr_of!((*this)._bitfield_1),
10850 8usize,
10851 4u8,
10852 ) as u8)
10853 }
10854 }
10855 #[inline]
10856 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
10857 unsafe {
10858 let val: u8 = ::core::mem::transmute(val);
10859 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10860 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10861 8usize,
10862 4u8,
10863 val as u64,
10864 )
10865 }
10866 }
10867 #[inline]
10868 pub fn type_(&self) -> u8 {
10869 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
10870 }
10871 #[inline]
10872 pub fn set_type(&mut self, val: u8) {
10873 unsafe {
10874 let val: u8 = ::core::mem::transmute(val);
10875 self._bitfield_1.set(12usize, 4u8, val as u64)
10876 }
10877 }
10878 #[inline]
10879 pub unsafe fn type__raw(this: *const Self) -> u8 {
10880 unsafe {
10881 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10882 ::core::ptr::addr_of!((*this)._bitfield_1),
10883 12usize,
10884 4u8,
10885 ) as u8)
10886 }
10887 }
10888 #[inline]
10889 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
10890 unsafe {
10891 let val: u8 = ::core::mem::transmute(val);
10892 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10893 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10894 12usize,
10895 4u8,
10896 val as u64,
10897 )
10898 }
10899 }
10900 #[inline]
10901 pub fn new_bitfield_1(
10902 channel: u8,
10903 addrs: u8,
10904 format: u8,
10905 group: u8,
10906 type_: u8,
10907 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
10908 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
10909 __bindgen_bitfield_unit.set(0usize, 4u8, {
10910 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
10911 channel as u64
10912 });
10913 __bindgen_bitfield_unit.set(4usize, 2u8, {
10914 let addrs: u8 = unsafe { ::core::mem::transmute(addrs) };
10915 addrs as u64
10916 });
10917 __bindgen_bitfield_unit.set(6usize, 2u8, {
10918 let format: u8 = unsafe { ::core::mem::transmute(format) };
10919 format as u64
10920 });
10921 __bindgen_bitfield_unit.set(8usize, 4u8, {
10922 let group: u8 = unsafe { ::core::mem::transmute(group) };
10923 group as u64
10924 });
10925 __bindgen_bitfield_unit.set(12usize, 4u8, {
10926 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
10927 type_ as u64
10928 });
10929 __bindgen_bitfield_unit
10930 }
10931}
10932pub type snd_ump_msg_set_metronome_t = _snd_ump_msg_set_metronome;
10933#[repr(C, packed)]
10934#[derive(Debug, Copy, Clone)]
10935pub struct _snd_ump_msg_set_key_sig {
10936 pub status: u8,
10937 pub status_bank: u8,
10938 pub _bitfield_align_1: [u8; 0],
10939 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
10940 pub reserved1: [u8; 3usize],
10941 pub _bitfield_align_2: [u8; 0],
10942 pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>,
10943 pub reserved2: [u32; 2usize],
10944}
10945impl _snd_ump_msg_set_key_sig {
10946 #[inline]
10947 pub fn channel(&self) -> u8 {
10948 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
10949 }
10950 #[inline]
10951 pub fn set_channel(&mut self, val: u8) {
10952 unsafe {
10953 let val: u8 = ::core::mem::transmute(val);
10954 self._bitfield_1.set(0usize, 4u8, val as u64)
10955 }
10956 }
10957 #[inline]
10958 pub unsafe fn channel_raw(this: *const Self) -> u8 {
10959 unsafe {
10960 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10961 ::core::ptr::addr_of!((*this)._bitfield_1),
10962 0usize,
10963 4u8,
10964 ) as u8)
10965 }
10966 }
10967 #[inline]
10968 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
10969 unsafe {
10970 let val: u8 = ::core::mem::transmute(val);
10971 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
10972 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
10973 0usize,
10974 4u8,
10975 val as u64,
10976 )
10977 }
10978 }
10979 #[inline]
10980 pub fn addrs(&self) -> u8 {
10981 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) }
10982 }
10983 #[inline]
10984 pub fn set_addrs(&mut self, val: u8) {
10985 unsafe {
10986 let val: u8 = ::core::mem::transmute(val);
10987 self._bitfield_1.set(4usize, 2u8, val as u64)
10988 }
10989 }
10990 #[inline]
10991 pub unsafe fn addrs_raw(this: *const Self) -> u8 {
10992 unsafe {
10993 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
10994 ::core::ptr::addr_of!((*this)._bitfield_1),
10995 4usize,
10996 2u8,
10997 ) as u8)
10998 }
10999 }
11000 #[inline]
11001 pub unsafe fn set_addrs_raw(this: *mut Self, val: u8) {
11002 unsafe {
11003 let val: u8 = ::core::mem::transmute(val);
11004 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
11005 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11006 4usize,
11007 2u8,
11008 val as u64,
11009 )
11010 }
11011 }
11012 #[inline]
11013 pub fn format(&self) -> u8 {
11014 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) }
11015 }
11016 #[inline]
11017 pub fn set_format(&mut self, val: u8) {
11018 unsafe {
11019 let val: u8 = ::core::mem::transmute(val);
11020 self._bitfield_1.set(6usize, 2u8, val as u64)
11021 }
11022 }
11023 #[inline]
11024 pub unsafe fn format_raw(this: *const Self) -> u8 {
11025 unsafe {
11026 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
11027 ::core::ptr::addr_of!((*this)._bitfield_1),
11028 6usize,
11029 2u8,
11030 ) as u8)
11031 }
11032 }
11033 #[inline]
11034 pub unsafe fn set_format_raw(this: *mut Self, val: u8) {
11035 unsafe {
11036 let val: u8 = ::core::mem::transmute(val);
11037 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
11038 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11039 6usize,
11040 2u8,
11041 val as u64,
11042 )
11043 }
11044 }
11045 #[inline]
11046 pub fn group(&self) -> u8 {
11047 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
11048 }
11049 #[inline]
11050 pub fn set_group(&mut self, val: u8) {
11051 unsafe {
11052 let val: u8 = ::core::mem::transmute(val);
11053 self._bitfield_1.set(8usize, 4u8, val as u64)
11054 }
11055 }
11056 #[inline]
11057 pub unsafe fn group_raw(this: *const Self) -> u8 {
11058 unsafe {
11059 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
11060 ::core::ptr::addr_of!((*this)._bitfield_1),
11061 8usize,
11062 4u8,
11063 ) as u8)
11064 }
11065 }
11066 #[inline]
11067 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
11068 unsafe {
11069 let val: u8 = ::core::mem::transmute(val);
11070 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
11071 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11072 8usize,
11073 4u8,
11074 val as u64,
11075 )
11076 }
11077 }
11078 #[inline]
11079 pub fn type_(&self) -> u8 {
11080 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
11081 }
11082 #[inline]
11083 pub fn set_type(&mut self, val: u8) {
11084 unsafe {
11085 let val: u8 = ::core::mem::transmute(val);
11086 self._bitfield_1.set(12usize, 4u8, val as u64)
11087 }
11088 }
11089 #[inline]
11090 pub unsafe fn type__raw(this: *const Self) -> u8 {
11091 unsafe {
11092 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
11093 ::core::ptr::addr_of!((*this)._bitfield_1),
11094 12usize,
11095 4u8,
11096 ) as u8)
11097 }
11098 }
11099 #[inline]
11100 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
11101 unsafe {
11102 let val: u8 = ::core::mem::transmute(val);
11103 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
11104 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11105 12usize,
11106 4u8,
11107 val as u64,
11108 )
11109 }
11110 }
11111 #[inline]
11112 pub fn new_bitfield_1(
11113 channel: u8,
11114 addrs: u8,
11115 format: u8,
11116 group: u8,
11117 type_: u8,
11118 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
11119 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
11120 __bindgen_bitfield_unit.set(0usize, 4u8, {
11121 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
11122 channel as u64
11123 });
11124 __bindgen_bitfield_unit.set(4usize, 2u8, {
11125 let addrs: u8 = unsafe { ::core::mem::transmute(addrs) };
11126 addrs as u64
11127 });
11128 __bindgen_bitfield_unit.set(6usize, 2u8, {
11129 let format: u8 = unsafe { ::core::mem::transmute(format) };
11130 format as u64
11131 });
11132 __bindgen_bitfield_unit.set(8usize, 4u8, {
11133 let group: u8 = unsafe { ::core::mem::transmute(group) };
11134 group as u64
11135 });
11136 __bindgen_bitfield_unit.set(12usize, 4u8, {
11137 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
11138 type_ as u64
11139 });
11140 __bindgen_bitfield_unit
11141 }
11142 #[inline]
11143 pub fn tonic_note(&self) -> u8 {
11144 unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 4u8) as u8) }
11145 }
11146 #[inline]
11147 pub fn set_tonic_note(&mut self, val: u8) {
11148 unsafe {
11149 let val: u8 = ::core::mem::transmute(val);
11150 self._bitfield_2.set(0usize, 4u8, val as u64)
11151 }
11152 }
11153 #[inline]
11154 pub unsafe fn tonic_note_raw(this: *const Self) -> u8 {
11155 unsafe {
11156 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11157 ::core::ptr::addr_of!((*this)._bitfield_2),
11158 0usize,
11159 4u8,
11160 ) as u8)
11161 }
11162 }
11163 #[inline]
11164 pub unsafe fn set_tonic_note_raw(this: *mut Self, val: u8) {
11165 unsafe {
11166 let val: u8 = ::core::mem::transmute(val);
11167 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11168 ::core::ptr::addr_of_mut!((*this)._bitfield_2),
11169 0usize,
11170 4u8,
11171 val as u64,
11172 )
11173 }
11174 }
11175 #[inline]
11176 pub fn sharps_flats(&self) -> u8 {
11177 unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 4u8) as u8) }
11178 }
11179 #[inline]
11180 pub fn set_sharps_flats(&mut self, val: u8) {
11181 unsafe {
11182 let val: u8 = ::core::mem::transmute(val);
11183 self._bitfield_2.set(4usize, 4u8, val as u64)
11184 }
11185 }
11186 #[inline]
11187 pub unsafe fn sharps_flats_raw(this: *const Self) -> u8 {
11188 unsafe {
11189 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11190 ::core::ptr::addr_of!((*this)._bitfield_2),
11191 4usize,
11192 4u8,
11193 ) as u8)
11194 }
11195 }
11196 #[inline]
11197 pub unsafe fn set_sharps_flats_raw(this: *mut Self, val: u8) {
11198 unsafe {
11199 let val: u8 = ::core::mem::transmute(val);
11200 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11201 ::core::ptr::addr_of_mut!((*this)._bitfield_2),
11202 4usize,
11203 4u8,
11204 val as u64,
11205 )
11206 }
11207 }
11208 #[inline]
11209 pub fn new_bitfield_2(tonic_note: u8, sharps_flats: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11210 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11211 __bindgen_bitfield_unit.set(0usize, 4u8, {
11212 let tonic_note: u8 = unsafe { ::core::mem::transmute(tonic_note) };
11213 tonic_note as u64
11214 });
11215 __bindgen_bitfield_unit.set(4usize, 4u8, {
11216 let sharps_flats: u8 = unsafe { ::core::mem::transmute(sharps_flats) };
11217 sharps_flats as u64
11218 });
11219 __bindgen_bitfield_unit
11220 }
11221}
11222pub type snd_ump_msg_set_key_sig_t = _snd_ump_msg_set_key_sig;
11223#[repr(C, packed)]
11224#[derive(Debug, Copy, Clone)]
11225pub struct _snd_ump_msg_set_chord_name {
11226 pub status: u8,
11227 pub status_bank: u8,
11228 pub _bitfield_align_1: [u8; 0],
11229 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
11230 pub chord_type: u8,
11231 pub _bitfield_align_2: [u8; 0],
11232 pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>,
11233 pub reserved: u16,
11234 pub _bitfield_align_3: [u8; 0],
11235 pub _bitfield_3: __BindgenBitfieldUnit<[u8; 4usize]>,
11236 pub bass_type: u8,
11237 pub _bitfield_align_4: [u8; 0],
11238 pub _bitfield_4: __BindgenBitfieldUnit<[u8; 1usize]>,
11239}
11240impl _snd_ump_msg_set_chord_name {
11241 #[inline]
11242 pub fn channel(&self) -> u8 {
11243 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
11244 }
11245 #[inline]
11246 pub fn set_channel(&mut self, val: u8) {
11247 unsafe {
11248 let val: u8 = ::core::mem::transmute(val);
11249 self._bitfield_1.set(0usize, 4u8, val as u64)
11250 }
11251 }
11252 #[inline]
11253 pub unsafe fn channel_raw(this: *const Self) -> u8 {
11254 unsafe {
11255 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11256 ::core::ptr::addr_of!((*this)._bitfield_1),
11257 0usize,
11258 4u8,
11259 ) as u8)
11260 }
11261 }
11262 #[inline]
11263 pub unsafe fn set_channel_raw(this: *mut Self, val: u8) {
11264 unsafe {
11265 let val: u8 = ::core::mem::transmute(val);
11266 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11267 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11268 0usize,
11269 4u8,
11270 val as u64,
11271 )
11272 }
11273 }
11274 #[inline]
11275 pub fn addrs(&self) -> u8 {
11276 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) }
11277 }
11278 #[inline]
11279 pub fn set_addrs(&mut self, val: u8) {
11280 unsafe {
11281 let val: u8 = ::core::mem::transmute(val);
11282 self._bitfield_1.set(4usize, 2u8, val as u64)
11283 }
11284 }
11285 #[inline]
11286 pub unsafe fn addrs_raw(this: *const Self) -> u8 {
11287 unsafe {
11288 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11289 ::core::ptr::addr_of!((*this)._bitfield_1),
11290 4usize,
11291 2u8,
11292 ) as u8)
11293 }
11294 }
11295 #[inline]
11296 pub unsafe fn set_addrs_raw(this: *mut Self, val: u8) {
11297 unsafe {
11298 let val: u8 = ::core::mem::transmute(val);
11299 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11300 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11301 4usize,
11302 2u8,
11303 val as u64,
11304 )
11305 }
11306 }
11307 #[inline]
11308 pub fn format(&self) -> u8 {
11309 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) }
11310 }
11311 #[inline]
11312 pub fn set_format(&mut self, val: u8) {
11313 unsafe {
11314 let val: u8 = ::core::mem::transmute(val);
11315 self._bitfield_1.set(6usize, 2u8, val as u64)
11316 }
11317 }
11318 #[inline]
11319 pub unsafe fn format_raw(this: *const Self) -> u8 {
11320 unsafe {
11321 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11322 ::core::ptr::addr_of!((*this)._bitfield_1),
11323 6usize,
11324 2u8,
11325 ) as u8)
11326 }
11327 }
11328 #[inline]
11329 pub unsafe fn set_format_raw(this: *mut Self, val: u8) {
11330 unsafe {
11331 let val: u8 = ::core::mem::transmute(val);
11332 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11333 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11334 6usize,
11335 2u8,
11336 val as u64,
11337 )
11338 }
11339 }
11340 #[inline]
11341 pub fn group(&self) -> u8 {
11342 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
11343 }
11344 #[inline]
11345 pub fn set_group(&mut self, val: u8) {
11346 unsafe {
11347 let val: u8 = ::core::mem::transmute(val);
11348 self._bitfield_1.set(8usize, 4u8, val as u64)
11349 }
11350 }
11351 #[inline]
11352 pub unsafe fn group_raw(this: *const Self) -> u8 {
11353 unsafe {
11354 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11355 ::core::ptr::addr_of!((*this)._bitfield_1),
11356 8usize,
11357 4u8,
11358 ) as u8)
11359 }
11360 }
11361 #[inline]
11362 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
11363 unsafe {
11364 let val: u8 = ::core::mem::transmute(val);
11365 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11366 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11367 8usize,
11368 4u8,
11369 val as u64,
11370 )
11371 }
11372 }
11373 #[inline]
11374 pub fn type_(&self) -> u8 {
11375 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
11376 }
11377 #[inline]
11378 pub fn set_type(&mut self, val: u8) {
11379 unsafe {
11380 let val: u8 = ::core::mem::transmute(val);
11381 self._bitfield_1.set(12usize, 4u8, val as u64)
11382 }
11383 }
11384 #[inline]
11385 pub unsafe fn type__raw(this: *const Self) -> u8 {
11386 unsafe {
11387 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11388 ::core::ptr::addr_of!((*this)._bitfield_1),
11389 12usize,
11390 4u8,
11391 ) as u8)
11392 }
11393 }
11394 #[inline]
11395 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
11396 unsafe {
11397 let val: u8 = ::core::mem::transmute(val);
11398 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11399 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11400 12usize,
11401 4u8,
11402 val as u64,
11403 )
11404 }
11405 }
11406 #[inline]
11407 pub fn alter2_degree(&self) -> u8 {
11408 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u8) }
11409 }
11410 #[inline]
11411 pub fn set_alter2_degree(&mut self, val: u8) {
11412 unsafe {
11413 let val: u8 = ::core::mem::transmute(val);
11414 self._bitfield_1.set(16usize, 4u8, val as u64)
11415 }
11416 }
11417 #[inline]
11418 pub unsafe fn alter2_degree_raw(this: *const Self) -> u8 {
11419 unsafe {
11420 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11421 ::core::ptr::addr_of!((*this)._bitfield_1),
11422 16usize,
11423 4u8,
11424 ) as u8)
11425 }
11426 }
11427 #[inline]
11428 pub unsafe fn set_alter2_degree_raw(this: *mut Self, val: u8) {
11429 unsafe {
11430 let val: u8 = ::core::mem::transmute(val);
11431 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11432 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11433 16usize,
11434 4u8,
11435 val as u64,
11436 )
11437 }
11438 }
11439 #[inline]
11440 pub fn alter2_type(&self) -> u8 {
11441 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u8) }
11442 }
11443 #[inline]
11444 pub fn set_alter2_type(&mut self, val: u8) {
11445 unsafe {
11446 let val: u8 = ::core::mem::transmute(val);
11447 self._bitfield_1.set(20usize, 4u8, val as u64)
11448 }
11449 }
11450 #[inline]
11451 pub unsafe fn alter2_type_raw(this: *const Self) -> u8 {
11452 unsafe {
11453 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11454 ::core::ptr::addr_of!((*this)._bitfield_1),
11455 20usize,
11456 4u8,
11457 ) as u8)
11458 }
11459 }
11460 #[inline]
11461 pub unsafe fn set_alter2_type_raw(this: *mut Self, val: u8) {
11462 unsafe {
11463 let val: u8 = ::core::mem::transmute(val);
11464 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11465 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11466 20usize,
11467 4u8,
11468 val as u64,
11469 )
11470 }
11471 }
11472 #[inline]
11473 pub fn alter1_degree(&self) -> u8 {
11474 unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 4u8) as u8) }
11475 }
11476 #[inline]
11477 pub fn set_alter1_degree(&mut self, val: u8) {
11478 unsafe {
11479 let val: u8 = ::core::mem::transmute(val);
11480 self._bitfield_1.set(24usize, 4u8, val as u64)
11481 }
11482 }
11483 #[inline]
11484 pub unsafe fn alter1_degree_raw(this: *const Self) -> u8 {
11485 unsafe {
11486 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11487 ::core::ptr::addr_of!((*this)._bitfield_1),
11488 24usize,
11489 4u8,
11490 ) as u8)
11491 }
11492 }
11493 #[inline]
11494 pub unsafe fn set_alter1_degree_raw(this: *mut Self, val: u8) {
11495 unsafe {
11496 let val: u8 = ::core::mem::transmute(val);
11497 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11498 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11499 24usize,
11500 4u8,
11501 val as u64,
11502 )
11503 }
11504 }
11505 #[inline]
11506 pub fn alter1_type(&self) -> u8 {
11507 unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u8) }
11508 }
11509 #[inline]
11510 pub fn set_alter1_type(&mut self, val: u8) {
11511 unsafe {
11512 let val: u8 = ::core::mem::transmute(val);
11513 self._bitfield_1.set(28usize, 4u8, val as u64)
11514 }
11515 }
11516 #[inline]
11517 pub unsafe fn alter1_type_raw(this: *const Self) -> u8 {
11518 unsafe {
11519 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11520 ::core::ptr::addr_of!((*this)._bitfield_1),
11521 28usize,
11522 4u8,
11523 ) as u8)
11524 }
11525 }
11526 #[inline]
11527 pub unsafe fn set_alter1_type_raw(this: *mut Self, val: u8) {
11528 unsafe {
11529 let val: u8 = ::core::mem::transmute(val);
11530 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11531 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
11532 28usize,
11533 4u8,
11534 val as u64,
11535 )
11536 }
11537 }
11538 #[inline]
11539 pub fn new_bitfield_1(
11540 channel: u8,
11541 addrs: u8,
11542 format: u8,
11543 group: u8,
11544 type_: u8,
11545 alter2_degree: u8,
11546 alter2_type: u8,
11547 alter1_degree: u8,
11548 alter1_type: u8,
11549 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11550 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11551 __bindgen_bitfield_unit.set(0usize, 4u8, {
11552 let channel: u8 = unsafe { ::core::mem::transmute(channel) };
11553 channel as u64
11554 });
11555 __bindgen_bitfield_unit.set(4usize, 2u8, {
11556 let addrs: u8 = unsafe { ::core::mem::transmute(addrs) };
11557 addrs as u64
11558 });
11559 __bindgen_bitfield_unit.set(6usize, 2u8, {
11560 let format: u8 = unsafe { ::core::mem::transmute(format) };
11561 format as u64
11562 });
11563 __bindgen_bitfield_unit.set(8usize, 4u8, {
11564 let group: u8 = unsafe { ::core::mem::transmute(group) };
11565 group as u64
11566 });
11567 __bindgen_bitfield_unit.set(12usize, 4u8, {
11568 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
11569 type_ as u64
11570 });
11571 __bindgen_bitfield_unit.set(16usize, 4u8, {
11572 let alter2_degree: u8 = unsafe { ::core::mem::transmute(alter2_degree) };
11573 alter2_degree as u64
11574 });
11575 __bindgen_bitfield_unit.set(20usize, 4u8, {
11576 let alter2_type: u8 = unsafe { ::core::mem::transmute(alter2_type) };
11577 alter2_type as u64
11578 });
11579 __bindgen_bitfield_unit.set(24usize, 4u8, {
11580 let alter1_degree: u8 = unsafe { ::core::mem::transmute(alter1_degree) };
11581 alter1_degree as u64
11582 });
11583 __bindgen_bitfield_unit.set(28usize, 4u8, {
11584 let alter1_type: u8 = unsafe { ::core::mem::transmute(alter1_type) };
11585 alter1_type as u64
11586 });
11587 __bindgen_bitfield_unit
11588 }
11589 #[inline]
11590 pub fn chord_tonic(&self) -> u8 {
11591 unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 4u8) as u8) }
11592 }
11593 #[inline]
11594 pub fn set_chord_tonic(&mut self, val: u8) {
11595 unsafe {
11596 let val: u8 = ::core::mem::transmute(val);
11597 self._bitfield_2.set(0usize, 4u8, val as u64)
11598 }
11599 }
11600 #[inline]
11601 pub unsafe fn chord_tonic_raw(this: *const Self) -> u8 {
11602 unsafe {
11603 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11604 ::core::ptr::addr_of!((*this)._bitfield_2),
11605 0usize,
11606 4u8,
11607 ) as u8)
11608 }
11609 }
11610 #[inline]
11611 pub unsafe fn set_chord_tonic_raw(this: *mut Self, val: u8) {
11612 unsafe {
11613 let val: u8 = ::core::mem::transmute(val);
11614 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11615 ::core::ptr::addr_of_mut!((*this)._bitfield_2),
11616 0usize,
11617 4u8,
11618 val as u64,
11619 )
11620 }
11621 }
11622 #[inline]
11623 pub fn tonic_sharp(&self) -> u8 {
11624 unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 4u8) as u8) }
11625 }
11626 #[inline]
11627 pub fn set_tonic_sharp(&mut self, val: u8) {
11628 unsafe {
11629 let val: u8 = ::core::mem::transmute(val);
11630 self._bitfield_2.set(4usize, 4u8, val as u64)
11631 }
11632 }
11633 #[inline]
11634 pub unsafe fn tonic_sharp_raw(this: *const Self) -> u8 {
11635 unsafe {
11636 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11637 ::core::ptr::addr_of!((*this)._bitfield_2),
11638 4usize,
11639 4u8,
11640 ) as u8)
11641 }
11642 }
11643 #[inline]
11644 pub unsafe fn set_tonic_sharp_raw(this: *mut Self, val: u8) {
11645 unsafe {
11646 let val: u8 = ::core::mem::transmute(val);
11647 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11648 ::core::ptr::addr_of_mut!((*this)._bitfield_2),
11649 4usize,
11650 4u8,
11651 val as u64,
11652 )
11653 }
11654 }
11655 #[inline]
11656 pub fn new_bitfield_2(chord_tonic: u8, tonic_sharp: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11657 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11658 __bindgen_bitfield_unit.set(0usize, 4u8, {
11659 let chord_tonic: u8 = unsafe { ::core::mem::transmute(chord_tonic) };
11660 chord_tonic as u64
11661 });
11662 __bindgen_bitfield_unit.set(4usize, 4u8, {
11663 let tonic_sharp: u8 = unsafe { ::core::mem::transmute(tonic_sharp) };
11664 tonic_sharp as u64
11665 });
11666 __bindgen_bitfield_unit
11667 }
11668 #[inline]
11669 pub fn alter4_degree(&self) -> u8 {
11670 unsafe { ::core::mem::transmute(self._bitfield_3.get(0usize, 4u8) as u8) }
11671 }
11672 #[inline]
11673 pub fn set_alter4_degree(&mut self, val: u8) {
11674 unsafe {
11675 let val: u8 = ::core::mem::transmute(val);
11676 self._bitfield_3.set(0usize, 4u8, val as u64)
11677 }
11678 }
11679 #[inline]
11680 pub unsafe fn alter4_degree_raw(this: *const Self) -> u8 {
11681 unsafe {
11682 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11683 ::core::ptr::addr_of!((*this)._bitfield_3),
11684 0usize,
11685 4u8,
11686 ) as u8)
11687 }
11688 }
11689 #[inline]
11690 pub unsafe fn set_alter4_degree_raw(this: *mut Self, val: u8) {
11691 unsafe {
11692 let val: u8 = ::core::mem::transmute(val);
11693 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11694 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11695 0usize,
11696 4u8,
11697 val as u64,
11698 )
11699 }
11700 }
11701 #[inline]
11702 pub fn alter4_type(&self) -> u8 {
11703 unsafe { ::core::mem::transmute(self._bitfield_3.get(4usize, 4u8) as u8) }
11704 }
11705 #[inline]
11706 pub fn set_alter4_type(&mut self, val: u8) {
11707 unsafe {
11708 let val: u8 = ::core::mem::transmute(val);
11709 self._bitfield_3.set(4usize, 4u8, val as u64)
11710 }
11711 }
11712 #[inline]
11713 pub unsafe fn alter4_type_raw(this: *const Self) -> u8 {
11714 unsafe {
11715 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11716 ::core::ptr::addr_of!((*this)._bitfield_3),
11717 4usize,
11718 4u8,
11719 ) as u8)
11720 }
11721 }
11722 #[inline]
11723 pub unsafe fn set_alter4_type_raw(this: *mut Self, val: u8) {
11724 unsafe {
11725 let val: u8 = ::core::mem::transmute(val);
11726 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11727 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11728 4usize,
11729 4u8,
11730 val as u64,
11731 )
11732 }
11733 }
11734 #[inline]
11735 pub fn alter3_degree(&self) -> u8 {
11736 unsafe { ::core::mem::transmute(self._bitfield_3.get(8usize, 4u8) as u8) }
11737 }
11738 #[inline]
11739 pub fn set_alter3_degree(&mut self, val: u8) {
11740 unsafe {
11741 let val: u8 = ::core::mem::transmute(val);
11742 self._bitfield_3.set(8usize, 4u8, val as u64)
11743 }
11744 }
11745 #[inline]
11746 pub unsafe fn alter3_degree_raw(this: *const Self) -> u8 {
11747 unsafe {
11748 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11749 ::core::ptr::addr_of!((*this)._bitfield_3),
11750 8usize,
11751 4u8,
11752 ) as u8)
11753 }
11754 }
11755 #[inline]
11756 pub unsafe fn set_alter3_degree_raw(this: *mut Self, val: u8) {
11757 unsafe {
11758 let val: u8 = ::core::mem::transmute(val);
11759 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11760 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11761 8usize,
11762 4u8,
11763 val as u64,
11764 )
11765 }
11766 }
11767 #[inline]
11768 pub fn alter3_type(&self) -> u8 {
11769 unsafe { ::core::mem::transmute(self._bitfield_3.get(12usize, 4u8) as u8) }
11770 }
11771 #[inline]
11772 pub fn set_alter3_type(&mut self, val: u8) {
11773 unsafe {
11774 let val: u8 = ::core::mem::transmute(val);
11775 self._bitfield_3.set(12usize, 4u8, val as u64)
11776 }
11777 }
11778 #[inline]
11779 pub unsafe fn alter3_type_raw(this: *const Self) -> u8 {
11780 unsafe {
11781 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11782 ::core::ptr::addr_of!((*this)._bitfield_3),
11783 12usize,
11784 4u8,
11785 ) as u8)
11786 }
11787 }
11788 #[inline]
11789 pub unsafe fn set_alter3_type_raw(this: *mut Self, val: u8) {
11790 unsafe {
11791 let val: u8 = ::core::mem::transmute(val);
11792 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11793 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11794 12usize,
11795 4u8,
11796 val as u64,
11797 )
11798 }
11799 }
11800 #[inline]
11801 pub fn bass_alter2_degree(&self) -> u8 {
11802 unsafe { ::core::mem::transmute(self._bitfield_3.get(16usize, 4u8) as u8) }
11803 }
11804 #[inline]
11805 pub fn set_bass_alter2_degree(&mut self, val: u8) {
11806 unsafe {
11807 let val: u8 = ::core::mem::transmute(val);
11808 self._bitfield_3.set(16usize, 4u8, val as u64)
11809 }
11810 }
11811 #[inline]
11812 pub unsafe fn bass_alter2_degree_raw(this: *const Self) -> u8 {
11813 unsafe {
11814 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11815 ::core::ptr::addr_of!((*this)._bitfield_3),
11816 16usize,
11817 4u8,
11818 ) as u8)
11819 }
11820 }
11821 #[inline]
11822 pub unsafe fn set_bass_alter2_degree_raw(this: *mut Self, val: u8) {
11823 unsafe {
11824 let val: u8 = ::core::mem::transmute(val);
11825 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11826 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11827 16usize,
11828 4u8,
11829 val as u64,
11830 )
11831 }
11832 }
11833 #[inline]
11834 pub fn bass_alter2_type(&self) -> u8 {
11835 unsafe { ::core::mem::transmute(self._bitfield_3.get(20usize, 4u8) as u8) }
11836 }
11837 #[inline]
11838 pub fn set_bass_alter2_type(&mut self, val: u8) {
11839 unsafe {
11840 let val: u8 = ::core::mem::transmute(val);
11841 self._bitfield_3.set(20usize, 4u8, val as u64)
11842 }
11843 }
11844 #[inline]
11845 pub unsafe fn bass_alter2_type_raw(this: *const Self) -> u8 {
11846 unsafe {
11847 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11848 ::core::ptr::addr_of!((*this)._bitfield_3),
11849 20usize,
11850 4u8,
11851 ) as u8)
11852 }
11853 }
11854 #[inline]
11855 pub unsafe fn set_bass_alter2_type_raw(this: *mut Self, val: u8) {
11856 unsafe {
11857 let val: u8 = ::core::mem::transmute(val);
11858 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11859 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11860 20usize,
11861 4u8,
11862 val as u64,
11863 )
11864 }
11865 }
11866 #[inline]
11867 pub fn bass_alter1_degree(&self) -> u8 {
11868 unsafe { ::core::mem::transmute(self._bitfield_3.get(24usize, 4u8) as u8) }
11869 }
11870 #[inline]
11871 pub fn set_bass_alter1_degree(&mut self, val: u8) {
11872 unsafe {
11873 let val: u8 = ::core::mem::transmute(val);
11874 self._bitfield_3.set(24usize, 4u8, val as u64)
11875 }
11876 }
11877 #[inline]
11878 pub unsafe fn bass_alter1_degree_raw(this: *const Self) -> u8 {
11879 unsafe {
11880 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11881 ::core::ptr::addr_of!((*this)._bitfield_3),
11882 24usize,
11883 4u8,
11884 ) as u8)
11885 }
11886 }
11887 #[inline]
11888 pub unsafe fn set_bass_alter1_degree_raw(this: *mut Self, val: u8) {
11889 unsafe {
11890 let val: u8 = ::core::mem::transmute(val);
11891 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11892 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11893 24usize,
11894 4u8,
11895 val as u64,
11896 )
11897 }
11898 }
11899 #[inline]
11900 pub fn bass_alter1_type(&self) -> u8 {
11901 unsafe { ::core::mem::transmute(self._bitfield_3.get(28usize, 4u8) as u8) }
11902 }
11903 #[inline]
11904 pub fn set_bass_alter1_type(&mut self, val: u8) {
11905 unsafe {
11906 let val: u8 = ::core::mem::transmute(val);
11907 self._bitfield_3.set(28usize, 4u8, val as u64)
11908 }
11909 }
11910 #[inline]
11911 pub unsafe fn bass_alter1_type_raw(this: *const Self) -> u8 {
11912 unsafe {
11913 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
11914 ::core::ptr::addr_of!((*this)._bitfield_3),
11915 28usize,
11916 4u8,
11917 ) as u8)
11918 }
11919 }
11920 #[inline]
11921 pub unsafe fn set_bass_alter1_type_raw(this: *mut Self, val: u8) {
11922 unsafe {
11923 let val: u8 = ::core::mem::transmute(val);
11924 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
11925 ::core::ptr::addr_of_mut!((*this)._bitfield_3),
11926 28usize,
11927 4u8,
11928 val as u64,
11929 )
11930 }
11931 }
11932 #[inline]
11933 pub fn new_bitfield_3(
11934 alter4_degree: u8,
11935 alter4_type: u8,
11936 alter3_degree: u8,
11937 alter3_type: u8,
11938 bass_alter2_degree: u8,
11939 bass_alter2_type: u8,
11940 bass_alter1_degree: u8,
11941 bass_alter1_type: u8,
11942 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11943 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11944 __bindgen_bitfield_unit.set(0usize, 4u8, {
11945 let alter4_degree: u8 = unsafe { ::core::mem::transmute(alter4_degree) };
11946 alter4_degree as u64
11947 });
11948 __bindgen_bitfield_unit.set(4usize, 4u8, {
11949 let alter4_type: u8 = unsafe { ::core::mem::transmute(alter4_type) };
11950 alter4_type as u64
11951 });
11952 __bindgen_bitfield_unit.set(8usize, 4u8, {
11953 let alter3_degree: u8 = unsafe { ::core::mem::transmute(alter3_degree) };
11954 alter3_degree as u64
11955 });
11956 __bindgen_bitfield_unit.set(12usize, 4u8, {
11957 let alter3_type: u8 = unsafe { ::core::mem::transmute(alter3_type) };
11958 alter3_type as u64
11959 });
11960 __bindgen_bitfield_unit.set(16usize, 4u8, {
11961 let bass_alter2_degree: u8 = unsafe { ::core::mem::transmute(bass_alter2_degree) };
11962 bass_alter2_degree as u64
11963 });
11964 __bindgen_bitfield_unit.set(20usize, 4u8, {
11965 let bass_alter2_type: u8 = unsafe { ::core::mem::transmute(bass_alter2_type) };
11966 bass_alter2_type as u64
11967 });
11968 __bindgen_bitfield_unit.set(24usize, 4u8, {
11969 let bass_alter1_degree: u8 = unsafe { ::core::mem::transmute(bass_alter1_degree) };
11970 bass_alter1_degree as u64
11971 });
11972 __bindgen_bitfield_unit.set(28usize, 4u8, {
11973 let bass_alter1_type: u8 = unsafe { ::core::mem::transmute(bass_alter1_type) };
11974 bass_alter1_type as u64
11975 });
11976 __bindgen_bitfield_unit
11977 }
11978 #[inline]
11979 pub fn bass_note(&self) -> u8 {
11980 unsafe { ::core::mem::transmute(self._bitfield_4.get(0usize, 4u8) as u8) }
11981 }
11982 #[inline]
11983 pub fn set_bass_note(&mut self, val: u8) {
11984 unsafe {
11985 let val: u8 = ::core::mem::transmute(val);
11986 self._bitfield_4.set(0usize, 4u8, val as u64)
11987 }
11988 }
11989 #[inline]
11990 pub unsafe fn bass_note_raw(this: *const Self) -> u8 {
11991 unsafe {
11992 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11993 ::core::ptr::addr_of!((*this)._bitfield_4),
11994 0usize,
11995 4u8,
11996 ) as u8)
11997 }
11998 }
11999 #[inline]
12000 pub unsafe fn set_bass_note_raw(this: *mut Self, val: u8) {
12001 unsafe {
12002 let val: u8 = ::core::mem::transmute(val);
12003 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
12004 ::core::ptr::addr_of_mut!((*this)._bitfield_4),
12005 0usize,
12006 4u8,
12007 val as u64,
12008 )
12009 }
12010 }
12011 #[inline]
12012 pub fn bass_sharp(&self) -> u8 {
12013 unsafe { ::core::mem::transmute(self._bitfield_4.get(4usize, 4u8) as u8) }
12014 }
12015 #[inline]
12016 pub fn set_bass_sharp(&mut self, val: u8) {
12017 unsafe {
12018 let val: u8 = ::core::mem::transmute(val);
12019 self._bitfield_4.set(4usize, 4u8, val as u64)
12020 }
12021 }
12022 #[inline]
12023 pub unsafe fn bass_sharp_raw(this: *const Self) -> u8 {
12024 unsafe {
12025 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
12026 ::core::ptr::addr_of!((*this)._bitfield_4),
12027 4usize,
12028 4u8,
12029 ) as u8)
12030 }
12031 }
12032 #[inline]
12033 pub unsafe fn set_bass_sharp_raw(this: *mut Self, val: u8) {
12034 unsafe {
12035 let val: u8 = ::core::mem::transmute(val);
12036 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
12037 ::core::ptr::addr_of_mut!((*this)._bitfield_4),
12038 4usize,
12039 4u8,
12040 val as u64,
12041 )
12042 }
12043 }
12044 #[inline]
12045 pub fn new_bitfield_4(bass_note: u8, bass_sharp: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12046 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12047 __bindgen_bitfield_unit.set(0usize, 4u8, {
12048 let bass_note: u8 = unsafe { ::core::mem::transmute(bass_note) };
12049 bass_note as u64
12050 });
12051 __bindgen_bitfield_unit.set(4usize, 4u8, {
12052 let bass_sharp: u8 = unsafe { ::core::mem::transmute(bass_sharp) };
12053 bass_sharp as u64
12054 });
12055 __bindgen_bitfield_unit
12056 }
12057}
12058pub type snd_ump_msg_set_chord_name_t = _snd_ump_msg_set_chord_name;
12059#[repr(C)]
12060#[derive(Copy, Clone)]
12061pub union _snd_ump_msg_flex_data {
12062 pub meta: snd_ump_msg_flex_data_meta_t,
12063 pub text: snd_ump_msg_flex_data_meta_t,
12064 pub set_tempo: snd_ump_msg_set_tempo_t,
12065 pub set_time_sig: snd_ump_msg_set_time_sig_t,
12066 pub set_metronome: snd_ump_msg_set_metronome_t,
12067 pub set_key_sig: snd_ump_msg_set_key_sig_t,
12068 pub set_chord_name: snd_ump_msg_set_chord_name_t,
12069 pub hdr: snd_ump_msg_hdr_t,
12070 pub raw: [u32; 4usize],
12071}
12072pub type snd_ump_msg_flex_data_t = _snd_ump_msg_flex_data;
12073#[repr(C)]
12074#[derive(Debug, Copy, Clone)]
12075pub struct _snd_ump_msg_mixed_data_header {
12076 pub bytes: u16,
12077 pub _bitfield_align_1: [u8; 0],
12078 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
12079 pub chunk: u16,
12080 pub chunks: u16,
12081 pub device: u16,
12082 pub manufacturer: u16,
12083 pub sub_id_2: u16,
12084 pub sub_id_1: u16,
12085}
12086impl _snd_ump_msg_mixed_data_header {
12087 #[inline]
12088 pub fn mds_id(&self) -> u8 {
12089 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
12090 }
12091 #[inline]
12092 pub fn set_mds_id(&mut self, val: u8) {
12093 unsafe {
12094 let val: u8 = ::core::mem::transmute(val);
12095 self._bitfield_1.set(0usize, 4u8, val as u64)
12096 }
12097 }
12098 #[inline]
12099 pub unsafe fn mds_id_raw(this: *const Self) -> u8 {
12100 unsafe {
12101 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12102 ::core::ptr::addr_of!((*this)._bitfield_1),
12103 0usize,
12104 4u8,
12105 ) as u8)
12106 }
12107 }
12108 #[inline]
12109 pub unsafe fn set_mds_id_raw(this: *mut Self, val: u8) {
12110 unsafe {
12111 let val: u8 = ::core::mem::transmute(val);
12112 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12113 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12114 0usize,
12115 4u8,
12116 val as u64,
12117 )
12118 }
12119 }
12120 #[inline]
12121 pub fn status(&self) -> u8 {
12122 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
12123 }
12124 #[inline]
12125 pub fn set_status(&mut self, val: u8) {
12126 unsafe {
12127 let val: u8 = ::core::mem::transmute(val);
12128 self._bitfield_1.set(4usize, 4u8, val as u64)
12129 }
12130 }
12131 #[inline]
12132 pub unsafe fn status_raw(this: *const Self) -> u8 {
12133 unsafe {
12134 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12135 ::core::ptr::addr_of!((*this)._bitfield_1),
12136 4usize,
12137 4u8,
12138 ) as u8)
12139 }
12140 }
12141 #[inline]
12142 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
12143 unsafe {
12144 let val: u8 = ::core::mem::transmute(val);
12145 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12146 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12147 4usize,
12148 4u8,
12149 val as u64,
12150 )
12151 }
12152 }
12153 #[inline]
12154 pub fn group(&self) -> u8 {
12155 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
12156 }
12157 #[inline]
12158 pub fn set_group(&mut self, val: u8) {
12159 unsafe {
12160 let val: u8 = ::core::mem::transmute(val);
12161 self._bitfield_1.set(8usize, 4u8, val as u64)
12162 }
12163 }
12164 #[inline]
12165 pub unsafe fn group_raw(this: *const Self) -> u8 {
12166 unsafe {
12167 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12168 ::core::ptr::addr_of!((*this)._bitfield_1),
12169 8usize,
12170 4u8,
12171 ) as u8)
12172 }
12173 }
12174 #[inline]
12175 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
12176 unsafe {
12177 let val: u8 = ::core::mem::transmute(val);
12178 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12179 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12180 8usize,
12181 4u8,
12182 val as u64,
12183 )
12184 }
12185 }
12186 #[inline]
12187 pub fn type_(&self) -> u8 {
12188 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
12189 }
12190 #[inline]
12191 pub fn set_type(&mut self, val: u8) {
12192 unsafe {
12193 let val: u8 = ::core::mem::transmute(val);
12194 self._bitfield_1.set(12usize, 4u8, val as u64)
12195 }
12196 }
12197 #[inline]
12198 pub unsafe fn type__raw(this: *const Self) -> u8 {
12199 unsafe {
12200 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12201 ::core::ptr::addr_of!((*this)._bitfield_1),
12202 12usize,
12203 4u8,
12204 ) as u8)
12205 }
12206 }
12207 #[inline]
12208 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
12209 unsafe {
12210 let val: u8 = ::core::mem::transmute(val);
12211 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12212 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12213 12usize,
12214 4u8,
12215 val as u64,
12216 )
12217 }
12218 }
12219 #[inline]
12220 pub fn new_bitfield_1(
12221 mds_id: u8,
12222 status: u8,
12223 group: u8,
12224 type_: u8,
12225 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
12226 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
12227 __bindgen_bitfield_unit.set(0usize, 4u8, {
12228 let mds_id: u8 = unsafe { ::core::mem::transmute(mds_id) };
12229 mds_id as u64
12230 });
12231 __bindgen_bitfield_unit.set(4usize, 4u8, {
12232 let status: u8 = unsafe { ::core::mem::transmute(status) };
12233 status as u64
12234 });
12235 __bindgen_bitfield_unit.set(8usize, 4u8, {
12236 let group: u8 = unsafe { ::core::mem::transmute(group) };
12237 group as u64
12238 });
12239 __bindgen_bitfield_unit.set(12usize, 4u8, {
12240 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
12241 type_ as u64
12242 });
12243 __bindgen_bitfield_unit
12244 }
12245}
12246pub type snd_ump_msg_mixed_data_header_t = _snd_ump_msg_mixed_data_header;
12247#[repr(C)]
12248#[derive(Debug, Copy, Clone)]
12249pub struct _snd_ump_msg_mixed_data_payload {
12250 pub payload1: u16,
12251 pub _bitfield_align_1: [u8; 0],
12252 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
12253 pub payloads: [u32; 3usize],
12254}
12255impl _snd_ump_msg_mixed_data_payload {
12256 #[inline]
12257 pub fn mds_id(&self) -> u8 {
12258 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
12259 }
12260 #[inline]
12261 pub fn set_mds_id(&mut self, val: u8) {
12262 unsafe {
12263 let val: u8 = ::core::mem::transmute(val);
12264 self._bitfield_1.set(0usize, 4u8, val as u64)
12265 }
12266 }
12267 #[inline]
12268 pub unsafe fn mds_id_raw(this: *const Self) -> u8 {
12269 unsafe {
12270 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12271 ::core::ptr::addr_of!((*this)._bitfield_1),
12272 0usize,
12273 4u8,
12274 ) as u8)
12275 }
12276 }
12277 #[inline]
12278 pub unsafe fn set_mds_id_raw(this: *mut Self, val: u8) {
12279 unsafe {
12280 let val: u8 = ::core::mem::transmute(val);
12281 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12282 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12283 0usize,
12284 4u8,
12285 val as u64,
12286 )
12287 }
12288 }
12289 #[inline]
12290 pub fn status(&self) -> u8 {
12291 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
12292 }
12293 #[inline]
12294 pub fn set_status(&mut self, val: u8) {
12295 unsafe {
12296 let val: u8 = ::core::mem::transmute(val);
12297 self._bitfield_1.set(4usize, 4u8, val as u64)
12298 }
12299 }
12300 #[inline]
12301 pub unsafe fn status_raw(this: *const Self) -> u8 {
12302 unsafe {
12303 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12304 ::core::ptr::addr_of!((*this)._bitfield_1),
12305 4usize,
12306 4u8,
12307 ) as u8)
12308 }
12309 }
12310 #[inline]
12311 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
12312 unsafe {
12313 let val: u8 = ::core::mem::transmute(val);
12314 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12315 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12316 4usize,
12317 4u8,
12318 val as u64,
12319 )
12320 }
12321 }
12322 #[inline]
12323 pub fn group(&self) -> u8 {
12324 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
12325 }
12326 #[inline]
12327 pub fn set_group(&mut self, val: u8) {
12328 unsafe {
12329 let val: u8 = ::core::mem::transmute(val);
12330 self._bitfield_1.set(8usize, 4u8, val as u64)
12331 }
12332 }
12333 #[inline]
12334 pub unsafe fn group_raw(this: *const Self) -> u8 {
12335 unsafe {
12336 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12337 ::core::ptr::addr_of!((*this)._bitfield_1),
12338 8usize,
12339 4u8,
12340 ) as u8)
12341 }
12342 }
12343 #[inline]
12344 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
12345 unsafe {
12346 let val: u8 = ::core::mem::transmute(val);
12347 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12348 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12349 8usize,
12350 4u8,
12351 val as u64,
12352 )
12353 }
12354 }
12355 #[inline]
12356 pub fn type_(&self) -> u8 {
12357 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
12358 }
12359 #[inline]
12360 pub fn set_type(&mut self, val: u8) {
12361 unsafe {
12362 let val: u8 = ::core::mem::transmute(val);
12363 self._bitfield_1.set(12usize, 4u8, val as u64)
12364 }
12365 }
12366 #[inline]
12367 pub unsafe fn type__raw(this: *const Self) -> u8 {
12368 unsafe {
12369 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12370 ::core::ptr::addr_of!((*this)._bitfield_1),
12371 12usize,
12372 4u8,
12373 ) as u8)
12374 }
12375 }
12376 #[inline]
12377 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
12378 unsafe {
12379 let val: u8 = ::core::mem::transmute(val);
12380 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12381 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12382 12usize,
12383 4u8,
12384 val as u64,
12385 )
12386 }
12387 }
12388 #[inline]
12389 pub fn new_bitfield_1(
12390 mds_id: u8,
12391 status: u8,
12392 group: u8,
12393 type_: u8,
12394 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
12395 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
12396 __bindgen_bitfield_unit.set(0usize, 4u8, {
12397 let mds_id: u8 = unsafe { ::core::mem::transmute(mds_id) };
12398 mds_id as u64
12399 });
12400 __bindgen_bitfield_unit.set(4usize, 4u8, {
12401 let status: u8 = unsafe { ::core::mem::transmute(status) };
12402 status as u64
12403 });
12404 __bindgen_bitfield_unit.set(8usize, 4u8, {
12405 let group: u8 = unsafe { ::core::mem::transmute(group) };
12406 group as u64
12407 });
12408 __bindgen_bitfield_unit.set(12usize, 4u8, {
12409 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
12410 type_ as u64
12411 });
12412 __bindgen_bitfield_unit
12413 }
12414}
12415pub type snd_ump_msg_mixed_data_payload_t = _snd_ump_msg_mixed_data_payload;
12416#[repr(C)]
12417#[derive(Copy, Clone)]
12418pub union _snd_ump_msg_mixed_data {
12419 pub header: snd_ump_msg_mixed_data_header_t,
12420 pub payload: snd_ump_msg_mixed_data_payload_t,
12421 pub raw: [u32; 4usize],
12422}
12423pub type snd_ump_msg_mixed_data_t = _snd_ump_msg_mixed_data;
12424#[repr(C, packed)]
12425#[derive(Debug, Copy, Clone)]
12426pub struct _snd_ump_msg_jr_clock {
12427 pub time: u16,
12428 pub _bitfield_align_1: [u8; 0],
12429 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
12430}
12431impl _snd_ump_msg_jr_clock {
12432 #[inline]
12433 pub fn reserved(&self) -> u8 {
12434 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
12435 }
12436 #[inline]
12437 pub fn set_reserved(&mut self, val: u8) {
12438 unsafe {
12439 let val: u8 = ::core::mem::transmute(val);
12440 self._bitfield_1.set(0usize, 4u8, val as u64)
12441 }
12442 }
12443 #[inline]
12444 pub unsafe fn reserved_raw(this: *const Self) -> u8 {
12445 unsafe {
12446 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12447 ::core::ptr::addr_of!((*this)._bitfield_1),
12448 0usize,
12449 4u8,
12450 ) as u8)
12451 }
12452 }
12453 #[inline]
12454 pub unsafe fn set_reserved_raw(this: *mut Self, val: u8) {
12455 unsafe {
12456 let val: u8 = ::core::mem::transmute(val);
12457 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12458 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12459 0usize,
12460 4u8,
12461 val as u64,
12462 )
12463 }
12464 }
12465 #[inline]
12466 pub fn status(&self) -> u8 {
12467 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
12468 }
12469 #[inline]
12470 pub fn set_status(&mut self, val: u8) {
12471 unsafe {
12472 let val: u8 = ::core::mem::transmute(val);
12473 self._bitfield_1.set(4usize, 4u8, val as u64)
12474 }
12475 }
12476 #[inline]
12477 pub unsafe fn status_raw(this: *const Self) -> u8 {
12478 unsafe {
12479 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12480 ::core::ptr::addr_of!((*this)._bitfield_1),
12481 4usize,
12482 4u8,
12483 ) as u8)
12484 }
12485 }
12486 #[inline]
12487 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
12488 unsafe {
12489 let val: u8 = ::core::mem::transmute(val);
12490 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12491 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12492 4usize,
12493 4u8,
12494 val as u64,
12495 )
12496 }
12497 }
12498 #[inline]
12499 pub fn group(&self) -> u8 {
12500 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
12501 }
12502 #[inline]
12503 pub fn set_group(&mut self, val: u8) {
12504 unsafe {
12505 let val: u8 = ::core::mem::transmute(val);
12506 self._bitfield_1.set(8usize, 4u8, val as u64)
12507 }
12508 }
12509 #[inline]
12510 pub unsafe fn group_raw(this: *const Self) -> u8 {
12511 unsafe {
12512 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12513 ::core::ptr::addr_of!((*this)._bitfield_1),
12514 8usize,
12515 4u8,
12516 ) as u8)
12517 }
12518 }
12519 #[inline]
12520 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
12521 unsafe {
12522 let val: u8 = ::core::mem::transmute(val);
12523 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12524 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12525 8usize,
12526 4u8,
12527 val as u64,
12528 )
12529 }
12530 }
12531 #[inline]
12532 pub fn type_(&self) -> u8 {
12533 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
12534 }
12535 #[inline]
12536 pub fn set_type(&mut self, val: u8) {
12537 unsafe {
12538 let val: u8 = ::core::mem::transmute(val);
12539 self._bitfield_1.set(12usize, 4u8, val as u64)
12540 }
12541 }
12542 #[inline]
12543 pub unsafe fn type__raw(this: *const Self) -> u8 {
12544 unsafe {
12545 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12546 ::core::ptr::addr_of!((*this)._bitfield_1),
12547 12usize,
12548 4u8,
12549 ) as u8)
12550 }
12551 }
12552 #[inline]
12553 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
12554 unsafe {
12555 let val: u8 = ::core::mem::transmute(val);
12556 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12557 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12558 12usize,
12559 4u8,
12560 val as u64,
12561 )
12562 }
12563 }
12564 #[inline]
12565 pub fn new_bitfield_1(
12566 reserved: u8,
12567 status: u8,
12568 group: u8,
12569 type_: u8,
12570 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
12571 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
12572 __bindgen_bitfield_unit.set(0usize, 4u8, {
12573 let reserved: u8 = unsafe { ::core::mem::transmute(reserved) };
12574 reserved as u64
12575 });
12576 __bindgen_bitfield_unit.set(4usize, 4u8, {
12577 let status: u8 = unsafe { ::core::mem::transmute(status) };
12578 status as u64
12579 });
12580 __bindgen_bitfield_unit.set(8usize, 4u8, {
12581 let group: u8 = unsafe { ::core::mem::transmute(group) };
12582 group as u64
12583 });
12584 __bindgen_bitfield_unit.set(12usize, 4u8, {
12585 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
12586 type_ as u64
12587 });
12588 __bindgen_bitfield_unit
12589 }
12590}
12591pub type snd_ump_msg_jr_clock_t = _snd_ump_msg_jr_clock;
12592#[repr(C, packed)]
12593#[derive(Debug, Copy, Clone)]
12594pub struct _snd_ump_msg_dctpq {
12595 pub ticks: u16,
12596 pub _bitfield_align_1: [u8; 0],
12597 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
12598}
12599impl _snd_ump_msg_dctpq {
12600 #[inline]
12601 pub fn reserved(&self) -> u8 {
12602 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
12603 }
12604 #[inline]
12605 pub fn set_reserved(&mut self, val: u8) {
12606 unsafe {
12607 let val: u8 = ::core::mem::transmute(val);
12608 self._bitfield_1.set(0usize, 4u8, val as u64)
12609 }
12610 }
12611 #[inline]
12612 pub unsafe fn reserved_raw(this: *const Self) -> u8 {
12613 unsafe {
12614 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12615 ::core::ptr::addr_of!((*this)._bitfield_1),
12616 0usize,
12617 4u8,
12618 ) as u8)
12619 }
12620 }
12621 #[inline]
12622 pub unsafe fn set_reserved_raw(this: *mut Self, val: u8) {
12623 unsafe {
12624 let val: u8 = ::core::mem::transmute(val);
12625 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12626 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12627 0usize,
12628 4u8,
12629 val as u64,
12630 )
12631 }
12632 }
12633 #[inline]
12634 pub fn status(&self) -> u8 {
12635 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
12636 }
12637 #[inline]
12638 pub fn set_status(&mut self, val: u8) {
12639 unsafe {
12640 let val: u8 = ::core::mem::transmute(val);
12641 self._bitfield_1.set(4usize, 4u8, val as u64)
12642 }
12643 }
12644 #[inline]
12645 pub unsafe fn status_raw(this: *const Self) -> u8 {
12646 unsafe {
12647 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12648 ::core::ptr::addr_of!((*this)._bitfield_1),
12649 4usize,
12650 4u8,
12651 ) as u8)
12652 }
12653 }
12654 #[inline]
12655 pub unsafe fn set_status_raw(this: *mut Self, val: u8) {
12656 unsafe {
12657 let val: u8 = ::core::mem::transmute(val);
12658 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12659 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12660 4usize,
12661 4u8,
12662 val as u64,
12663 )
12664 }
12665 }
12666 #[inline]
12667 pub fn group(&self) -> u8 {
12668 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
12669 }
12670 #[inline]
12671 pub fn set_group(&mut self, val: u8) {
12672 unsafe {
12673 let val: u8 = ::core::mem::transmute(val);
12674 self._bitfield_1.set(8usize, 4u8, val as u64)
12675 }
12676 }
12677 #[inline]
12678 pub unsafe fn group_raw(this: *const Self) -> u8 {
12679 unsafe {
12680 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12681 ::core::ptr::addr_of!((*this)._bitfield_1),
12682 8usize,
12683 4u8,
12684 ) as u8)
12685 }
12686 }
12687 #[inline]
12688 pub unsafe fn set_group_raw(this: *mut Self, val: u8) {
12689 unsafe {
12690 let val: u8 = ::core::mem::transmute(val);
12691 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12692 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12693 8usize,
12694 4u8,
12695 val as u64,
12696 )
12697 }
12698 }
12699 #[inline]
12700 pub fn type_(&self) -> u8 {
12701 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
12702 }
12703 #[inline]
12704 pub fn set_type(&mut self, val: u8) {
12705 unsafe {
12706 let val: u8 = ::core::mem::transmute(val);
12707 self._bitfield_1.set(12usize, 4u8, val as u64)
12708 }
12709 }
12710 #[inline]
12711 pub unsafe fn type__raw(this: *const Self) -> u8 {
12712 unsafe {
12713 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
12714 ::core::ptr::addr_of!((*this)._bitfield_1),
12715 12usize,
12716 4u8,
12717 ) as u8)
12718 }
12719 }
12720 #[inline]
12721 pub unsafe fn set_type_raw(this: *mut Self, val: u8) {
12722 unsafe {
12723 let val: u8 = ::core::mem::transmute(val);
12724 <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
12725 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12726 12usize,
12727 4u8,
12728 val as u64,
12729 )
12730 }
12731 }
12732 #[inline]
12733 pub fn new_bitfield_1(
12734 reserved: u8,
12735 status: u8,
12736 group: u8,
12737 type_: u8,
12738 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
12739 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
12740 __bindgen_bitfield_unit.set(0usize, 4u8, {
12741 let reserved: u8 = unsafe { ::core::mem::transmute(reserved) };
12742 reserved as u64
12743 });
12744 __bindgen_bitfield_unit.set(4usize, 4u8, {
12745 let status: u8 = unsafe { ::core::mem::transmute(status) };
12746 status as u64
12747 });
12748 __bindgen_bitfield_unit.set(8usize, 4u8, {
12749 let group: u8 = unsafe { ::core::mem::transmute(group) };
12750 group as u64
12751 });
12752 __bindgen_bitfield_unit.set(12usize, 4u8, {
12753 let type_: u8 = unsafe { ::core::mem::transmute(type_) };
12754 type_ as u64
12755 });
12756 __bindgen_bitfield_unit
12757 }
12758}
12759pub type snd_ump_msg_dctpq_t = _snd_ump_msg_dctpq;
12760#[repr(C, packed)]
12761#[derive(Debug, Copy, Clone)]
12762pub struct _snd_ump_msg_dc {
12763 pub _bitfield_align_1: [u8; 0],
12764 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
12765}
12766impl _snd_ump_msg_dc {
12767 #[inline]
12768 pub fn ticks(&self) -> u32 {
12769 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) }
12770 }
12771 #[inline]
12772 pub fn set_ticks(&mut self, val: u32) {
12773 unsafe {
12774 let val: u32 = ::core::mem::transmute(val);
12775 self._bitfield_1.set(0usize, 20u8, val as u64)
12776 }
12777 }
12778 #[inline]
12779 pub unsafe fn ticks_raw(this: *const Self) -> u32 {
12780 unsafe {
12781 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
12782 ::core::ptr::addr_of!((*this)._bitfield_1),
12783 0usize,
12784 20u8,
12785 ) as u32)
12786 }
12787 }
12788 #[inline]
12789 pub unsafe fn set_ticks_raw(this: *mut Self, val: u32) {
12790 unsafe {
12791 let val: u32 = ::core::mem::transmute(val);
12792 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
12793 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12794 0usize,
12795 20u8,
12796 val as u64,
12797 )
12798 }
12799 }
12800 #[inline]
12801 pub fn status(&self) -> u32 {
12802 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) }
12803 }
12804 #[inline]
12805 pub fn set_status(&mut self, val: u32) {
12806 unsafe {
12807 let val: u32 = ::core::mem::transmute(val);
12808 self._bitfield_1.set(20usize, 4u8, val as u64)
12809 }
12810 }
12811 #[inline]
12812 pub unsafe fn status_raw(this: *const Self) -> u32 {
12813 unsafe {
12814 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
12815 ::core::ptr::addr_of!((*this)._bitfield_1),
12816 20usize,
12817 4u8,
12818 ) as u32)
12819 }
12820 }
12821 #[inline]
12822 pub unsafe fn set_status_raw(this: *mut Self, val: u32) {
12823 unsafe {
12824 let val: u32 = ::core::mem::transmute(val);
12825 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
12826 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12827 20usize,
12828 4u8,
12829 val as u64,
12830 )
12831 }
12832 }
12833 #[inline]
12834 pub fn group(&self) -> u32 {
12835 unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 4u8) as u32) }
12836 }
12837 #[inline]
12838 pub fn set_group(&mut self, val: u32) {
12839 unsafe {
12840 let val: u32 = ::core::mem::transmute(val);
12841 self._bitfield_1.set(24usize, 4u8, val as u64)
12842 }
12843 }
12844 #[inline]
12845 pub unsafe fn group_raw(this: *const Self) -> u32 {
12846 unsafe {
12847 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
12848 ::core::ptr::addr_of!((*this)._bitfield_1),
12849 24usize,
12850 4u8,
12851 ) as u32)
12852 }
12853 }
12854 #[inline]
12855 pub unsafe fn set_group_raw(this: *mut Self, val: u32) {
12856 unsafe {
12857 let val: u32 = ::core::mem::transmute(val);
12858 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
12859 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12860 24usize,
12861 4u8,
12862 val as u64,
12863 )
12864 }
12865 }
12866 #[inline]
12867 pub fn type_(&self) -> u32 {
12868 unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) }
12869 }
12870 #[inline]
12871 pub fn set_type(&mut self, val: u32) {
12872 unsafe {
12873 let val: u32 = ::core::mem::transmute(val);
12874 self._bitfield_1.set(28usize, 4u8, val as u64)
12875 }
12876 }
12877 #[inline]
12878 pub unsafe fn type__raw(this: *const Self) -> u32 {
12879 unsafe {
12880 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
12881 ::core::ptr::addr_of!((*this)._bitfield_1),
12882 28usize,
12883 4u8,
12884 ) as u32)
12885 }
12886 }
12887 #[inline]
12888 pub unsafe fn set_type_raw(this: *mut Self, val: u32) {
12889 unsafe {
12890 let val: u32 = ::core::mem::transmute(val);
12891 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
12892 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
12893 28usize,
12894 4u8,
12895 val as u64,
12896 )
12897 }
12898 }
12899 #[inline]
12900 pub fn new_bitfield_1(
12901 ticks: u32,
12902 status: u32,
12903 group: u32,
12904 type_: u32,
12905 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
12906 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
12907 __bindgen_bitfield_unit.set(0usize, 20u8, {
12908 let ticks: u32 = unsafe { ::core::mem::transmute(ticks) };
12909 ticks as u64
12910 });
12911 __bindgen_bitfield_unit.set(20usize, 4u8, {
12912 let status: u32 = unsafe { ::core::mem::transmute(status) };
12913 status as u64
12914 });
12915 __bindgen_bitfield_unit.set(24usize, 4u8, {
12916 let group: u32 = unsafe { ::core::mem::transmute(group) };
12917 group as u64
12918 });
12919 __bindgen_bitfield_unit.set(28usize, 4u8, {
12920 let type_: u32 = unsafe { ::core::mem::transmute(type_) };
12921 type_ as u64
12922 });
12923 __bindgen_bitfield_unit
12924 }
12925}
12926pub type snd_ump_msg_dc_t = _snd_ump_msg_dc;
12927#[repr(C)]
12928#[derive(Copy, Clone)]
12929pub union _snd_ump_msg_utility {
12930 pub jr_clock: snd_ump_msg_jr_clock_t,
12931 pub dctpq: snd_ump_msg_dctpq_t,
12932 pub dc: snd_ump_msg_dc_t,
12933 pub hdr: snd_ump_msg_hdr_t,
12934 pub raw: u32,
12935}
12936pub type snd_ump_msg_utility_t = _snd_ump_msg_utility;
12937unsafe extern "C" {
12938 pub fn snd_ump_msg_sysex_expand(
12939 ump: *const u32,
12940 buf: *mut u8,
12941 maxlen: usize,
12942 filled: *mut usize,
12943 ) -> ::core::ffi::c_int;
12944}
12945unsafe extern "C" {
12946 pub fn snd_ump_packet_length(type_: ::core::ffi::c_uint) -> ::core::ffi::c_int;
12947}
12948pub type snd_seq_event_type_t = ::core::ffi::c_uchar;
12949pub const SND_SEQ_EVENT_SYSTEM: snd_seq_event_type = 0;
12950pub const SND_SEQ_EVENT_RESULT: snd_seq_event_type = 1;
12951pub const SND_SEQ_EVENT_NOTE: snd_seq_event_type = 5;
12952pub const SND_SEQ_EVENT_NOTEON: snd_seq_event_type = 6;
12953pub const SND_SEQ_EVENT_NOTEOFF: snd_seq_event_type = 7;
12954pub const SND_SEQ_EVENT_KEYPRESS: snd_seq_event_type = 8;
12955pub const SND_SEQ_EVENT_CONTROLLER: snd_seq_event_type = 10;
12956pub const SND_SEQ_EVENT_PGMCHANGE: snd_seq_event_type = 11;
12957pub const SND_SEQ_EVENT_CHANPRESS: snd_seq_event_type = 12;
12958pub const SND_SEQ_EVENT_PITCHBEND: snd_seq_event_type = 13;
12959pub const SND_SEQ_EVENT_CONTROL14: snd_seq_event_type = 14;
12960pub const SND_SEQ_EVENT_NONREGPARAM: snd_seq_event_type = 15;
12961pub const SND_SEQ_EVENT_REGPARAM: snd_seq_event_type = 16;
12962pub const SND_SEQ_EVENT_SONGPOS: snd_seq_event_type = 20;
12963pub const SND_SEQ_EVENT_SONGSEL: snd_seq_event_type = 21;
12964pub const SND_SEQ_EVENT_QFRAME: snd_seq_event_type = 22;
12965pub const SND_SEQ_EVENT_TIMESIGN: snd_seq_event_type = 23;
12966pub const SND_SEQ_EVENT_KEYSIGN: snd_seq_event_type = 24;
12967pub const SND_SEQ_EVENT_START: snd_seq_event_type = 30;
12968pub const SND_SEQ_EVENT_CONTINUE: snd_seq_event_type = 31;
12969pub const SND_SEQ_EVENT_STOP: snd_seq_event_type = 32;
12970pub const SND_SEQ_EVENT_SETPOS_TICK: snd_seq_event_type = 33;
12971pub const SND_SEQ_EVENT_SETPOS_TIME: snd_seq_event_type = 34;
12972pub const SND_SEQ_EVENT_TEMPO: snd_seq_event_type = 35;
12973pub const SND_SEQ_EVENT_CLOCK: snd_seq_event_type = 36;
12974pub const SND_SEQ_EVENT_TICK: snd_seq_event_type = 37;
12975pub const SND_SEQ_EVENT_QUEUE_SKEW: snd_seq_event_type = 38;
12976pub const SND_SEQ_EVENT_SYNC_POS: snd_seq_event_type = 39;
12977pub const SND_SEQ_EVENT_TUNE_REQUEST: snd_seq_event_type = 40;
12978pub const SND_SEQ_EVENT_RESET: snd_seq_event_type = 41;
12979pub const SND_SEQ_EVENT_SENSING: snd_seq_event_type = 42;
12980pub const SND_SEQ_EVENT_ECHO: snd_seq_event_type = 50;
12981pub const SND_SEQ_EVENT_OSS: snd_seq_event_type = 51;
12982pub const SND_SEQ_EVENT_CLIENT_START: snd_seq_event_type = 60;
12983pub const SND_SEQ_EVENT_CLIENT_EXIT: snd_seq_event_type = 61;
12984pub const SND_SEQ_EVENT_CLIENT_CHANGE: snd_seq_event_type = 62;
12985pub const SND_SEQ_EVENT_PORT_START: snd_seq_event_type = 63;
12986pub const SND_SEQ_EVENT_PORT_EXIT: snd_seq_event_type = 64;
12987pub const SND_SEQ_EVENT_PORT_CHANGE: snd_seq_event_type = 65;
12988pub const SND_SEQ_EVENT_PORT_SUBSCRIBED: snd_seq_event_type = 66;
12989pub const SND_SEQ_EVENT_PORT_UNSUBSCRIBED: snd_seq_event_type = 67;
12990pub const SND_SEQ_EVENT_UMP_EP_CHANGE: snd_seq_event_type = 68;
12991pub const SND_SEQ_EVENT_UMP_BLOCK_CHANGE: snd_seq_event_type = 69;
12992pub const SND_SEQ_EVENT_USR0: snd_seq_event_type = 90;
12993pub const SND_SEQ_EVENT_USR1: snd_seq_event_type = 91;
12994pub const SND_SEQ_EVENT_USR2: snd_seq_event_type = 92;
12995pub const SND_SEQ_EVENT_USR3: snd_seq_event_type = 93;
12996pub const SND_SEQ_EVENT_USR4: snd_seq_event_type = 94;
12997pub const SND_SEQ_EVENT_USR5: snd_seq_event_type = 95;
12998pub const SND_SEQ_EVENT_USR6: snd_seq_event_type = 96;
12999pub const SND_SEQ_EVENT_USR7: snd_seq_event_type = 97;
13000pub const SND_SEQ_EVENT_USR8: snd_seq_event_type = 98;
13001pub const SND_SEQ_EVENT_USR9: snd_seq_event_type = 99;
13002pub const SND_SEQ_EVENT_SYSEX: snd_seq_event_type = 130;
13003pub const SND_SEQ_EVENT_BOUNCE: snd_seq_event_type = 131;
13004pub const SND_SEQ_EVENT_USR_VAR0: snd_seq_event_type = 135;
13005pub const SND_SEQ_EVENT_USR_VAR1: snd_seq_event_type = 136;
13006pub const SND_SEQ_EVENT_USR_VAR2: snd_seq_event_type = 137;
13007pub const SND_SEQ_EVENT_USR_VAR3: snd_seq_event_type = 138;
13008pub const SND_SEQ_EVENT_USR_VAR4: snd_seq_event_type = 139;
13009pub const SND_SEQ_EVENT_NONE: snd_seq_event_type = 255;
13010pub type snd_seq_event_type = ::core::ffi::c_uint;
13011#[repr(C)]
13012#[derive(Debug, Copy, Clone)]
13013pub struct snd_seq_addr {
13014 pub client: ::core::ffi::c_uchar,
13015 pub port: ::core::ffi::c_uchar,
13016}
13017pub type snd_seq_addr_t = snd_seq_addr;
13018#[repr(C)]
13019#[derive(Debug, Copy, Clone)]
13020pub struct snd_seq_connect {
13021 pub sender: snd_seq_addr_t,
13022 pub dest: snd_seq_addr_t,
13023}
13024pub type snd_seq_connect_t = snd_seq_connect;
13025#[repr(C)]
13026#[derive(Debug, Copy, Clone)]
13027pub struct snd_seq_real_time {
13028 pub tv_sec: ::core::ffi::c_uint,
13029 pub tv_nsec: ::core::ffi::c_uint,
13030}
13031pub type snd_seq_real_time_t = snd_seq_real_time;
13032pub type snd_seq_tick_time_t = ::core::ffi::c_uint;
13033#[repr(C)]
13034#[derive(Copy, Clone)]
13035pub union snd_seq_timestamp {
13036 pub tick: snd_seq_tick_time_t,
13037 pub time: snd_seq_real_time,
13038}
13039pub type snd_seq_timestamp_t = snd_seq_timestamp;
13040#[repr(C)]
13041#[derive(Debug, Copy, Clone)]
13042pub struct snd_seq_ev_note {
13043 pub channel: ::core::ffi::c_uchar,
13044 pub note: ::core::ffi::c_uchar,
13045 pub velocity: ::core::ffi::c_uchar,
13046 pub off_velocity: ::core::ffi::c_uchar,
13047 pub duration: ::core::ffi::c_uint,
13048}
13049pub type snd_seq_ev_note_t = snd_seq_ev_note;
13050#[repr(C)]
13051#[derive(Debug, Copy, Clone)]
13052pub struct snd_seq_ev_ctrl {
13053 pub channel: ::core::ffi::c_uchar,
13054 pub unused: [::core::ffi::c_uchar; 3usize],
13055 pub param: ::core::ffi::c_uint,
13056 pub value: ::core::ffi::c_int,
13057}
13058pub type snd_seq_ev_ctrl_t = snd_seq_ev_ctrl;
13059#[repr(C)]
13060#[derive(Debug, Copy, Clone)]
13061pub struct snd_seq_ev_raw8 {
13062 pub d: [::core::ffi::c_uchar; 12usize],
13063}
13064pub type snd_seq_ev_raw8_t = snd_seq_ev_raw8;
13065#[repr(C)]
13066#[derive(Debug, Copy, Clone)]
13067pub struct snd_seq_ev_raw32 {
13068 pub d: [::core::ffi::c_uint; 3usize],
13069}
13070pub type snd_seq_ev_raw32_t = snd_seq_ev_raw32;
13071#[repr(C, packed)]
13072#[derive(Debug, Copy, Clone)]
13073pub struct snd_seq_ev_ext {
13074 pub len: ::core::ffi::c_uint,
13075 pub ptr: *mut ::core::ffi::c_void,
13076}
13077pub type snd_seq_ev_ext_t = snd_seq_ev_ext;
13078#[repr(C)]
13079#[derive(Debug, Copy, Clone)]
13080pub struct snd_seq_result {
13081 pub event: ::core::ffi::c_int,
13082 pub result: ::core::ffi::c_int,
13083}
13084pub type snd_seq_result_t = snd_seq_result;
13085#[repr(C)]
13086#[derive(Debug, Copy, Clone)]
13087pub struct snd_seq_queue_skew {
13088 pub value: ::core::ffi::c_uint,
13089 pub base: ::core::ffi::c_uint,
13090}
13091pub type snd_seq_queue_skew_t = snd_seq_queue_skew;
13092#[repr(C)]
13093#[derive(Copy, Clone)]
13094pub struct snd_seq_ev_queue_control {
13095 pub queue: ::core::ffi::c_uchar,
13096 pub unused: [::core::ffi::c_uchar; 3usize],
13097 pub param: snd_seq_ev_queue_control__bindgen_ty_1,
13098}
13099#[repr(C)]
13100#[derive(Copy, Clone)]
13101pub union snd_seq_ev_queue_control__bindgen_ty_1 {
13102 pub value: ::core::ffi::c_int,
13103 pub time: snd_seq_timestamp_t,
13104 pub position: ::core::ffi::c_uint,
13105 pub skew: snd_seq_queue_skew_t,
13106 pub d32: [::core::ffi::c_uint; 2usize],
13107 pub d8: [::core::ffi::c_uchar; 8usize],
13108}
13109pub type snd_seq_ev_queue_control_t = snd_seq_ev_queue_control;
13110#[repr(C)]
13111#[derive(Debug, Copy, Clone)]
13112pub struct snd_seq_ev_ump_notify {
13113 pub client: ::core::ffi::c_uchar,
13114 pub block: ::core::ffi::c_uchar,
13115}
13116pub type snd_seq_ev_ump_notify_t = snd_seq_ev_ump_notify;
13117#[repr(C)]
13118#[derive(Copy, Clone)]
13119pub union snd_seq_event_data {
13120 pub note: snd_seq_ev_note_t,
13121 pub control: snd_seq_ev_ctrl_t,
13122 pub raw8: snd_seq_ev_raw8_t,
13123 pub raw32: snd_seq_ev_raw32_t,
13124 pub ext: snd_seq_ev_ext_t,
13125 pub queue: snd_seq_ev_queue_control_t,
13126 pub time: snd_seq_timestamp_t,
13127 pub addr: snd_seq_addr_t,
13128 pub connect: snd_seq_connect_t,
13129 pub result: snd_seq_result_t,
13130 pub ump_notify: snd_seq_ev_ump_notify_t,
13131}
13132pub type snd_seq_event_data_t = snd_seq_event_data;
13133#[repr(C)]
13134#[derive(Copy, Clone)]
13135pub struct snd_seq_event {
13136 pub type_: snd_seq_event_type_t,
13137 pub flags: ::core::ffi::c_uchar,
13138 pub tag: ::core::ffi::c_uchar,
13139 pub queue: ::core::ffi::c_uchar,
13140 pub time: snd_seq_timestamp_t,
13141 pub source: snd_seq_addr_t,
13142 pub dest: snd_seq_addr_t,
13143 pub data: snd_seq_event_data_t,
13144}
13145pub type snd_seq_event_t = snd_seq_event;
13146#[repr(C)]
13147#[derive(Copy, Clone)]
13148pub struct snd_seq_ump_event {
13149 pub type_: snd_seq_event_type_t,
13150 pub flags: ::core::ffi::c_uchar,
13151 pub tag: ::core::ffi::c_uchar,
13152 pub queue: ::core::ffi::c_uchar,
13153 pub time: snd_seq_timestamp_t,
13154 pub source: snd_seq_addr_t,
13155 pub dest: snd_seq_addr_t,
13156 pub __bindgen_anon_1: snd_seq_ump_event__bindgen_ty_1,
13157}
13158#[repr(C)]
13159#[derive(Copy, Clone)]
13160pub union snd_seq_ump_event__bindgen_ty_1 {
13161 pub data: snd_seq_event_data_t,
13162 pub ump: [::core::ffi::c_uint; 4usize],
13163}
13164pub type snd_seq_ump_event_t = snd_seq_ump_event;
13165#[repr(C)]
13166#[derive(Debug, Copy, Clone)]
13167pub struct _snd_seq {
13168 _unused: [u8; 0],
13169}
13170pub type snd_seq_t = _snd_seq;
13171pub const SND_SEQ_TYPE_HW: _snd_seq_type = 0;
13172pub const SND_SEQ_TYPE_SHM: _snd_seq_type = 1;
13173pub const SND_SEQ_TYPE_INET: _snd_seq_type = 2;
13174pub type _snd_seq_type = ::core::ffi::c_uint;
13175pub use self::_snd_seq_type as snd_seq_type_t;
13176unsafe extern "C" {
13177 pub fn snd_seq_open(
13178 handle: *mut *mut snd_seq_t,
13179 name: *const ::core::ffi::c_char,
13180 streams: ::core::ffi::c_int,
13181 mode: ::core::ffi::c_int,
13182 ) -> ::core::ffi::c_int;
13183}
13184unsafe extern "C" {
13185 pub fn snd_seq_open_lconf(
13186 handle: *mut *mut snd_seq_t,
13187 name: *const ::core::ffi::c_char,
13188 streams: ::core::ffi::c_int,
13189 mode: ::core::ffi::c_int,
13190 lconf: *mut snd_config_t,
13191 ) -> ::core::ffi::c_int;
13192}
13193unsafe extern "C" {
13194 pub fn snd_seq_name(seq: *mut snd_seq_t) -> *const ::core::ffi::c_char;
13195}
13196unsafe extern "C" {
13197 pub fn snd_seq_type(seq: *mut snd_seq_t) -> snd_seq_type_t;
13198}
13199unsafe extern "C" {
13200 pub fn snd_seq_close(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
13201}
13202unsafe extern "C" {
13203 pub fn snd_seq_poll_descriptors_count(
13204 handle: *mut snd_seq_t,
13205 events: ::core::ffi::c_short,
13206 ) -> ::core::ffi::c_int;
13207}
13208unsafe extern "C" {
13209 pub fn snd_seq_poll_descriptors(
13210 handle: *mut snd_seq_t,
13211 pfds: *mut pollfd,
13212 space: ::core::ffi::c_uint,
13213 events: ::core::ffi::c_short,
13214 ) -> ::core::ffi::c_int;
13215}
13216unsafe extern "C" {
13217 pub fn snd_seq_poll_descriptors_revents(
13218 seq: *mut snd_seq_t,
13219 pfds: *mut pollfd,
13220 nfds: ::core::ffi::c_uint,
13221 revents: *mut ::core::ffi::c_ushort,
13222 ) -> ::core::ffi::c_int;
13223}
13224unsafe extern "C" {
13225 pub fn snd_seq_nonblock(
13226 handle: *mut snd_seq_t,
13227 nonblock: ::core::ffi::c_int,
13228 ) -> ::core::ffi::c_int;
13229}
13230unsafe extern "C" {
13231 pub fn snd_seq_client_id(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
13232}
13233unsafe extern "C" {
13234 pub fn snd_seq_get_output_buffer_size(handle: *mut snd_seq_t) -> usize;
13235}
13236unsafe extern "C" {
13237 pub fn snd_seq_get_input_buffer_size(handle: *mut snd_seq_t) -> usize;
13238}
13239unsafe extern "C" {
13240 pub fn snd_seq_set_output_buffer_size(
13241 handle: *mut snd_seq_t,
13242 size: usize,
13243 ) -> ::core::ffi::c_int;
13244}
13245unsafe extern "C" {
13246 pub fn snd_seq_set_input_buffer_size(handle: *mut snd_seq_t, size: usize)
13247 -> ::core::ffi::c_int;
13248}
13249#[repr(C)]
13250#[derive(Debug, Copy, Clone)]
13251pub struct _snd_seq_system_info {
13252 _unused: [u8; 0],
13253}
13254pub type snd_seq_system_info_t = _snd_seq_system_info;
13255unsafe extern "C" {
13256 pub fn snd_seq_system_info_sizeof() -> usize;
13257}
13258unsafe extern "C" {
13259 pub fn snd_seq_system_info_malloc(ptr: *mut *mut snd_seq_system_info_t) -> ::core::ffi::c_int;
13260}
13261unsafe extern "C" {
13262 pub fn snd_seq_system_info_free(ptr: *mut snd_seq_system_info_t);
13263}
13264unsafe extern "C" {
13265 pub fn snd_seq_system_info_copy(
13266 dst: *mut snd_seq_system_info_t,
13267 src: *const snd_seq_system_info_t,
13268 );
13269}
13270unsafe extern "C" {
13271 pub fn snd_seq_system_info_get_queues(info: *const snd_seq_system_info_t)
13272 -> ::core::ffi::c_int;
13273}
13274unsafe extern "C" {
13275 pub fn snd_seq_system_info_get_clients(
13276 info: *const snd_seq_system_info_t,
13277 ) -> ::core::ffi::c_int;
13278}
13279unsafe extern "C" {
13280 pub fn snd_seq_system_info_get_ports(info: *const snd_seq_system_info_t) -> ::core::ffi::c_int;
13281}
13282unsafe extern "C" {
13283 pub fn snd_seq_system_info_get_channels(
13284 info: *const snd_seq_system_info_t,
13285 ) -> ::core::ffi::c_int;
13286}
13287unsafe extern "C" {
13288 pub fn snd_seq_system_info_get_cur_clients(
13289 info: *const snd_seq_system_info_t,
13290 ) -> ::core::ffi::c_int;
13291}
13292unsafe extern "C" {
13293 pub fn snd_seq_system_info_get_cur_queues(
13294 info: *const snd_seq_system_info_t,
13295 ) -> ::core::ffi::c_int;
13296}
13297unsafe extern "C" {
13298 pub fn snd_seq_system_info(
13299 handle: *mut snd_seq_t,
13300 info: *mut snd_seq_system_info_t,
13301 ) -> ::core::ffi::c_int;
13302}
13303#[repr(C)]
13304#[derive(Debug, Copy, Clone)]
13305pub struct _snd_seq_client_info {
13306 _unused: [u8; 0],
13307}
13308pub type snd_seq_client_info_t = _snd_seq_client_info;
13309pub const SND_SEQ_USER_CLIENT: snd_seq_client_type = 1;
13310pub const SND_SEQ_KERNEL_CLIENT: snd_seq_client_type = 2;
13311pub type snd_seq_client_type = ::core::ffi::c_uint;
13312pub use self::snd_seq_client_type as snd_seq_client_type_t;
13313unsafe extern "C" {
13314 pub fn snd_seq_client_info_sizeof() -> usize;
13315}
13316unsafe extern "C" {
13317 pub fn snd_seq_client_info_malloc(ptr: *mut *mut snd_seq_client_info_t) -> ::core::ffi::c_int;
13318}
13319unsafe extern "C" {
13320 pub fn snd_seq_client_info_free(ptr: *mut snd_seq_client_info_t);
13321}
13322unsafe extern "C" {
13323 pub fn snd_seq_client_info_copy(
13324 dst: *mut snd_seq_client_info_t,
13325 src: *const snd_seq_client_info_t,
13326 );
13327}
13328unsafe extern "C" {
13329 pub fn snd_seq_client_info_get_client(info: *const snd_seq_client_info_t)
13330 -> ::core::ffi::c_int;
13331}
13332unsafe extern "C" {
13333 pub fn snd_seq_client_info_get_type(
13334 info: *const snd_seq_client_info_t,
13335 ) -> snd_seq_client_type_t;
13336}
13337unsafe extern "C" {
13338 pub fn snd_seq_client_info_get_name(
13339 info: *mut snd_seq_client_info_t,
13340 ) -> *const ::core::ffi::c_char;
13341}
13342unsafe extern "C" {
13343 pub fn snd_seq_client_info_get_broadcast_filter(
13344 info: *const snd_seq_client_info_t,
13345 ) -> ::core::ffi::c_int;
13346}
13347unsafe extern "C" {
13348 pub fn snd_seq_client_info_get_error_bounce(
13349 info: *const snd_seq_client_info_t,
13350 ) -> ::core::ffi::c_int;
13351}
13352unsafe extern "C" {
13353 pub fn snd_seq_client_info_get_card(info: *const snd_seq_client_info_t) -> ::core::ffi::c_int;
13354}
13355unsafe extern "C" {
13356 pub fn snd_seq_client_info_get_pid(info: *const snd_seq_client_info_t) -> ::core::ffi::c_int;
13357}
13358unsafe extern "C" {
13359 pub fn snd_seq_client_info_get_event_filter(
13360 info: *const snd_seq_client_info_t,
13361 ) -> *const ::core::ffi::c_uchar;
13362}
13363unsafe extern "C" {
13364 pub fn snd_seq_client_info_get_num_ports(
13365 info: *const snd_seq_client_info_t,
13366 ) -> ::core::ffi::c_int;
13367}
13368unsafe extern "C" {
13369 pub fn snd_seq_client_info_get_event_lost(
13370 info: *const snd_seq_client_info_t,
13371 ) -> ::core::ffi::c_int;
13372}
13373unsafe extern "C" {
13374 pub fn snd_seq_client_info_get_midi_version(
13375 info: *const snd_seq_client_info_t,
13376 ) -> ::core::ffi::c_int;
13377}
13378unsafe extern "C" {
13379 pub fn snd_seq_client_info_get_ump_group_enabled(
13380 info: *const snd_seq_client_info_t,
13381 group: ::core::ffi::c_int,
13382 ) -> ::core::ffi::c_int;
13383}
13384unsafe extern "C" {
13385 pub fn snd_seq_client_info_get_ump_groupless_enabled(
13386 info: *const snd_seq_client_info_t,
13387 ) -> ::core::ffi::c_int;
13388}
13389unsafe extern "C" {
13390 pub fn snd_seq_client_info_get_ump_conversion(
13391 info: *const snd_seq_client_info_t,
13392 ) -> ::core::ffi::c_int;
13393}
13394unsafe extern "C" {
13395 pub fn snd_seq_client_info_set_client(
13396 info: *mut snd_seq_client_info_t,
13397 client: ::core::ffi::c_int,
13398 );
13399}
13400unsafe extern "C" {
13401 pub fn snd_seq_client_info_set_name(
13402 info: *mut snd_seq_client_info_t,
13403 name: *const ::core::ffi::c_char,
13404 );
13405}
13406unsafe extern "C" {
13407 pub fn snd_seq_client_info_set_broadcast_filter(
13408 info: *mut snd_seq_client_info_t,
13409 val: ::core::ffi::c_int,
13410 );
13411}
13412unsafe extern "C" {
13413 pub fn snd_seq_client_info_set_error_bounce(
13414 info: *mut snd_seq_client_info_t,
13415 val: ::core::ffi::c_int,
13416 );
13417}
13418unsafe extern "C" {
13419 pub fn snd_seq_client_info_set_event_filter(
13420 info: *mut snd_seq_client_info_t,
13421 filter: *mut ::core::ffi::c_uchar,
13422 );
13423}
13424unsafe extern "C" {
13425 pub fn snd_seq_client_info_set_midi_version(
13426 info: *mut snd_seq_client_info_t,
13427 midi_version: ::core::ffi::c_int,
13428 );
13429}
13430unsafe extern "C" {
13431 pub fn snd_seq_client_info_set_ump_group_enabled(
13432 info: *mut snd_seq_client_info_t,
13433 group: ::core::ffi::c_int,
13434 enable: ::core::ffi::c_int,
13435 );
13436}
13437unsafe extern "C" {
13438 pub fn snd_seq_client_info_set_ump_groupless_enabled(
13439 info: *mut snd_seq_client_info_t,
13440 enable: ::core::ffi::c_int,
13441 );
13442}
13443unsafe extern "C" {
13444 pub fn snd_seq_client_info_set_ump_conversion(
13445 info: *mut snd_seq_client_info_t,
13446 enable: ::core::ffi::c_int,
13447 );
13448}
13449unsafe extern "C" {
13450 pub fn snd_seq_client_info_event_filter_clear(info: *mut snd_seq_client_info_t);
13451}
13452unsafe extern "C" {
13453 pub fn snd_seq_client_info_event_filter_add(
13454 info: *mut snd_seq_client_info_t,
13455 event_type: ::core::ffi::c_int,
13456 );
13457}
13458unsafe extern "C" {
13459 pub fn snd_seq_client_info_event_filter_del(
13460 info: *mut snd_seq_client_info_t,
13461 event_type: ::core::ffi::c_int,
13462 );
13463}
13464unsafe extern "C" {
13465 pub fn snd_seq_client_info_event_filter_check(
13466 info: *mut snd_seq_client_info_t,
13467 event_type: ::core::ffi::c_int,
13468 ) -> ::core::ffi::c_int;
13469}
13470unsafe extern "C" {
13471 pub fn snd_seq_get_client_info(
13472 handle: *mut snd_seq_t,
13473 info: *mut snd_seq_client_info_t,
13474 ) -> ::core::ffi::c_int;
13475}
13476unsafe extern "C" {
13477 pub fn snd_seq_get_any_client_info(
13478 handle: *mut snd_seq_t,
13479 client: ::core::ffi::c_int,
13480 info: *mut snd_seq_client_info_t,
13481 ) -> ::core::ffi::c_int;
13482}
13483unsafe extern "C" {
13484 pub fn snd_seq_set_client_info(
13485 handle: *mut snd_seq_t,
13486 info: *mut snd_seq_client_info_t,
13487 ) -> ::core::ffi::c_int;
13488}
13489unsafe extern "C" {
13490 pub fn snd_seq_query_next_client(
13491 handle: *mut snd_seq_t,
13492 info: *mut snd_seq_client_info_t,
13493 ) -> ::core::ffi::c_int;
13494}
13495unsafe extern "C" {
13496 pub fn snd_seq_get_ump_endpoint_info(
13497 seq: *mut snd_seq_t,
13498 client: ::core::ffi::c_int,
13499 info: *mut ::core::ffi::c_void,
13500 ) -> ::core::ffi::c_int;
13501}
13502unsafe extern "C" {
13503 pub fn snd_seq_get_ump_block_info(
13504 seq: *mut snd_seq_t,
13505 client: ::core::ffi::c_int,
13506 blk: ::core::ffi::c_int,
13507 info: *mut ::core::ffi::c_void,
13508 ) -> ::core::ffi::c_int;
13509}
13510unsafe extern "C" {
13511 pub fn snd_seq_set_ump_endpoint_info(
13512 seq: *mut snd_seq_t,
13513 info: *const ::core::ffi::c_void,
13514 ) -> ::core::ffi::c_int;
13515}
13516unsafe extern "C" {
13517 pub fn snd_seq_set_ump_block_info(
13518 seq: *mut snd_seq_t,
13519 blk: ::core::ffi::c_int,
13520 info: *const ::core::ffi::c_void,
13521 ) -> ::core::ffi::c_int;
13522}
13523#[repr(C)]
13524#[derive(Debug, Copy, Clone)]
13525pub struct _snd_seq_client_pool {
13526 _unused: [u8; 0],
13527}
13528pub type snd_seq_client_pool_t = _snd_seq_client_pool;
13529unsafe extern "C" {
13530 pub fn snd_seq_client_pool_sizeof() -> usize;
13531}
13532unsafe extern "C" {
13533 pub fn snd_seq_client_pool_malloc(ptr: *mut *mut snd_seq_client_pool_t) -> ::core::ffi::c_int;
13534}
13535unsafe extern "C" {
13536 pub fn snd_seq_client_pool_free(ptr: *mut snd_seq_client_pool_t);
13537}
13538unsafe extern "C" {
13539 pub fn snd_seq_client_pool_copy(
13540 dst: *mut snd_seq_client_pool_t,
13541 src: *const snd_seq_client_pool_t,
13542 );
13543}
13544unsafe extern "C" {
13545 pub fn snd_seq_client_pool_get_client(info: *const snd_seq_client_pool_t)
13546 -> ::core::ffi::c_int;
13547}
13548unsafe extern "C" {
13549 pub fn snd_seq_client_pool_get_output_pool(info: *const snd_seq_client_pool_t) -> usize;
13550}
13551unsafe extern "C" {
13552 pub fn snd_seq_client_pool_get_input_pool(info: *const snd_seq_client_pool_t) -> usize;
13553}
13554unsafe extern "C" {
13555 pub fn snd_seq_client_pool_get_output_room(info: *const snd_seq_client_pool_t) -> usize;
13556}
13557unsafe extern "C" {
13558 pub fn snd_seq_client_pool_get_output_free(info: *const snd_seq_client_pool_t) -> usize;
13559}
13560unsafe extern "C" {
13561 pub fn snd_seq_client_pool_get_input_free(info: *const snd_seq_client_pool_t) -> usize;
13562}
13563unsafe extern "C" {
13564 pub fn snd_seq_client_pool_set_output_pool(info: *mut snd_seq_client_pool_t, size: usize);
13565}
13566unsafe extern "C" {
13567 pub fn snd_seq_client_pool_set_input_pool(info: *mut snd_seq_client_pool_t, size: usize);
13568}
13569unsafe extern "C" {
13570 pub fn snd_seq_client_pool_set_output_room(info: *mut snd_seq_client_pool_t, size: usize);
13571}
13572unsafe extern "C" {
13573 pub fn snd_seq_get_client_pool(
13574 handle: *mut snd_seq_t,
13575 info: *mut snd_seq_client_pool_t,
13576 ) -> ::core::ffi::c_int;
13577}
13578unsafe extern "C" {
13579 pub fn snd_seq_set_client_pool(
13580 handle: *mut snd_seq_t,
13581 info: *mut snd_seq_client_pool_t,
13582 ) -> ::core::ffi::c_int;
13583}
13584#[repr(C)]
13585#[derive(Debug, Copy, Clone)]
13586pub struct _snd_seq_port_info {
13587 _unused: [u8; 0],
13588}
13589pub type snd_seq_port_info_t = _snd_seq_port_info;
13590unsafe extern "C" {
13591 pub fn snd_seq_port_info_sizeof() -> usize;
13592}
13593unsafe extern "C" {
13594 pub fn snd_seq_port_info_malloc(ptr: *mut *mut snd_seq_port_info_t) -> ::core::ffi::c_int;
13595}
13596unsafe extern "C" {
13597 pub fn snd_seq_port_info_free(ptr: *mut snd_seq_port_info_t);
13598}
13599unsafe extern "C" {
13600 pub fn snd_seq_port_info_copy(dst: *mut snd_seq_port_info_t, src: *const snd_seq_port_info_t);
13601}
13602unsafe extern "C" {
13603 pub fn snd_seq_port_info_get_client(info: *const snd_seq_port_info_t) -> ::core::ffi::c_int;
13604}
13605unsafe extern "C" {
13606 pub fn snd_seq_port_info_get_port(info: *const snd_seq_port_info_t) -> ::core::ffi::c_int;
13607}
13608unsafe extern "C" {
13609 pub fn snd_seq_port_info_get_addr(info: *const snd_seq_port_info_t) -> *const snd_seq_addr_t;
13610}
13611unsafe extern "C" {
13612 pub fn snd_seq_port_info_get_name(
13613 info: *const snd_seq_port_info_t,
13614 ) -> *const ::core::ffi::c_char;
13615}
13616unsafe extern "C" {
13617 pub fn snd_seq_port_info_get_capability(
13618 info: *const snd_seq_port_info_t,
13619 ) -> ::core::ffi::c_uint;
13620}
13621unsafe extern "C" {
13622 pub fn snd_seq_port_info_get_type(info: *const snd_seq_port_info_t) -> ::core::ffi::c_uint;
13623}
13624unsafe extern "C" {
13625 pub fn snd_seq_port_info_get_midi_channels(
13626 info: *const snd_seq_port_info_t,
13627 ) -> ::core::ffi::c_int;
13628}
13629unsafe extern "C" {
13630 pub fn snd_seq_port_info_get_midi_voices(
13631 info: *const snd_seq_port_info_t,
13632 ) -> ::core::ffi::c_int;
13633}
13634unsafe extern "C" {
13635 pub fn snd_seq_port_info_get_synth_voices(
13636 info: *const snd_seq_port_info_t,
13637 ) -> ::core::ffi::c_int;
13638}
13639unsafe extern "C" {
13640 pub fn snd_seq_port_info_get_read_use(info: *const snd_seq_port_info_t) -> ::core::ffi::c_int;
13641}
13642unsafe extern "C" {
13643 pub fn snd_seq_port_info_get_write_use(info: *const snd_seq_port_info_t) -> ::core::ffi::c_int;
13644}
13645unsafe extern "C" {
13646 pub fn snd_seq_port_info_get_port_specified(
13647 info: *const snd_seq_port_info_t,
13648 ) -> ::core::ffi::c_int;
13649}
13650unsafe extern "C" {
13651 pub fn snd_seq_port_info_get_timestamping(
13652 info: *const snd_seq_port_info_t,
13653 ) -> ::core::ffi::c_int;
13654}
13655unsafe extern "C" {
13656 pub fn snd_seq_port_info_get_timestamp_real(
13657 info: *const snd_seq_port_info_t,
13658 ) -> ::core::ffi::c_int;
13659}
13660unsafe extern "C" {
13661 pub fn snd_seq_port_info_get_timestamp_queue(
13662 info: *const snd_seq_port_info_t,
13663 ) -> ::core::ffi::c_int;
13664}
13665unsafe extern "C" {
13666 pub fn snd_seq_port_info_get_direction(info: *const snd_seq_port_info_t) -> ::core::ffi::c_int;
13667}
13668unsafe extern "C" {
13669 pub fn snd_seq_port_info_get_ump_group(info: *const snd_seq_port_info_t) -> ::core::ffi::c_int;
13670}
13671unsafe extern "C" {
13672 pub fn snd_seq_port_info_get_ump_is_midi1(
13673 info: *const snd_seq_port_info_t,
13674 ) -> ::core::ffi::c_int;
13675}
13676unsafe extern "C" {
13677 pub fn snd_seq_port_info_set_client(info: *mut snd_seq_port_info_t, client: ::core::ffi::c_int);
13678}
13679unsafe extern "C" {
13680 pub fn snd_seq_port_info_set_port(info: *mut snd_seq_port_info_t, port: ::core::ffi::c_int);
13681}
13682unsafe extern "C" {
13683 pub fn snd_seq_port_info_set_addr(info: *mut snd_seq_port_info_t, addr: *const snd_seq_addr_t);
13684}
13685unsafe extern "C" {
13686 pub fn snd_seq_port_info_set_name(
13687 info: *mut snd_seq_port_info_t,
13688 name: *const ::core::ffi::c_char,
13689 );
13690}
13691unsafe extern "C" {
13692 pub fn snd_seq_port_info_set_capability(
13693 info: *mut snd_seq_port_info_t,
13694 capability: ::core::ffi::c_uint,
13695 );
13696}
13697unsafe extern "C" {
13698 pub fn snd_seq_port_info_set_type(info: *mut snd_seq_port_info_t, type_: ::core::ffi::c_uint);
13699}
13700unsafe extern "C" {
13701 pub fn snd_seq_port_info_set_midi_channels(
13702 info: *mut snd_seq_port_info_t,
13703 channels: ::core::ffi::c_int,
13704 );
13705}
13706unsafe extern "C" {
13707 pub fn snd_seq_port_info_set_midi_voices(
13708 info: *mut snd_seq_port_info_t,
13709 voices: ::core::ffi::c_int,
13710 );
13711}
13712unsafe extern "C" {
13713 pub fn snd_seq_port_info_set_synth_voices(
13714 info: *mut snd_seq_port_info_t,
13715 voices: ::core::ffi::c_int,
13716 );
13717}
13718unsafe extern "C" {
13719 pub fn snd_seq_port_info_set_port_specified(
13720 info: *mut snd_seq_port_info_t,
13721 val: ::core::ffi::c_int,
13722 );
13723}
13724unsafe extern "C" {
13725 pub fn snd_seq_port_info_set_timestamping(
13726 info: *mut snd_seq_port_info_t,
13727 enable: ::core::ffi::c_int,
13728 );
13729}
13730unsafe extern "C" {
13731 pub fn snd_seq_port_info_set_timestamp_real(
13732 info: *mut snd_seq_port_info_t,
13733 realtime: ::core::ffi::c_int,
13734 );
13735}
13736unsafe extern "C" {
13737 pub fn snd_seq_port_info_set_timestamp_queue(
13738 info: *mut snd_seq_port_info_t,
13739 queue: ::core::ffi::c_int,
13740 );
13741}
13742unsafe extern "C" {
13743 pub fn snd_seq_port_info_set_direction(
13744 info: *mut snd_seq_port_info_t,
13745 direction: ::core::ffi::c_int,
13746 );
13747}
13748unsafe extern "C" {
13749 pub fn snd_seq_port_info_set_ump_group(
13750 info: *mut snd_seq_port_info_t,
13751 ump_group: ::core::ffi::c_int,
13752 );
13753}
13754unsafe extern "C" {
13755 pub fn snd_seq_port_info_set_ump_is_midi1(
13756 info: *mut snd_seq_port_info_t,
13757 is_midi1: ::core::ffi::c_int,
13758 );
13759}
13760unsafe extern "C" {
13761 pub fn snd_seq_create_port(
13762 handle: *mut snd_seq_t,
13763 info: *mut snd_seq_port_info_t,
13764 ) -> ::core::ffi::c_int;
13765}
13766unsafe extern "C" {
13767 pub fn snd_seq_delete_port(
13768 handle: *mut snd_seq_t,
13769 port: ::core::ffi::c_int,
13770 ) -> ::core::ffi::c_int;
13771}
13772unsafe extern "C" {
13773 pub fn snd_seq_get_port_info(
13774 handle: *mut snd_seq_t,
13775 port: ::core::ffi::c_int,
13776 info: *mut snd_seq_port_info_t,
13777 ) -> ::core::ffi::c_int;
13778}
13779unsafe extern "C" {
13780 pub fn snd_seq_get_any_port_info(
13781 handle: *mut snd_seq_t,
13782 client: ::core::ffi::c_int,
13783 port: ::core::ffi::c_int,
13784 info: *mut snd_seq_port_info_t,
13785 ) -> ::core::ffi::c_int;
13786}
13787unsafe extern "C" {
13788 pub fn snd_seq_set_port_info(
13789 handle: *mut snd_seq_t,
13790 port: ::core::ffi::c_int,
13791 info: *mut snd_seq_port_info_t,
13792 ) -> ::core::ffi::c_int;
13793}
13794unsafe extern "C" {
13795 pub fn snd_seq_query_next_port(
13796 handle: *mut snd_seq_t,
13797 info: *mut snd_seq_port_info_t,
13798 ) -> ::core::ffi::c_int;
13799}
13800#[repr(C)]
13801#[derive(Debug, Copy, Clone)]
13802pub struct _snd_seq_port_subscribe {
13803 _unused: [u8; 0],
13804}
13805pub type snd_seq_port_subscribe_t = _snd_seq_port_subscribe;
13806unsafe extern "C" {
13807 pub fn snd_seq_port_subscribe_sizeof() -> usize;
13808}
13809unsafe extern "C" {
13810 pub fn snd_seq_port_subscribe_malloc(
13811 ptr: *mut *mut snd_seq_port_subscribe_t,
13812 ) -> ::core::ffi::c_int;
13813}
13814unsafe extern "C" {
13815 pub fn snd_seq_port_subscribe_free(ptr: *mut snd_seq_port_subscribe_t);
13816}
13817unsafe extern "C" {
13818 pub fn snd_seq_port_subscribe_copy(
13819 dst: *mut snd_seq_port_subscribe_t,
13820 src: *const snd_seq_port_subscribe_t,
13821 );
13822}
13823unsafe extern "C" {
13824 pub fn snd_seq_port_subscribe_get_sender(
13825 info: *const snd_seq_port_subscribe_t,
13826 ) -> *const snd_seq_addr_t;
13827}
13828unsafe extern "C" {
13829 pub fn snd_seq_port_subscribe_get_dest(
13830 info: *const snd_seq_port_subscribe_t,
13831 ) -> *const snd_seq_addr_t;
13832}
13833unsafe extern "C" {
13834 pub fn snd_seq_port_subscribe_get_queue(
13835 info: *const snd_seq_port_subscribe_t,
13836 ) -> ::core::ffi::c_int;
13837}
13838unsafe extern "C" {
13839 pub fn snd_seq_port_subscribe_get_exclusive(
13840 info: *const snd_seq_port_subscribe_t,
13841 ) -> ::core::ffi::c_int;
13842}
13843unsafe extern "C" {
13844 pub fn snd_seq_port_subscribe_get_time_update(
13845 info: *const snd_seq_port_subscribe_t,
13846 ) -> ::core::ffi::c_int;
13847}
13848unsafe extern "C" {
13849 pub fn snd_seq_port_subscribe_get_time_real(
13850 info: *const snd_seq_port_subscribe_t,
13851 ) -> ::core::ffi::c_int;
13852}
13853unsafe extern "C" {
13854 pub fn snd_seq_port_subscribe_set_sender(
13855 info: *mut snd_seq_port_subscribe_t,
13856 addr: *const snd_seq_addr_t,
13857 );
13858}
13859unsafe extern "C" {
13860 pub fn snd_seq_port_subscribe_set_dest(
13861 info: *mut snd_seq_port_subscribe_t,
13862 addr: *const snd_seq_addr_t,
13863 );
13864}
13865unsafe extern "C" {
13866 pub fn snd_seq_port_subscribe_set_queue(
13867 info: *mut snd_seq_port_subscribe_t,
13868 q: ::core::ffi::c_int,
13869 );
13870}
13871unsafe extern "C" {
13872 pub fn snd_seq_port_subscribe_set_exclusive(
13873 info: *mut snd_seq_port_subscribe_t,
13874 val: ::core::ffi::c_int,
13875 );
13876}
13877unsafe extern "C" {
13878 pub fn snd_seq_port_subscribe_set_time_update(
13879 info: *mut snd_seq_port_subscribe_t,
13880 val: ::core::ffi::c_int,
13881 );
13882}
13883unsafe extern "C" {
13884 pub fn snd_seq_port_subscribe_set_time_real(
13885 info: *mut snd_seq_port_subscribe_t,
13886 val: ::core::ffi::c_int,
13887 );
13888}
13889unsafe extern "C" {
13890 pub fn snd_seq_get_port_subscription(
13891 handle: *mut snd_seq_t,
13892 sub: *mut snd_seq_port_subscribe_t,
13893 ) -> ::core::ffi::c_int;
13894}
13895unsafe extern "C" {
13896 pub fn snd_seq_subscribe_port(
13897 handle: *mut snd_seq_t,
13898 sub: *mut snd_seq_port_subscribe_t,
13899 ) -> ::core::ffi::c_int;
13900}
13901unsafe extern "C" {
13902 pub fn snd_seq_unsubscribe_port(
13903 handle: *mut snd_seq_t,
13904 sub: *mut snd_seq_port_subscribe_t,
13905 ) -> ::core::ffi::c_int;
13906}
13907#[repr(C)]
13908#[derive(Debug, Copy, Clone)]
13909pub struct _snd_seq_query_subscribe {
13910 _unused: [u8; 0],
13911}
13912pub type snd_seq_query_subscribe_t = _snd_seq_query_subscribe;
13913pub const SND_SEQ_QUERY_SUBS_READ: snd_seq_query_subs_type_t = 0;
13914pub const SND_SEQ_QUERY_SUBS_WRITE: snd_seq_query_subs_type_t = 1;
13915pub type snd_seq_query_subs_type_t = ::core::ffi::c_uint;
13916unsafe extern "C" {
13917 pub fn snd_seq_query_subscribe_sizeof() -> usize;
13918}
13919unsafe extern "C" {
13920 pub fn snd_seq_query_subscribe_malloc(
13921 ptr: *mut *mut snd_seq_query_subscribe_t,
13922 ) -> ::core::ffi::c_int;
13923}
13924unsafe extern "C" {
13925 pub fn snd_seq_query_subscribe_free(ptr: *mut snd_seq_query_subscribe_t);
13926}
13927unsafe extern "C" {
13928 pub fn snd_seq_query_subscribe_copy(
13929 dst: *mut snd_seq_query_subscribe_t,
13930 src: *const snd_seq_query_subscribe_t,
13931 );
13932}
13933unsafe extern "C" {
13934 pub fn snd_seq_query_subscribe_get_client(
13935 info: *const snd_seq_query_subscribe_t,
13936 ) -> ::core::ffi::c_int;
13937}
13938unsafe extern "C" {
13939 pub fn snd_seq_query_subscribe_get_port(
13940 info: *const snd_seq_query_subscribe_t,
13941 ) -> ::core::ffi::c_int;
13942}
13943unsafe extern "C" {
13944 pub fn snd_seq_query_subscribe_get_root(
13945 info: *const snd_seq_query_subscribe_t,
13946 ) -> *const snd_seq_addr_t;
13947}
13948unsafe extern "C" {
13949 pub fn snd_seq_query_subscribe_get_type(
13950 info: *const snd_seq_query_subscribe_t,
13951 ) -> snd_seq_query_subs_type_t;
13952}
13953unsafe extern "C" {
13954 pub fn snd_seq_query_subscribe_get_index(
13955 info: *const snd_seq_query_subscribe_t,
13956 ) -> ::core::ffi::c_int;
13957}
13958unsafe extern "C" {
13959 pub fn snd_seq_query_subscribe_get_num_subs(
13960 info: *const snd_seq_query_subscribe_t,
13961 ) -> ::core::ffi::c_int;
13962}
13963unsafe extern "C" {
13964 pub fn snd_seq_query_subscribe_get_addr(
13965 info: *const snd_seq_query_subscribe_t,
13966 ) -> *const snd_seq_addr_t;
13967}
13968unsafe extern "C" {
13969 pub fn snd_seq_query_subscribe_get_queue(
13970 info: *const snd_seq_query_subscribe_t,
13971 ) -> ::core::ffi::c_int;
13972}
13973unsafe extern "C" {
13974 pub fn snd_seq_query_subscribe_get_exclusive(
13975 info: *const snd_seq_query_subscribe_t,
13976 ) -> ::core::ffi::c_int;
13977}
13978unsafe extern "C" {
13979 pub fn snd_seq_query_subscribe_get_time_update(
13980 info: *const snd_seq_query_subscribe_t,
13981 ) -> ::core::ffi::c_int;
13982}
13983unsafe extern "C" {
13984 pub fn snd_seq_query_subscribe_get_time_real(
13985 info: *const snd_seq_query_subscribe_t,
13986 ) -> ::core::ffi::c_int;
13987}
13988unsafe extern "C" {
13989 pub fn snd_seq_query_subscribe_set_client(
13990 info: *mut snd_seq_query_subscribe_t,
13991 client: ::core::ffi::c_int,
13992 );
13993}
13994unsafe extern "C" {
13995 pub fn snd_seq_query_subscribe_set_port(
13996 info: *mut snd_seq_query_subscribe_t,
13997 port: ::core::ffi::c_int,
13998 );
13999}
14000unsafe extern "C" {
14001 pub fn snd_seq_query_subscribe_set_root(
14002 info: *mut snd_seq_query_subscribe_t,
14003 addr: *const snd_seq_addr_t,
14004 );
14005}
14006unsafe extern "C" {
14007 pub fn snd_seq_query_subscribe_set_type(
14008 info: *mut snd_seq_query_subscribe_t,
14009 type_: snd_seq_query_subs_type_t,
14010 );
14011}
14012unsafe extern "C" {
14013 pub fn snd_seq_query_subscribe_set_index(
14014 info: *mut snd_seq_query_subscribe_t,
14015 _index: ::core::ffi::c_int,
14016 );
14017}
14018unsafe extern "C" {
14019 pub fn snd_seq_query_port_subscribers(
14020 seq: *mut snd_seq_t,
14021 subs: *mut snd_seq_query_subscribe_t,
14022 ) -> ::core::ffi::c_int;
14023}
14024#[repr(C)]
14025#[derive(Debug, Copy, Clone)]
14026pub struct _snd_seq_queue_info {
14027 _unused: [u8; 0],
14028}
14029pub type snd_seq_queue_info_t = _snd_seq_queue_info;
14030#[repr(C)]
14031#[derive(Debug, Copy, Clone)]
14032pub struct _snd_seq_queue_status {
14033 _unused: [u8; 0],
14034}
14035pub type snd_seq_queue_status_t = _snd_seq_queue_status;
14036#[repr(C)]
14037#[derive(Debug, Copy, Clone)]
14038pub struct _snd_seq_queue_tempo {
14039 _unused: [u8; 0],
14040}
14041pub type snd_seq_queue_tempo_t = _snd_seq_queue_tempo;
14042#[repr(C)]
14043#[derive(Debug, Copy, Clone)]
14044pub struct _snd_seq_queue_timer {
14045 _unused: [u8; 0],
14046}
14047pub type snd_seq_queue_timer_t = _snd_seq_queue_timer;
14048unsafe extern "C" {
14049 pub fn snd_seq_queue_info_sizeof() -> usize;
14050}
14051unsafe extern "C" {
14052 pub fn snd_seq_queue_info_malloc(ptr: *mut *mut snd_seq_queue_info_t) -> ::core::ffi::c_int;
14053}
14054unsafe extern "C" {
14055 pub fn snd_seq_queue_info_free(ptr: *mut snd_seq_queue_info_t);
14056}
14057unsafe extern "C" {
14058 pub fn snd_seq_queue_info_copy(
14059 dst: *mut snd_seq_queue_info_t,
14060 src: *const snd_seq_queue_info_t,
14061 );
14062}
14063unsafe extern "C" {
14064 pub fn snd_seq_queue_info_get_queue(info: *const snd_seq_queue_info_t) -> ::core::ffi::c_int;
14065}
14066unsafe extern "C" {
14067 pub fn snd_seq_queue_info_get_name(
14068 info: *const snd_seq_queue_info_t,
14069 ) -> *const ::core::ffi::c_char;
14070}
14071unsafe extern "C" {
14072 pub fn snd_seq_queue_info_get_owner(info: *const snd_seq_queue_info_t) -> ::core::ffi::c_int;
14073}
14074unsafe extern "C" {
14075 pub fn snd_seq_queue_info_get_locked(info: *const snd_seq_queue_info_t) -> ::core::ffi::c_int;
14076}
14077unsafe extern "C" {
14078 pub fn snd_seq_queue_info_get_flags(info: *const snd_seq_queue_info_t) -> ::core::ffi::c_uint;
14079}
14080unsafe extern "C" {
14081 pub fn snd_seq_queue_info_set_name(
14082 info: *mut snd_seq_queue_info_t,
14083 name: *const ::core::ffi::c_char,
14084 );
14085}
14086unsafe extern "C" {
14087 pub fn snd_seq_queue_info_set_owner(info: *mut snd_seq_queue_info_t, owner: ::core::ffi::c_int);
14088}
14089unsafe extern "C" {
14090 pub fn snd_seq_queue_info_set_locked(
14091 info: *mut snd_seq_queue_info_t,
14092 locked: ::core::ffi::c_int,
14093 );
14094}
14095unsafe extern "C" {
14096 pub fn snd_seq_queue_info_set_flags(
14097 info: *mut snd_seq_queue_info_t,
14098 flags: ::core::ffi::c_uint,
14099 );
14100}
14101unsafe extern "C" {
14102 pub fn snd_seq_create_queue(
14103 seq: *mut snd_seq_t,
14104 info: *mut snd_seq_queue_info_t,
14105 ) -> ::core::ffi::c_int;
14106}
14107unsafe extern "C" {
14108 pub fn snd_seq_alloc_named_queue(
14109 seq: *mut snd_seq_t,
14110 name: *const ::core::ffi::c_char,
14111 ) -> ::core::ffi::c_int;
14112}
14113unsafe extern "C" {
14114 pub fn snd_seq_alloc_queue(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14115}
14116unsafe extern "C" {
14117 pub fn snd_seq_free_queue(handle: *mut snd_seq_t, q: ::core::ffi::c_int) -> ::core::ffi::c_int;
14118}
14119unsafe extern "C" {
14120 pub fn snd_seq_get_queue_info(
14121 seq: *mut snd_seq_t,
14122 q: ::core::ffi::c_int,
14123 info: *mut snd_seq_queue_info_t,
14124 ) -> ::core::ffi::c_int;
14125}
14126unsafe extern "C" {
14127 pub fn snd_seq_set_queue_info(
14128 seq: *mut snd_seq_t,
14129 q: ::core::ffi::c_int,
14130 info: *mut snd_seq_queue_info_t,
14131 ) -> ::core::ffi::c_int;
14132}
14133unsafe extern "C" {
14134 pub fn snd_seq_query_named_queue(
14135 seq: *mut snd_seq_t,
14136 name: *const ::core::ffi::c_char,
14137 ) -> ::core::ffi::c_int;
14138}
14139unsafe extern "C" {
14140 pub fn snd_seq_get_queue_usage(
14141 handle: *mut snd_seq_t,
14142 q: ::core::ffi::c_int,
14143 ) -> ::core::ffi::c_int;
14144}
14145unsafe extern "C" {
14146 pub fn snd_seq_set_queue_usage(
14147 handle: *mut snd_seq_t,
14148 q: ::core::ffi::c_int,
14149 used: ::core::ffi::c_int,
14150 ) -> ::core::ffi::c_int;
14151}
14152unsafe extern "C" {
14153 pub fn snd_seq_queue_status_sizeof() -> usize;
14154}
14155unsafe extern "C" {
14156 pub fn snd_seq_queue_status_malloc(ptr: *mut *mut snd_seq_queue_status_t)
14157 -> ::core::ffi::c_int;
14158}
14159unsafe extern "C" {
14160 pub fn snd_seq_queue_status_free(ptr: *mut snd_seq_queue_status_t);
14161}
14162unsafe extern "C" {
14163 pub fn snd_seq_queue_status_copy(
14164 dst: *mut snd_seq_queue_status_t,
14165 src: *const snd_seq_queue_status_t,
14166 );
14167}
14168unsafe extern "C" {
14169 pub fn snd_seq_queue_status_get_queue(
14170 info: *const snd_seq_queue_status_t,
14171 ) -> ::core::ffi::c_int;
14172}
14173unsafe extern "C" {
14174 pub fn snd_seq_queue_status_get_events(
14175 info: *const snd_seq_queue_status_t,
14176 ) -> ::core::ffi::c_int;
14177}
14178unsafe extern "C" {
14179 pub fn snd_seq_queue_status_get_tick_time(
14180 info: *const snd_seq_queue_status_t,
14181 ) -> snd_seq_tick_time_t;
14182}
14183unsafe extern "C" {
14184 pub fn snd_seq_queue_status_get_real_time(
14185 info: *const snd_seq_queue_status_t,
14186 ) -> *const snd_seq_real_time_t;
14187}
14188unsafe extern "C" {
14189 pub fn snd_seq_queue_status_get_status(
14190 info: *const snd_seq_queue_status_t,
14191 ) -> ::core::ffi::c_uint;
14192}
14193unsafe extern "C" {
14194 pub fn snd_seq_get_queue_status(
14195 handle: *mut snd_seq_t,
14196 q: ::core::ffi::c_int,
14197 status: *mut snd_seq_queue_status_t,
14198 ) -> ::core::ffi::c_int;
14199}
14200unsafe extern "C" {
14201 pub fn snd_seq_queue_tempo_sizeof() -> usize;
14202}
14203unsafe extern "C" {
14204 pub fn snd_seq_queue_tempo_malloc(ptr: *mut *mut snd_seq_queue_tempo_t) -> ::core::ffi::c_int;
14205}
14206unsafe extern "C" {
14207 pub fn snd_seq_queue_tempo_free(ptr: *mut snd_seq_queue_tempo_t);
14208}
14209unsafe extern "C" {
14210 pub fn snd_seq_queue_tempo_copy(
14211 dst: *mut snd_seq_queue_tempo_t,
14212 src: *const snd_seq_queue_tempo_t,
14213 );
14214}
14215unsafe extern "C" {
14216 pub fn snd_seq_queue_tempo_get_queue(info: *const snd_seq_queue_tempo_t) -> ::core::ffi::c_int;
14217}
14218unsafe extern "C" {
14219 pub fn snd_seq_queue_tempo_get_tempo(info: *const snd_seq_queue_tempo_t)
14220 -> ::core::ffi::c_uint;
14221}
14222unsafe extern "C" {
14223 pub fn snd_seq_queue_tempo_get_ppq(info: *const snd_seq_queue_tempo_t) -> ::core::ffi::c_int;
14224}
14225unsafe extern "C" {
14226 pub fn snd_seq_queue_tempo_get_skew(info: *const snd_seq_queue_tempo_t) -> ::core::ffi::c_uint;
14227}
14228unsafe extern "C" {
14229 pub fn snd_seq_queue_tempo_get_skew_base(
14230 info: *const snd_seq_queue_tempo_t,
14231 ) -> ::core::ffi::c_uint;
14232}
14233unsafe extern "C" {
14234 pub fn snd_seq_queue_tempo_get_tempo_base(
14235 info: *const snd_seq_queue_tempo_t,
14236 ) -> ::core::ffi::c_uint;
14237}
14238unsafe extern "C" {
14239 pub fn snd_seq_queue_tempo_set_tempo(
14240 info: *mut snd_seq_queue_tempo_t,
14241 tempo: ::core::ffi::c_uint,
14242 );
14243}
14244unsafe extern "C" {
14245 pub fn snd_seq_queue_tempo_set_ppq(info: *mut snd_seq_queue_tempo_t, ppq: ::core::ffi::c_int);
14246}
14247unsafe extern "C" {
14248 pub fn snd_seq_queue_tempo_set_skew(
14249 info: *mut snd_seq_queue_tempo_t,
14250 skew: ::core::ffi::c_uint,
14251 );
14252}
14253unsafe extern "C" {
14254 pub fn snd_seq_queue_tempo_set_skew_base(
14255 info: *mut snd_seq_queue_tempo_t,
14256 base: ::core::ffi::c_uint,
14257 );
14258}
14259unsafe extern "C" {
14260 pub fn snd_seq_queue_tempo_set_tempo_base(
14261 info: *mut snd_seq_queue_tempo_t,
14262 tempo_base: ::core::ffi::c_uint,
14263 );
14264}
14265unsafe extern "C" {
14266 pub fn snd_seq_get_queue_tempo(
14267 handle: *mut snd_seq_t,
14268 q: ::core::ffi::c_int,
14269 tempo: *mut snd_seq_queue_tempo_t,
14270 ) -> ::core::ffi::c_int;
14271}
14272unsafe extern "C" {
14273 pub fn snd_seq_set_queue_tempo(
14274 handle: *mut snd_seq_t,
14275 q: ::core::ffi::c_int,
14276 tempo: *mut snd_seq_queue_tempo_t,
14277 ) -> ::core::ffi::c_int;
14278}
14279unsafe extern "C" {
14280 pub fn snd_seq_has_queue_tempo_base(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14281}
14282pub const SND_SEQ_TIMER_ALSA: snd_seq_queue_timer_type_t = 0;
14283pub const SND_SEQ_TIMER_MIDI_CLOCK: snd_seq_queue_timer_type_t = 1;
14284pub const SND_SEQ_TIMER_MIDI_TICK: snd_seq_queue_timer_type_t = 2;
14285pub type snd_seq_queue_timer_type_t = ::core::ffi::c_uint;
14286unsafe extern "C" {
14287 pub fn snd_seq_queue_timer_sizeof() -> usize;
14288}
14289unsafe extern "C" {
14290 pub fn snd_seq_queue_timer_malloc(ptr: *mut *mut snd_seq_queue_timer_t) -> ::core::ffi::c_int;
14291}
14292unsafe extern "C" {
14293 pub fn snd_seq_queue_timer_free(ptr: *mut snd_seq_queue_timer_t);
14294}
14295unsafe extern "C" {
14296 pub fn snd_seq_queue_timer_copy(
14297 dst: *mut snd_seq_queue_timer_t,
14298 src: *const snd_seq_queue_timer_t,
14299 );
14300}
14301unsafe extern "C" {
14302 pub fn snd_seq_queue_timer_get_queue(info: *const snd_seq_queue_timer_t) -> ::core::ffi::c_int;
14303}
14304unsafe extern "C" {
14305 pub fn snd_seq_queue_timer_get_type(
14306 info: *const snd_seq_queue_timer_t,
14307 ) -> snd_seq_queue_timer_type_t;
14308}
14309unsafe extern "C" {
14310 pub fn snd_seq_queue_timer_get_id(info: *const snd_seq_queue_timer_t) -> *const snd_timer_id_t;
14311}
14312unsafe extern "C" {
14313 pub fn snd_seq_queue_timer_get_resolution(
14314 info: *const snd_seq_queue_timer_t,
14315 ) -> ::core::ffi::c_uint;
14316}
14317unsafe extern "C" {
14318 pub fn snd_seq_queue_timer_set_type(
14319 info: *mut snd_seq_queue_timer_t,
14320 type_: snd_seq_queue_timer_type_t,
14321 );
14322}
14323unsafe extern "C" {
14324 pub fn snd_seq_queue_timer_set_id(info: *mut snd_seq_queue_timer_t, id: *const snd_timer_id_t);
14325}
14326unsafe extern "C" {
14327 pub fn snd_seq_queue_timer_set_resolution(
14328 info: *mut snd_seq_queue_timer_t,
14329 resolution: ::core::ffi::c_uint,
14330 );
14331}
14332unsafe extern "C" {
14333 pub fn snd_seq_get_queue_timer(
14334 handle: *mut snd_seq_t,
14335 q: ::core::ffi::c_int,
14336 timer: *mut snd_seq_queue_timer_t,
14337 ) -> ::core::ffi::c_int;
14338}
14339unsafe extern "C" {
14340 pub fn snd_seq_set_queue_timer(
14341 handle: *mut snd_seq_t,
14342 q: ::core::ffi::c_int,
14343 timer: *mut snd_seq_queue_timer_t,
14344 ) -> ::core::ffi::c_int;
14345}
14346unsafe extern "C" {
14347 pub fn snd_seq_free_event(ev: *mut snd_seq_event_t) -> ::core::ffi::c_int;
14348}
14349unsafe extern "C" {
14350 pub fn snd_seq_event_length(ev: *mut snd_seq_event_t) -> isize;
14351}
14352unsafe extern "C" {
14353 pub fn snd_seq_event_output(
14354 handle: *mut snd_seq_t,
14355 ev: *mut snd_seq_event_t,
14356 ) -> ::core::ffi::c_int;
14357}
14358unsafe extern "C" {
14359 pub fn snd_seq_event_output_buffer(
14360 handle: *mut snd_seq_t,
14361 ev: *mut snd_seq_event_t,
14362 ) -> ::core::ffi::c_int;
14363}
14364unsafe extern "C" {
14365 pub fn snd_seq_event_output_direct(
14366 handle: *mut snd_seq_t,
14367 ev: *mut snd_seq_event_t,
14368 ) -> ::core::ffi::c_int;
14369}
14370unsafe extern "C" {
14371 pub fn snd_seq_event_input(
14372 handle: *mut snd_seq_t,
14373 ev: *mut *mut snd_seq_event_t,
14374 ) -> ::core::ffi::c_int;
14375}
14376unsafe extern "C" {
14377 pub fn snd_seq_event_input_pending(
14378 seq: *mut snd_seq_t,
14379 fetch_sequencer: ::core::ffi::c_int,
14380 ) -> ::core::ffi::c_int;
14381}
14382unsafe extern "C" {
14383 pub fn snd_seq_drain_output(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14384}
14385unsafe extern "C" {
14386 pub fn snd_seq_event_output_pending(seq: *mut snd_seq_t) -> ::core::ffi::c_int;
14387}
14388unsafe extern "C" {
14389 pub fn snd_seq_extract_output(
14390 handle: *mut snd_seq_t,
14391 ev: *mut *mut snd_seq_event_t,
14392 ) -> ::core::ffi::c_int;
14393}
14394unsafe extern "C" {
14395 pub fn snd_seq_drop_output(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14396}
14397unsafe extern "C" {
14398 pub fn snd_seq_drop_output_buffer(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14399}
14400unsafe extern "C" {
14401 pub fn snd_seq_drop_input(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14402}
14403unsafe extern "C" {
14404 pub fn snd_seq_drop_input_buffer(handle: *mut snd_seq_t) -> ::core::ffi::c_int;
14405}
14406#[repr(C)]
14407#[derive(Debug, Copy, Clone)]
14408pub struct _snd_seq_remove_events {
14409 _unused: [u8; 0],
14410}
14411pub type snd_seq_remove_events_t = _snd_seq_remove_events;
14412unsafe extern "C" {
14413 pub fn snd_seq_remove_events_sizeof() -> usize;
14414}
14415unsafe extern "C" {
14416 pub fn snd_seq_remove_events_malloc(
14417 ptr: *mut *mut snd_seq_remove_events_t,
14418 ) -> ::core::ffi::c_int;
14419}
14420unsafe extern "C" {
14421 pub fn snd_seq_remove_events_free(ptr: *mut snd_seq_remove_events_t);
14422}
14423unsafe extern "C" {
14424 pub fn snd_seq_remove_events_copy(
14425 dst: *mut snd_seq_remove_events_t,
14426 src: *const snd_seq_remove_events_t,
14427 );
14428}
14429unsafe extern "C" {
14430 pub fn snd_seq_remove_events_get_condition(
14431 info: *const snd_seq_remove_events_t,
14432 ) -> ::core::ffi::c_uint;
14433}
14434unsafe extern "C" {
14435 pub fn snd_seq_remove_events_get_queue(
14436 info: *const snd_seq_remove_events_t,
14437 ) -> ::core::ffi::c_int;
14438}
14439unsafe extern "C" {
14440 pub fn snd_seq_remove_events_get_time(
14441 info: *const snd_seq_remove_events_t,
14442 ) -> *const snd_seq_timestamp_t;
14443}
14444unsafe extern "C" {
14445 pub fn snd_seq_remove_events_get_dest(
14446 info: *const snd_seq_remove_events_t,
14447 ) -> *const snd_seq_addr_t;
14448}
14449unsafe extern "C" {
14450 pub fn snd_seq_remove_events_get_channel(
14451 info: *const snd_seq_remove_events_t,
14452 ) -> ::core::ffi::c_int;
14453}
14454unsafe extern "C" {
14455 pub fn snd_seq_remove_events_get_event_type(
14456 info: *const snd_seq_remove_events_t,
14457 ) -> ::core::ffi::c_int;
14458}
14459unsafe extern "C" {
14460 pub fn snd_seq_remove_events_get_tag(
14461 info: *const snd_seq_remove_events_t,
14462 ) -> ::core::ffi::c_int;
14463}
14464unsafe extern "C" {
14465 pub fn snd_seq_remove_events_set_condition(
14466 info: *mut snd_seq_remove_events_t,
14467 flags: ::core::ffi::c_uint,
14468 );
14469}
14470unsafe extern "C" {
14471 pub fn snd_seq_remove_events_set_queue(
14472 info: *mut snd_seq_remove_events_t,
14473 queue: ::core::ffi::c_int,
14474 );
14475}
14476unsafe extern "C" {
14477 pub fn snd_seq_remove_events_set_time(
14478 info: *mut snd_seq_remove_events_t,
14479 time: *const snd_seq_timestamp_t,
14480 );
14481}
14482unsafe extern "C" {
14483 pub fn snd_seq_remove_events_set_dest(
14484 info: *mut snd_seq_remove_events_t,
14485 addr: *const snd_seq_addr_t,
14486 );
14487}
14488unsafe extern "C" {
14489 pub fn snd_seq_remove_events_set_channel(
14490 info: *mut snd_seq_remove_events_t,
14491 channel: ::core::ffi::c_int,
14492 );
14493}
14494unsafe extern "C" {
14495 pub fn snd_seq_remove_events_set_event_type(
14496 info: *mut snd_seq_remove_events_t,
14497 type_: ::core::ffi::c_int,
14498 );
14499}
14500unsafe extern "C" {
14501 pub fn snd_seq_remove_events_set_tag(
14502 info: *mut snd_seq_remove_events_t,
14503 tag: ::core::ffi::c_int,
14504 );
14505}
14506unsafe extern "C" {
14507 pub fn snd_seq_remove_events(
14508 handle: *mut snd_seq_t,
14509 info: *mut snd_seq_remove_events_t,
14510 ) -> ::core::ffi::c_int;
14511}
14512unsafe extern "C" {
14513 pub fn snd_seq_ump_event_output(
14514 seq: *mut snd_seq_t,
14515 ev: *mut snd_seq_ump_event_t,
14516 ) -> ::core::ffi::c_int;
14517}
14518unsafe extern "C" {
14519 pub fn snd_seq_ump_event_output_buffer(
14520 seq: *mut snd_seq_t,
14521 ev: *mut snd_seq_ump_event_t,
14522 ) -> ::core::ffi::c_int;
14523}
14524unsafe extern "C" {
14525 pub fn snd_seq_ump_extract_output(
14526 seq: *mut snd_seq_t,
14527 ev_res: *mut *mut snd_seq_ump_event_t,
14528 ) -> ::core::ffi::c_int;
14529}
14530unsafe extern "C" {
14531 pub fn snd_seq_ump_event_output_direct(
14532 seq: *mut snd_seq_t,
14533 ev: *mut snd_seq_ump_event_t,
14534 ) -> ::core::ffi::c_int;
14535}
14536unsafe extern "C" {
14537 pub fn snd_seq_ump_event_input(
14538 seq: *mut snd_seq_t,
14539 ev: *mut *mut snd_seq_ump_event_t,
14540 ) -> ::core::ffi::c_int;
14541}
14542unsafe extern "C" {
14543 pub fn snd_seq_set_bit(nr: ::core::ffi::c_int, array: *mut ::core::ffi::c_void);
14544}
14545unsafe extern "C" {
14546 pub fn snd_seq_unset_bit(nr: ::core::ffi::c_int, array: *mut ::core::ffi::c_void);
14547}
14548unsafe extern "C" {
14549 pub fn snd_seq_change_bit(
14550 nr: ::core::ffi::c_int,
14551 array: *mut ::core::ffi::c_void,
14552 ) -> ::core::ffi::c_int;
14553}
14554unsafe extern "C" {
14555 pub fn snd_seq_get_bit(
14556 nr: ::core::ffi::c_int,
14557 array: *mut ::core::ffi::c_void,
14558 ) -> ::core::ffi::c_int;
14559}
14560unsafe extern "C" {
14561 pub fn snd_seq_control_queue(
14562 seq: *mut snd_seq_t,
14563 q: ::core::ffi::c_int,
14564 type_: ::core::ffi::c_int,
14565 value: ::core::ffi::c_int,
14566 ev: *mut snd_seq_event_t,
14567 ) -> ::core::ffi::c_int;
14568}
14569unsafe extern "C" {
14570 pub fn snd_seq_create_simple_port(
14571 seq: *mut snd_seq_t,
14572 name: *const ::core::ffi::c_char,
14573 caps: ::core::ffi::c_uint,
14574 type_: ::core::ffi::c_uint,
14575 ) -> ::core::ffi::c_int;
14576}
14577unsafe extern "C" {
14578 pub fn snd_seq_delete_simple_port(
14579 seq: *mut snd_seq_t,
14580 port: ::core::ffi::c_int,
14581 ) -> ::core::ffi::c_int;
14582}
14583unsafe extern "C" {
14584 pub fn snd_seq_connect_from(
14585 seq: *mut snd_seq_t,
14586 my_port: ::core::ffi::c_int,
14587 src_client: ::core::ffi::c_int,
14588 src_port: ::core::ffi::c_int,
14589 ) -> ::core::ffi::c_int;
14590}
14591unsafe extern "C" {
14592 pub fn snd_seq_connect_to(
14593 seq: *mut snd_seq_t,
14594 my_port: ::core::ffi::c_int,
14595 dest_client: ::core::ffi::c_int,
14596 dest_port: ::core::ffi::c_int,
14597 ) -> ::core::ffi::c_int;
14598}
14599unsafe extern "C" {
14600 pub fn snd_seq_disconnect_from(
14601 seq: *mut snd_seq_t,
14602 my_port: ::core::ffi::c_int,
14603 src_client: ::core::ffi::c_int,
14604 src_port: ::core::ffi::c_int,
14605 ) -> ::core::ffi::c_int;
14606}
14607unsafe extern "C" {
14608 pub fn snd_seq_disconnect_to(
14609 seq: *mut snd_seq_t,
14610 my_port: ::core::ffi::c_int,
14611 dest_client: ::core::ffi::c_int,
14612 dest_port: ::core::ffi::c_int,
14613 ) -> ::core::ffi::c_int;
14614}
14615unsafe extern "C" {
14616 pub fn snd_seq_set_client_name(
14617 seq: *mut snd_seq_t,
14618 name: *const ::core::ffi::c_char,
14619 ) -> ::core::ffi::c_int;
14620}
14621unsafe extern "C" {
14622 pub fn snd_seq_set_client_event_filter(
14623 seq: *mut snd_seq_t,
14624 event_type: ::core::ffi::c_int,
14625 ) -> ::core::ffi::c_int;
14626}
14627unsafe extern "C" {
14628 pub fn snd_seq_set_client_midi_version(
14629 seq: *mut snd_seq_t,
14630 midi_version: ::core::ffi::c_int,
14631 ) -> ::core::ffi::c_int;
14632}
14633unsafe extern "C" {
14634 pub fn snd_seq_set_client_ump_conversion(
14635 seq: *mut snd_seq_t,
14636 enable: ::core::ffi::c_int,
14637 ) -> ::core::ffi::c_int;
14638}
14639unsafe extern "C" {
14640 pub fn snd_seq_set_client_pool_output(seq: *mut snd_seq_t, size: usize) -> ::core::ffi::c_int;
14641}
14642unsafe extern "C" {
14643 pub fn snd_seq_set_client_pool_output_room(
14644 seq: *mut snd_seq_t,
14645 size: usize,
14646 ) -> ::core::ffi::c_int;
14647}
14648unsafe extern "C" {
14649 pub fn snd_seq_set_client_pool_input(seq: *mut snd_seq_t, size: usize) -> ::core::ffi::c_int;
14650}
14651unsafe extern "C" {
14652 pub fn snd_seq_sync_output_queue(seq: *mut snd_seq_t) -> ::core::ffi::c_int;
14653}
14654unsafe extern "C" {
14655 pub fn snd_seq_parse_address(
14656 seq: *mut snd_seq_t,
14657 addr: *mut snd_seq_addr_t,
14658 str_: *const ::core::ffi::c_char,
14659 ) -> ::core::ffi::c_int;
14660}
14661unsafe extern "C" {
14662 pub fn snd_seq_reset_pool_output(seq: *mut snd_seq_t) -> ::core::ffi::c_int;
14663}
14664unsafe extern "C" {
14665 pub fn snd_seq_reset_pool_input(seq: *mut snd_seq_t) -> ::core::ffi::c_int;
14666}
14667unsafe extern "C" {
14668 pub fn snd_seq_create_ump_endpoint(
14669 seq: *mut snd_seq_t,
14670 info: *const snd_ump_endpoint_info_t,
14671 num_groups: ::core::ffi::c_uint,
14672 ) -> ::core::ffi::c_int;
14673}
14674unsafe extern "C" {
14675 pub fn snd_seq_create_ump_block(
14676 seq: *mut snd_seq_t,
14677 blkid: ::core::ffi::c_int,
14678 info: *const snd_ump_block_info_t,
14679 ) -> ::core::ffi::c_int;
14680}
14681#[repr(C)]
14682#[derive(Debug, Copy, Clone)]
14683pub struct snd_midi_event {
14684 _unused: [u8; 0],
14685}
14686pub type snd_midi_event_t = snd_midi_event;
14687unsafe extern "C" {
14688 pub fn snd_midi_event_new(
14689 bufsize: usize,
14690 rdev: *mut *mut snd_midi_event_t,
14691 ) -> ::core::ffi::c_int;
14692}
14693unsafe extern "C" {
14694 pub fn snd_midi_event_resize_buffer(
14695 dev: *mut snd_midi_event_t,
14696 bufsize: usize,
14697 ) -> ::core::ffi::c_int;
14698}
14699unsafe extern "C" {
14700 pub fn snd_midi_event_free(dev: *mut snd_midi_event_t);
14701}
14702unsafe extern "C" {
14703 pub fn snd_midi_event_init(dev: *mut snd_midi_event_t);
14704}
14705unsafe extern "C" {
14706 pub fn snd_midi_event_reset_encode(dev: *mut snd_midi_event_t);
14707}
14708unsafe extern "C" {
14709 pub fn snd_midi_event_reset_decode(dev: *mut snd_midi_event_t);
14710}
14711unsafe extern "C" {
14712 pub fn snd_midi_event_no_status(dev: *mut snd_midi_event_t, on: ::core::ffi::c_int);
14713}
14714unsafe extern "C" {
14715 pub fn snd_midi_event_encode(
14716 dev: *mut snd_midi_event_t,
14717 buf: *const ::core::ffi::c_uchar,
14718 count: ::core::ffi::c_long,
14719 ev: *mut snd_seq_event_t,
14720 ) -> ::core::ffi::c_long;
14721}
14722unsafe extern "C" {
14723 pub fn snd_midi_event_encode_byte(
14724 dev: *mut snd_midi_event_t,
14725 c: ::core::ffi::c_int,
14726 ev: *mut snd_seq_event_t,
14727 ) -> ::core::ffi::c_int;
14728}
14729unsafe extern "C" {
14730 pub fn snd_midi_event_decode(
14731 dev: *mut snd_midi_event_t,
14732 buf: *mut ::core::ffi::c_uchar,
14733 count: ::core::ffi::c_long,
14734 ev: *const snd_seq_event_t,
14735 ) -> ::core::ffi::c_long;
14736}
14737pub type __builtin_va_list = [__va_list_tag; 1usize];
14738#[repr(C)]
14739#[derive(Debug, Copy, Clone)]
14740pub struct __va_list_tag {
14741 pub gp_offset: ::core::ffi::c_uint,
14742 pub fp_offset: ::core::ffi::c_uint,
14743 pub overflow_arg_area: *mut ::core::ffi::c_void,
14744 pub reg_save_area: *mut ::core::ffi::c_void,
14745}