#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val {
*byte |= mask;
} else {
*byte &= !mask;
}
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
}
#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
#[inline]
pub const fn new() -> Self {
__IncompleteArrayField(::std::marker::PhantomData, [])
}
#[inline]
pub fn as_ptr(&self) -> *const T {
self as *const _ as *const T
}
#[inline]
pub fn as_mut_ptr(&mut self) -> *mut T {
self as *mut _ as *mut T
}
#[inline]
pub unsafe fn as_slice(&self, len: usize) -> &[T] {
::std::slice::from_raw_parts(self.as_ptr(), len)
}
#[inline]
pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
}
}
impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
fmt.write_str("__IncompleteArrayField")
}
}
pub const SNDRV_PCM_INFO_MMAP: u32 = 1;
pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2;
pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4;
pub const SNDRV_PCM_INFO_BATCH: u32 = 16;
pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32;
pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256;
pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512;
pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024;
pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536;
pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072;
pub const SNDRV_PCM_INFO_RESUME: u32 = 262144;
pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288;
pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576;
pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152;
pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304;
pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608;
pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216;
pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216;
pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432;
pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864;
pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728;
pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824;
pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648;
pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0;
pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1;
pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2;
pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0;
pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2;
pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8;
pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9;
pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10;
pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11;
pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12;
pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13;
pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14;
pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15;
pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16;
pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17;
pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18;
pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19;
pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8;
pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19;
pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1;
pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2;
pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4;
pub const SNDRV_MASK_MAX: u32 = 256;
pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1;
pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2;
pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4;
pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535;
pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536;
pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072;
pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1;
pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2;
pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4;
pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0;
pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1;
pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2;
pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3;
pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1;
pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1;
pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2;
pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4;
pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1;
pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2;
pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3;
pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4;
pub const SNDRV_CTL_ELEM_ACCESS_TIMESTAMP: u32 = 8;
pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16;
pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32;
pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48;
pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64;
pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256;
pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512;
pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024;
pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456;
pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912;
pub const SNDRV_CTL_POWER_D0: u32 = 0;
pub const SNDRV_CTL_POWER_D1: u32 = 256;
pub const SNDRV_CTL_POWER_D2: u32 = 512;
pub const SNDRV_CTL_POWER_D3: u32 = 768;
pub const SNDRV_CTL_POWER_D3hot: u32 = 768;
pub const SNDRV_CTL_POWER_D3cold: u32 = 769;
pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44;
pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1;
pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2;
pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4;
pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8;
pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1;
pub const SNDRV_CTL_NAME_NONE: &'static [u8; 1usize] = b"\0";
pub const SNDRV_CTL_NAME_PLAYBACK: &'static [u8; 10usize] = b"Playback \0";
pub const SNDRV_CTL_NAME_CAPTURE: &'static [u8; 9usize] = b"Capture \0";
pub const SNDRV_CTL_NAME_IEC958_NONE: &'static [u8; 1usize] = b"\0";
pub const SNDRV_CTL_NAME_IEC958_SWITCH: &'static [u8; 7usize] = b"Switch\0";
pub const SNDRV_CTL_NAME_IEC958_VOLUME: &'static [u8; 7usize] = b"Volume\0";
pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &'static [u8; 8usize] = b"Default\0";
pub const SNDRV_CTL_NAME_IEC958_MASK: &'static [u8; 5usize] = b"Mask\0";
pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &'static [u8; 9usize] = b"Con Mask\0";
pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &'static [u8; 9usize] = b"Pro Mask\0";
pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &'static [u8; 11usize] = b"PCM Stream\0";
pub type __u32 = ::std::os::raw::c_uint;
pub type __u64 = ::std::os::raw::c_ulonglong;
pub type __kernel_long_t = ::std::os::raw::c_long;
pub type __kernel_pid_t = ::std::os::raw::c_int;
pub type __kernel_off_t = __kernel_long_t;
pub type __time_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_aes_iec958 {
pub status: [::std::os::raw::c_uchar; 24usize],
pub subcode: [::std::os::raw::c_uchar; 147usize],
pub pad: ::std::os::raw::c_uchar,
pub dig_subframe: [::std::os::raw::c_uchar; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_cea_861_aud_if {
pub db1_ct_cc: ::std::os::raw::c_uchar,
pub db2_sf_ss: ::std::os::raw::c_uchar,
pub db3: ::std::os::raw::c_uchar,
pub db4_ca: ::std::os::raw::c_uchar,
pub db5_dminh_lsv: ::std::os::raw::c_uchar,
}
pub const SNDRV_HWDEP_IFACE_OPL2: ::std::os::raw::c_uint = 0;
pub const SNDRV_HWDEP_IFACE_OPL3: ::std::os::raw::c_uint = 1;
pub const SNDRV_HWDEP_IFACE_OPL4: ::std::os::raw::c_uint = 2;
pub const SNDRV_HWDEP_IFACE_SB16CSP: ::std::os::raw::c_uint = 3;
pub const SNDRV_HWDEP_IFACE_EMU10K1: ::std::os::raw::c_uint = 4;
pub const SNDRV_HWDEP_IFACE_YSS225: ::std::os::raw::c_uint = 5;
pub const SNDRV_HWDEP_IFACE_ICS2115: ::std::os::raw::c_uint = 6;
pub const SNDRV_HWDEP_IFACE_SSCAPE: ::std::os::raw::c_uint = 7;
pub const SNDRV_HWDEP_IFACE_VX: ::std::os::raw::c_uint = 8;
pub const SNDRV_HWDEP_IFACE_MIXART: ::std::os::raw::c_uint = 9;
pub const SNDRV_HWDEP_IFACE_USX2Y: ::std::os::raw::c_uint = 10;
pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: ::std::os::raw::c_uint = 11;
pub const SNDRV_HWDEP_IFACE_BLUETOOTH: ::std::os::raw::c_uint = 12;
pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: ::std::os::raw::c_uint = 13;
pub const SNDRV_HWDEP_IFACE_PCXHR: ::std::os::raw::c_uint = 14;
pub const SNDRV_HWDEP_IFACE_SB_RC: ::std::os::raw::c_uint = 15;
pub const SNDRV_HWDEP_IFACE_HDA: ::std::os::raw::c_uint = 16;
pub const SNDRV_HWDEP_IFACE_USB_STREAM: ::std::os::raw::c_uint = 17;
pub const SNDRV_HWDEP_IFACE_FW_DICE: ::std::os::raw::c_uint = 18;
pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: ::std::os::raw::c_uint = 19;
pub const SNDRV_HWDEP_IFACE_FW_BEBOB: ::std::os::raw::c_uint = 20;
pub const SNDRV_HWDEP_IFACE_FW_OXFW: ::std::os::raw::c_uint = 21;
pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: ::std::os::raw::c_uint = 22;
pub const SNDRV_HWDEP_IFACE_FW_TASCAM: ::std::os::raw::c_uint = 23;
pub const SNDRV_HWDEP_IFACE_LINE6: ::std::os::raw::c_uint = 24;
pub const SNDRV_HWDEP_IFACE_FW_MOTU: ::std::os::raw::c_uint = 25;
pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: ::std::os::raw::c_uint = 26;
pub const SNDRV_HWDEP_IFACE_LAST: ::std::os::raw::c_uint = 26;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_hwdep_info {
pub device: ::std::os::raw::c_uint,
pub card: ::std::os::raw::c_int,
pub id: [::std::os::raw::c_uchar; 64usize],
pub name: [::std::os::raw::c_uchar; 80usize],
pub iface: ::std::os::raw::c_int,
pub reserved: [::std::os::raw::c_uchar; 64usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_hwdep_dsp_status {
pub version: ::std::os::raw::c_uint,
pub id: [::std::os::raw::c_uchar; 32usize],
pub num_dsps: ::std::os::raw::c_uint,
pub dsp_loaded: ::std::os::raw::c_uint,
pub chip_ready: ::std::os::raw::c_uint,
pub reserved: [::std::os::raw::c_uchar; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_hwdep_dsp_image {
pub index: ::std::os::raw::c_uint,
pub name: [::std::os::raw::c_uchar; 64usize],
pub image: *mut ::std::os::raw::c_uchar,
pub length: usize,
pub driver_data: ::std::os::raw::c_ulong,
}
pub type snd_pcm_uframes_t = ::std::os::raw::c_ulong;
pub type snd_pcm_sframes_t = ::std::os::raw::c_long;
pub const SNDRV_PCM_CLASS_GENERIC: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_CLASS_MULTI: ::std::os::raw::c_uint = 1;
pub const SNDRV_PCM_CLASS_MODEM: ::std::os::raw::c_uint = 2;
pub const SNDRV_PCM_CLASS_DIGITIZER: ::std::os::raw::c_uint = 3;
pub const SNDRV_PCM_CLASS_LAST: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: ::std::os::raw::c_uint = 1;
pub const SNDRV_PCM_SUBCLASS_LAST: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
pub const SNDRV_PCM_STREAM_PLAYBACK: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_STREAM_CAPTURE: ::std::os::raw::c_uint = 1;
pub const SNDRV_PCM_STREAM_LAST: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
pub type snd_pcm_access_t = ::std::os::raw::c_int;
pub type snd_pcm_format_t = ::std::os::raw::c_int;
pub type snd_pcm_subformat_t = ::std::os::raw::c_int;
pub type snd_pcm_state_t = ::std::os::raw::c_int;
pub const SNDRV_PCM_MMAP_OFFSET_DATA: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_MMAP_OFFSET_STATUS: ::std::os::raw::c_uint = 2147483648;
pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: ::std::os::raw::c_uint = 2164260864;
pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_pcm_sync_id {
pub id: [::std::os::raw::c_uchar; 16usize],
pub id16: [::std::os::raw::c_ushort; 8usize],
pub id32: [::std::os::raw::c_uint; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_pcm_info {
pub device: ::std::os::raw::c_uint,
pub subdevice: ::std::os::raw::c_uint,
pub stream: ::std::os::raw::c_int,
pub card: ::std::os::raw::c_int,
pub id: [::std::os::raw::c_uchar; 64usize],
pub name: [::std::os::raw::c_uchar; 80usize],
pub subname: [::std::os::raw::c_uchar; 32usize],
pub dev_class: ::std::os::raw::c_int,
pub dev_subclass: ::std::os::raw::c_int,
pub subdevices_count: ::std::os::raw::c_uint,
pub subdevices_avail: ::std::os::raw::c_uint,
pub sync: snd_pcm_sync_id,
pub reserved: [::std::os::raw::c_uchar; 64usize],
}
pub type snd_pcm_hw_param_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_interval {
pub min: ::std::os::raw::c_uint,
pub max: ::std::os::raw::c_uint,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
pub __bindgen_padding_0: [u8; 3usize],
}
impl snd_interval {
#[inline]
pub fn openmin(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_openmin(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn openmax(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
pub fn set_openmax(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn integer(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
}
#[inline]
pub fn set_integer(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn empty(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
pub fn set_empty(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
openmin: ::std::os::raw::c_uint,
openmax: ::std::os::raw::c_uint,
integer: ::std::os::raw::c_uint,
empty: ::std::os::raw::c_uint,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let openmin: u32 = unsafe { ::std::mem::transmute(openmin) };
openmin as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let openmax: u32 = unsafe { ::std::mem::transmute(openmax) };
openmax as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let integer: u32 = unsafe { ::std::mem::transmute(integer) };
integer as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let empty: u32 = unsafe { ::std::mem::transmute(empty) };
empty as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_mask {
pub bits: [__u32; 8usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_pcm_hw_params {
pub flags: ::std::os::raw::c_uint,
pub masks: [snd_mask; 3usize],
pub mres: [snd_mask; 5usize],
pub intervals: [snd_interval; 12usize],
pub ires: [snd_interval; 9usize],
pub rmask: ::std::os::raw::c_uint,
pub cmask: ::std::os::raw::c_uint,
pub info: ::std::os::raw::c_uint,
pub msbits: ::std::os::raw::c_uint,
pub rate_num: ::std::os::raw::c_uint,
pub rate_den: ::std::os::raw::c_uint,
pub fifo_size: snd_pcm_uframes_t,
pub reserved: [::std::os::raw::c_uchar; 64usize],
}
pub const SNDRV_PCM_TSTAMP_NONE: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_TSTAMP_ENABLE: ::std::os::raw::c_uint = 1;
pub const SNDRV_PCM_TSTAMP_LAST: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_pcm_sw_params {
pub tstamp_mode: ::std::os::raw::c_int,
pub period_step: ::std::os::raw::c_uint,
pub sleep_min: ::std::os::raw::c_uint,
pub avail_min: snd_pcm_uframes_t,
pub xfer_align: snd_pcm_uframes_t,
pub start_threshold: snd_pcm_uframes_t,
pub stop_threshold: snd_pcm_uframes_t,
pub silence_threshold: snd_pcm_uframes_t,
pub silence_size: snd_pcm_uframes_t,
pub boundary: snd_pcm_uframes_t,
pub proto: ::std::os::raw::c_uint,
pub tstamp_type: ::std::os::raw::c_uint,
pub reserved: [::std::os::raw::c_uchar; 56usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_pcm_channel_info {
pub channel: ::std::os::raw::c_uint,
pub offset: __kernel_off_t,
pub first: ::std::os::raw::c_uint,
pub step: ::std::os::raw::c_uint,
}
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: ::std::os::raw::c_uint = 1;
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: ::std::os::raw::c_uint = 2;
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: ::std::os::raw::c_uint = 3;
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: ::std::os::raw::c_uint = 4;
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: ::std::os::raw::c_uint = 5;
pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: ::std::os::raw::c_uint = 5;
pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_pcm_status {
pub state: snd_pcm_state_t,
pub trigger_tstamp: timespec,
pub tstamp: timespec,
pub appl_ptr: snd_pcm_uframes_t,
pub hw_ptr: snd_pcm_uframes_t,
pub delay: snd_pcm_sframes_t,
pub avail: snd_pcm_uframes_t,
pub avail_max: snd_pcm_uframes_t,
pub overrange: snd_pcm_uframes_t,
pub suspended_state: snd_pcm_state_t,
pub audio_tstamp_data: __u32,
pub audio_tstamp: timespec,
pub driver_tstamp: timespec,
pub audio_tstamp_accuracy: __u32,
pub reserved: [::std::os::raw::c_uchar; 36usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_pcm_mmap_status {
pub state: snd_pcm_state_t,
pub pad1: ::std::os::raw::c_int,
pub hw_ptr: snd_pcm_uframes_t,
pub tstamp: timespec,
pub suspended_state: snd_pcm_state_t,
pub audio_tstamp: timespec,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_pcm_mmap_control {
pub appl_ptr: snd_pcm_uframes_t,
pub avail_min: snd_pcm_uframes_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_pcm_sync_ptr {
pub flags: ::std::os::raw::c_uint,
pub s: snd_pcm_sync_ptr__bindgen_ty_1,
pub c: snd_pcm_sync_ptr__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_pcm_sync_ptr__bindgen_ty_1 {
pub status: snd_pcm_mmap_status,
pub reserved: [::std::os::raw::c_uchar; 64usize],
_bindgen_union_align: [u32; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_pcm_sync_ptr__bindgen_ty_2 {
pub control: snd_pcm_mmap_control,
pub reserved: [::std::os::raw::c_uchar; 64usize],
_bindgen_union_align: [u32; 16usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_xferi {
pub result: snd_pcm_sframes_t,
pub buf: *mut ::std::os::raw::c_void,
pub frames: snd_pcm_uframes_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_xfern {
pub result: snd_pcm_sframes_t,
pub bufs: *mut *mut ::std::os::raw::c_void,
pub frames: snd_pcm_uframes_t,
}
pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: ::std::os::raw::c_uint = 0;
pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: ::std::os::raw::c_uint = 1;
pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: ::std::os::raw::c_uint = 2;
pub const SNDRV_PCM_TSTAMP_TYPE_LAST: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
pub const SNDRV_CHMAP_UNKNOWN: ::std::os::raw::c_uint = 0;
pub const SNDRV_CHMAP_NA: ::std::os::raw::c_uint = 1;
pub const SNDRV_CHMAP_MONO: ::std::os::raw::c_uint = 2;
pub const SNDRV_CHMAP_FL: ::std::os::raw::c_uint = 3;
pub const SNDRV_CHMAP_FR: ::std::os::raw::c_uint = 4;
pub const SNDRV_CHMAP_RL: ::std::os::raw::c_uint = 5;
pub const SNDRV_CHMAP_RR: ::std::os::raw::c_uint = 6;
pub const SNDRV_CHMAP_FC: ::std::os::raw::c_uint = 7;
pub const SNDRV_CHMAP_LFE: ::std::os::raw::c_uint = 8;
pub const SNDRV_CHMAP_SL: ::std::os::raw::c_uint = 9;
pub const SNDRV_CHMAP_SR: ::std::os::raw::c_uint = 10;
pub const SNDRV_CHMAP_RC: ::std::os::raw::c_uint = 11;
pub const SNDRV_CHMAP_FLC: ::std::os::raw::c_uint = 12;
pub const SNDRV_CHMAP_FRC: ::std::os::raw::c_uint = 13;
pub const SNDRV_CHMAP_RLC: ::std::os::raw::c_uint = 14;
pub const SNDRV_CHMAP_RRC: ::std::os::raw::c_uint = 15;
pub const SNDRV_CHMAP_FLW: ::std::os::raw::c_uint = 16;
pub const SNDRV_CHMAP_FRW: ::std::os::raw::c_uint = 17;
pub const SNDRV_CHMAP_FLH: ::std::os::raw::c_uint = 18;
pub const SNDRV_CHMAP_FCH: ::std::os::raw::c_uint = 19;
pub const SNDRV_CHMAP_FRH: ::std::os::raw::c_uint = 20;
pub const SNDRV_CHMAP_TC: ::std::os::raw::c_uint = 21;
pub const SNDRV_CHMAP_TFL: ::std::os::raw::c_uint = 22;
pub const SNDRV_CHMAP_TFR: ::std::os::raw::c_uint = 23;
pub const SNDRV_CHMAP_TFC: ::std::os::raw::c_uint = 24;
pub const SNDRV_CHMAP_TRL: ::std::os::raw::c_uint = 25;
pub const SNDRV_CHMAP_TRR: ::std::os::raw::c_uint = 26;
pub const SNDRV_CHMAP_TRC: ::std::os::raw::c_uint = 27;
pub const SNDRV_CHMAP_TFLC: ::std::os::raw::c_uint = 28;
pub const SNDRV_CHMAP_TFRC: ::std::os::raw::c_uint = 29;
pub const SNDRV_CHMAP_TSL: ::std::os::raw::c_uint = 30;
pub const SNDRV_CHMAP_TSR: ::std::os::raw::c_uint = 31;
pub const SNDRV_CHMAP_LLFE: ::std::os::raw::c_uint = 32;
pub const SNDRV_CHMAP_RLFE: ::std::os::raw::c_uint = 33;
pub const SNDRV_CHMAP_BC: ::std::os::raw::c_uint = 34;
pub const SNDRV_CHMAP_BLC: ::std::os::raw::c_uint = 35;
pub const SNDRV_CHMAP_BRC: ::std::os::raw::c_uint = 36;
pub const SNDRV_CHMAP_LAST: ::std::os::raw::c_uint = 36;
pub type _bindgen_ty_9 = ::std::os::raw::c_uint;
pub const SNDRV_RAWMIDI_STREAM_OUTPUT: ::std::os::raw::c_uint = 0;
pub const SNDRV_RAWMIDI_STREAM_INPUT: ::std::os::raw::c_uint = 1;
pub const SNDRV_RAWMIDI_STREAM_LAST: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_rawmidi_info {
pub device: ::std::os::raw::c_uint,
pub subdevice: ::std::os::raw::c_uint,
pub stream: ::std::os::raw::c_int,
pub card: ::std::os::raw::c_int,
pub flags: ::std::os::raw::c_uint,
pub id: [::std::os::raw::c_uchar; 64usize],
pub name: [::std::os::raw::c_uchar; 80usize],
pub subname: [::std::os::raw::c_uchar; 32usize],
pub subdevices_count: ::std::os::raw::c_uint,
pub subdevices_avail: ::std::os::raw::c_uint,
pub reserved: [::std::os::raw::c_uchar; 64usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_rawmidi_params {
pub stream: ::std::os::raw::c_int,
pub buffer_size: usize,
pub avail_min: usize,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
pub reserved: [::std::os::raw::c_uchar; 16usize],
}
impl snd_rawmidi_params {
#[inline]
pub fn no_active_sensing(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_no_active_sensing(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
no_active_sensing: ::std::os::raw::c_uint,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let no_active_sensing: u32 = unsafe { ::std::mem::transmute(no_active_sensing) };
no_active_sensing as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_rawmidi_status {
pub stream: ::std::os::raw::c_int,
pub tstamp: timespec,
pub avail: usize,
pub xruns: usize,
pub reserved: [::std::os::raw::c_uchar; 16usize],
}
pub const SNDRV_TIMER_CLASS_NONE: ::std::os::raw::c_int = -1;
pub const SNDRV_TIMER_CLASS_SLAVE: ::std::os::raw::c_int = 0;
pub const SNDRV_TIMER_CLASS_GLOBAL: ::std::os::raw::c_int = 1;
pub const SNDRV_TIMER_CLASS_CARD: ::std::os::raw::c_int = 2;
pub const SNDRV_TIMER_CLASS_PCM: ::std::os::raw::c_int = 3;
pub const SNDRV_TIMER_CLASS_LAST: ::std::os::raw::c_int = 3;
pub type _bindgen_ty_11 = ::std::os::raw::c_int;
pub const SNDRV_TIMER_SCLASS_NONE: ::std::os::raw::c_uint = 0;
pub const SNDRV_TIMER_SCLASS_APPLICATION: ::std::os::raw::c_uint = 1;
pub const SNDRV_TIMER_SCLASS_SEQUENCER: ::std::os::raw::c_uint = 2;
pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: ::std::os::raw::c_uint = 3;
pub const SNDRV_TIMER_SCLASS_LAST: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_timer_id {
pub dev_class: ::std::os::raw::c_int,
pub dev_sclass: ::std::os::raw::c_int,
pub card: ::std::os::raw::c_int,
pub device: ::std::os::raw::c_int,
pub subdevice: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_timer_ginfo {
pub tid: snd_timer_id,
pub flags: ::std::os::raw::c_uint,
pub card: ::std::os::raw::c_int,
pub id: [::std::os::raw::c_uchar; 64usize],
pub name: [::std::os::raw::c_uchar; 80usize],
pub reserved0: ::std::os::raw::c_ulong,
pub resolution: ::std::os::raw::c_ulong,
pub resolution_min: ::std::os::raw::c_ulong,
pub resolution_max: ::std::os::raw::c_ulong,
pub clients: ::std::os::raw::c_uint,
pub reserved: [::std::os::raw::c_uchar; 32usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_timer_gparams {
pub tid: snd_timer_id,
pub period_num: ::std::os::raw::c_ulong,
pub period_den: ::std::os::raw::c_ulong,
pub reserved: [::std::os::raw::c_uchar; 32usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_timer_gstatus {
pub tid: snd_timer_id,
pub resolution: ::std::os::raw::c_ulong,
pub resolution_num: ::std::os::raw::c_ulong,
pub resolution_den: ::std::os::raw::c_ulong,
pub reserved: [::std::os::raw::c_uchar; 32usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_timer_select {
pub id: snd_timer_id,
pub reserved: [::std::os::raw::c_uchar; 32usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_timer_info {
pub flags: ::std::os::raw::c_uint,
pub card: ::std::os::raw::c_int,
pub id: [::std::os::raw::c_uchar; 64usize],
pub name: [::std::os::raw::c_uchar; 80usize],
pub reserved0: ::std::os::raw::c_ulong,
pub resolution: ::std::os::raw::c_ulong,
pub reserved: [::std::os::raw::c_uchar; 64usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_timer_params {
pub flags: ::std::os::raw::c_uint,
pub ticks: ::std::os::raw::c_uint,
pub queue_size: ::std::os::raw::c_uint,
pub reserved0: ::std::os::raw::c_uint,
pub filter: ::std::os::raw::c_uint,
pub reserved: [::std::os::raw::c_uchar; 60usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_timer_status {
pub tstamp: timespec,
pub resolution: ::std::os::raw::c_uint,
pub lost: ::std::os::raw::c_uint,
pub overrun: ::std::os::raw::c_uint,
pub queue: ::std::os::raw::c_uint,
pub reserved: [::std::os::raw::c_uchar; 64usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_timer_read {
pub resolution: ::std::os::raw::c_uint,
pub ticks: ::std::os::raw::c_uint,
}
pub const SNDRV_TIMER_EVENT_RESOLUTION: ::std::os::raw::c_uint = 0;
pub const SNDRV_TIMER_EVENT_TICK: ::std::os::raw::c_uint = 1;
pub const SNDRV_TIMER_EVENT_START: ::std::os::raw::c_uint = 2;
pub const SNDRV_TIMER_EVENT_STOP: ::std::os::raw::c_uint = 3;
pub const SNDRV_TIMER_EVENT_CONTINUE: ::std::os::raw::c_uint = 4;
pub const SNDRV_TIMER_EVENT_PAUSE: ::std::os::raw::c_uint = 5;
pub const SNDRV_TIMER_EVENT_EARLY: ::std::os::raw::c_uint = 6;
pub const SNDRV_TIMER_EVENT_SUSPEND: ::std::os::raw::c_uint = 7;
pub const SNDRV_TIMER_EVENT_RESUME: ::std::os::raw::c_uint = 8;
pub const SNDRV_TIMER_EVENT_MSTART: ::std::os::raw::c_uint = 12;
pub const SNDRV_TIMER_EVENT_MSTOP: ::std::os::raw::c_uint = 13;
pub const SNDRV_TIMER_EVENT_MCONTINUE: ::std::os::raw::c_uint = 14;
pub const SNDRV_TIMER_EVENT_MPAUSE: ::std::os::raw::c_uint = 15;
pub const SNDRV_TIMER_EVENT_MSUSPEND: ::std::os::raw::c_uint = 17;
pub const SNDRV_TIMER_EVENT_MRESUME: ::std::os::raw::c_uint = 18;
pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_timer_tread {
pub event: ::std::os::raw::c_int,
pub tstamp: timespec,
pub val: ::std::os::raw::c_uint,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_card_info {
pub card: ::std::os::raw::c_int,
pub pad: ::std::os::raw::c_int,
pub id: [::std::os::raw::c_uchar; 16usize],
pub driver: [::std::os::raw::c_uchar; 16usize],
pub name: [::std::os::raw::c_uchar; 32usize],
pub longname: [::std::os::raw::c_uchar; 80usize],
pub reserved_: [::std::os::raw::c_uchar; 16usize],
pub mixername: [::std::os::raw::c_uchar; 80usize],
pub components: [::std::os::raw::c_uchar; 128usize],
}
pub type snd_ctl_elem_type_t = ::std::os::raw::c_int;
pub type snd_ctl_elem_iface_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_elem_id {
pub numid: ::std::os::raw::c_uint,
pub iface: snd_ctl_elem_iface_t,
pub device: ::std::os::raw::c_uint,
pub subdevice: ::std::os::raw::c_uint,
pub name: [::std::os::raw::c_uchar; 44usize],
pub index: ::std::os::raw::c_uint,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_elem_list {
pub offset: ::std::os::raw::c_uint,
pub space: ::std::os::raw::c_uint,
pub used: ::std::os::raw::c_uint,
pub count: ::std::os::raw::c_uint,
pub pids: *mut snd_ctl_elem_id,
pub reserved: [::std::os::raw::c_uchar; 50usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_elem_info {
pub id: snd_ctl_elem_id,
pub type_: snd_ctl_elem_type_t,
pub access: ::std::os::raw::c_uint,
pub count: ::std::os::raw::c_uint,
pub owner: __kernel_pid_t,
pub value: snd_ctl_elem_info__bindgen_ty_1,
pub dimen: snd_ctl_elem_info__bindgen_ty_2,
pub reserved: [::std::os::raw::c_uchar; 56usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_info__bindgen_ty_1 {
pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1,
pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2,
pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3,
pub reserved: [::std::os::raw::c_uchar; 128usize],
_bindgen_union_align: [u32; 32usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 {
pub min: ::std::os::raw::c_long,
pub max: ::std::os::raw::c_long,
pub step: ::std::os::raw::c_long,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 {
pub min: ::std::os::raw::c_longlong,
pub max: ::std::os::raw::c_longlong,
pub step: ::std::os::raw::c_longlong,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 {
pub items: ::std::os::raw::c_uint,
pub item: ::std::os::raw::c_uint,
pub name: [::std::os::raw::c_char; 64usize],
pub names_ptr: __u64,
pub names_length: ::std::os::raw::c_uint,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_info__bindgen_ty_2 {
pub d: [::std::os::raw::c_ushort; 4usize],
pub d_ptr: *mut ::std::os::raw::c_ushort,
_bindgen_union_align: [u32; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_elem_value {
pub id: snd_ctl_elem_id,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
pub value: snd_ctl_elem_value__bindgen_ty_1,
pub tstamp: timespec,
pub reserved: [::std::os::raw::c_uchar; 120usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_value__bindgen_ty_1 {
pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1,
pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2,
pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3,
pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4,
pub iec958: snd_aes_iec958,
_bindgen_union_align: [u32; 128usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 {
pub value: [::std::os::raw::c_long; 128usize],
pub value_ptr: *mut ::std::os::raw::c_long,
_bindgen_union_align: [u32; 128usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 {
pub value: [::std::os::raw::c_longlong; 64usize],
pub value_ptr: *mut ::std::os::raw::c_longlong,
_bindgen_union_align: [u32; 128usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 {
pub item: [::std::os::raw::c_uint; 128usize],
pub item_ptr: *mut ::std::os::raw::c_uint,
_bindgen_union_align: [u32; 128usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 {
pub data: [::std::os::raw::c_uchar; 512usize],
pub data_ptr: *mut ::std::os::raw::c_uchar,
_bindgen_union_align: [u32; 128usize],
}
impl snd_ctl_elem_value {
#[inline]
pub fn indirect(&self) -> ::std::os::raw::c_uint {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_indirect(&mut self, val: ::std::os::raw::c_uint) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(indirect: ::std::os::raw::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let indirect: u32 = unsafe { ::std::mem::transmute(indirect) };
indirect as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug)]
pub struct snd_ctl_tlv {
pub numid: ::std::os::raw::c_uint,
pub length: ::std::os::raw::c_uint,
pub tlv: __IncompleteArrayField<::std::os::raw::c_uint>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_event {
pub type_: ::std::os::raw::c_int,
pub data: snd_ctl_event__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union snd_ctl_event__bindgen_ty_1 {
pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1,
pub data8: [::std::os::raw::c_uchar; 60usize],
_bindgen_union_align: [u32; 17usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 {
pub mask: ::std::os::raw::c_uint,
pub id: snd_ctl_elem_id,
}