1
2
3
/* automatically generated by rust-bindgen 0.54.1 */

# [ repr ( C ) ] # [ derive ( Copy , Clone , Debug , Default , Eq , Hash , Ord , PartialEq , PartialOrd ) ] pub struct __BindgenBitfieldUnit < Storage , Align > { storage : Storage , align : [ Align ; 0 ] , } impl < Storage , Align > __BindgenBitfieldUnit < Storage , Align > { # [ inline ] pub const fn new ( storage : Storage ) -> Self { Self { storage , align : [ ] } } } impl < Storage , Align > __BindgenBitfieldUnit < Storage , Align > 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 ) ; } } } pub const MA_VERSION_MAJOR : u32 = 0 ; pub const MA_VERSION_MINOR : u32 = 10 ; pub const MA_VERSION_REVISION : u32 = 15 ; pub const MA_TRUE : u32 = 1 ; pub const MA_FALSE : u32 = 0 ; pub const MA_SIZE_MAX : i32 = - 1 ; pub const MA_SIMD_ALIGNMENT : u32 = 64 ; pub const MA_LOG_LEVEL_VERBOSE : u32 = 4 ; pub const MA_LOG_LEVEL_INFO : u32 = 3 ; pub const MA_LOG_LEVEL_WARNING : u32 = 2 ; pub const MA_LOG_LEVEL_ERROR : u32 = 1 ; pub const MA_LOG_LEVEL : u32 = 1 ; pub const MA_CHANNEL_NONE : u32 = 0 ; pub const MA_CHANNEL_MONO : u32 = 1 ; pub const MA_CHANNEL_FRONT_LEFT : u32 = 2 ; pub const MA_CHANNEL_FRONT_RIGHT : u32 = 3 ; pub const MA_CHANNEL_FRONT_CENTER : u32 = 4 ; pub const MA_CHANNEL_LFE : u32 = 5 ; pub const MA_CHANNEL_BACK_LEFT : u32 = 6 ; pub const MA_CHANNEL_BACK_RIGHT : u32 = 7 ; pub const MA_CHANNEL_FRONT_LEFT_CENTER : u32 = 8 ; pub const MA_CHANNEL_FRONT_RIGHT_CENTER : u32 = 9 ; pub const MA_CHANNEL_BACK_CENTER : u32 = 10 ; pub const MA_CHANNEL_SIDE_LEFT : u32 = 11 ; pub const MA_CHANNEL_SIDE_RIGHT : u32 = 12 ; pub const MA_CHANNEL_TOP_CENTER : u32 = 13 ; pub const MA_CHANNEL_TOP_FRONT_LEFT : u32 = 14 ; pub const MA_CHANNEL_TOP_FRONT_CENTER : u32 = 15 ; pub const MA_CHANNEL_TOP_FRONT_RIGHT : u32 = 16 ; pub const MA_CHANNEL_TOP_BACK_LEFT : u32 = 17 ; pub const MA_CHANNEL_TOP_BACK_CENTER : u32 = 18 ; pub const MA_CHANNEL_TOP_BACK_RIGHT : u32 = 19 ; pub const MA_CHANNEL_AUX_0 : u32 = 20 ; pub const MA_CHANNEL_AUX_1 : u32 = 21 ; pub const MA_CHANNEL_AUX_2 : u32 = 22 ; pub const MA_CHANNEL_AUX_3 : u32 = 23 ; pub const MA_CHANNEL_AUX_4 : u32 = 24 ; pub const MA_CHANNEL_AUX_5 : u32 = 25 ; pub const MA_CHANNEL_AUX_6 : u32 = 26 ; pub const MA_CHANNEL_AUX_7 : u32 = 27 ; pub const MA_CHANNEL_AUX_8 : u32 = 28 ; pub const MA_CHANNEL_AUX_9 : u32 = 29 ; pub const MA_CHANNEL_AUX_10 : u32 = 30 ; pub const MA_CHANNEL_AUX_11 : u32 = 31 ; pub const MA_CHANNEL_AUX_12 : u32 = 32 ; pub const MA_CHANNEL_AUX_13 : u32 = 33 ; pub const MA_CHANNEL_AUX_14 : u32 = 34 ; pub const MA_CHANNEL_AUX_15 : u32 = 35 ; pub const MA_CHANNEL_AUX_16 : u32 = 36 ; pub const MA_CHANNEL_AUX_17 : u32 = 37 ; pub const MA_CHANNEL_AUX_18 : u32 = 38 ; pub const MA_CHANNEL_AUX_19 : u32 = 39 ; pub const MA_CHANNEL_AUX_20 : u32 = 40 ; pub const MA_CHANNEL_AUX_21 : u32 = 41 ; pub const MA_CHANNEL_AUX_22 : u32 = 42 ; pub const MA_CHANNEL_AUX_23 : u32 = 43 ; pub const MA_CHANNEL_AUX_24 : u32 = 44 ; pub const MA_CHANNEL_AUX_25 : u32 = 45 ; pub const MA_CHANNEL_AUX_26 : u32 = 46 ; pub const MA_CHANNEL_AUX_27 : u32 = 47 ; pub const MA_CHANNEL_AUX_28 : u32 = 48 ; pub const MA_CHANNEL_AUX_29 : u32 = 49 ; pub const MA_CHANNEL_AUX_30 : u32 = 50 ; pub const MA_CHANNEL_AUX_31 : u32 = 51 ; pub const MA_CHANNEL_LEFT : u32 = 2 ; pub const MA_CHANNEL_RIGHT : u32 = 3 ; pub const MA_CHANNEL_POSITION_COUNT : u32 = 52 ; pub const MA_SUCCESS : u32 = 0 ; pub const MA_ERROR : i32 = - 1 ; pub const MA_INVALID_ARGS : i32 = - 2 ; pub const MA_INVALID_OPERATION : i32 = - 3 ; pub const MA_OUT_OF_MEMORY : i32 = - 4 ; pub const MA_OUT_OF_RANGE : i32 = - 5 ; pub const MA_ACCESS_DENIED : i32 = - 6 ; pub const MA_DOES_NOT_EXIST : i32 = - 7 ; pub const MA_ALREADY_EXISTS : i32 = - 8 ; pub const MA_TOO_MANY_OPEN_FILES : i32 = - 9 ; pub const MA_INVALID_FILE : i32 = - 10 ; pub const MA_TOO_BIG : i32 = - 11 ; pub const MA_PATH_TOO_LONG : i32 = - 12 ; pub const MA_NAME_TOO_LONG : i32 = - 13 ; pub const MA_NOT_DIRECTORY : i32 = - 14 ; pub const MA_IS_DIRECTORY : i32 = - 15 ; pub const MA_DIRECTORY_NOT_EMPTY : i32 = - 16 ; pub const MA_END_OF_FILE : i32 = - 17 ; pub const MA_NO_SPACE : i32 = - 18 ; pub const MA_BUSY : i32 = - 19 ; pub const MA_IO_ERROR : i32 = - 20 ; pub const MA_INTERRUPT : i32 = - 21 ; pub const MA_UNAVAILABLE : i32 = - 22 ; pub const MA_ALREADY_IN_USE : i32 = - 23 ; pub const MA_BAD_ADDRESS : i32 = - 24 ; pub const MA_BAD_SEEK : i32 = - 25 ; pub const MA_BAD_PIPE : i32 = - 26 ; pub const MA_DEADLOCK : i32 = - 27 ; pub const MA_TOO_MANY_LINKS : i32 = - 28 ; pub const MA_NOT_IMPLEMENTED : i32 = - 29 ; pub const MA_NO_MESSAGE : i32 = - 30 ; pub const MA_BAD_MESSAGE : i32 = - 31 ; pub const MA_NO_DATA_AVAILABLE : i32 = - 32 ; pub const MA_INVALID_DATA : i32 = - 33 ; pub const MA_TIMEOUT : i32 = - 34 ; pub const MA_NO_NETWORK : i32 = - 35 ; pub const MA_NOT_UNIQUE : i32 = - 36 ; pub const MA_NOT_SOCKET : i32 = - 37 ; pub const MA_NO_ADDRESS : i32 = - 38 ; pub const MA_BAD_PROTOCOL : i32 = - 39 ; pub const MA_PROTOCOL_UNAVAILABLE : i32 = - 40 ; pub const MA_PROTOCOL_NOT_SUPPORTED : i32 = - 41 ; pub const MA_PROTOCOL_FAMILY_NOT_SUPPORTED : i32 = - 42 ; pub const MA_ADDRESS_FAMILY_NOT_SUPPORTED : i32 = - 43 ; pub const MA_SOCKET_NOT_SUPPORTED : i32 = - 44 ; pub const MA_CONNECTION_RESET : i32 = - 45 ; pub const MA_ALREADY_CONNECTED : i32 = - 46 ; pub const MA_NOT_CONNECTED : i32 = - 47 ; pub const MA_CONNECTION_REFUSED : i32 = - 48 ; pub const MA_NO_HOST : i32 = - 49 ; pub const MA_IN_PROGRESS : i32 = - 50 ; pub const MA_CANCELLED : i32 = - 51 ; pub const MA_MEMORY_ALREADY_MAPPED : i32 = - 52 ; pub const MA_AT_END : i32 = - 53 ; pub const MA_FORMAT_NOT_SUPPORTED : i32 = - 100 ; pub const MA_DEVICE_TYPE_NOT_SUPPORTED : i32 = - 101 ; pub const MA_SHARE_MODE_NOT_SUPPORTED : i32 = - 102 ; pub const MA_NO_BACKEND : i32 = - 103 ; pub const MA_NO_DEVICE : i32 = - 104 ; pub const MA_API_NOT_FOUND : i32 = - 105 ; pub const MA_INVALID_DEVICE_CONFIG : i32 = - 106 ; pub const MA_DEVICE_NOT_INITIALIZED : i32 = - 200 ; pub const MA_DEVICE_ALREADY_INITIALIZED : i32 = - 201 ; pub const MA_DEVICE_NOT_STARTED : i32 = - 202 ; pub const MA_DEVICE_NOT_STOPPED : i32 = - 203 ; pub const MA_FAILED_TO_INIT_BACKEND : i32 = - 300 ; pub const MA_FAILED_TO_OPEN_BACKEND_DEVICE : i32 = - 301 ; pub const MA_FAILED_TO_START_BACKEND_DEVICE : i32 = - 302 ; pub const MA_FAILED_TO_STOP_BACKEND_DEVICE : i32 = - 303 ; pub const MA_SAMPLE_RATE_8000 : u32 = 8000 ; pub const MA_SAMPLE_RATE_11025 : u32 = 11025 ; pub const MA_SAMPLE_RATE_16000 : u32 = 16000 ; pub const MA_SAMPLE_RATE_22050 : u32 = 22050 ; pub const MA_SAMPLE_RATE_24000 : u32 = 24000 ; pub const MA_SAMPLE_RATE_32000 : u32 = 32000 ; pub const MA_SAMPLE_RATE_44100 : u32 = 44100 ; pub const MA_SAMPLE_RATE_48000 : u32 = 48000 ; pub const MA_SAMPLE_RATE_88200 : u32 = 88200 ; pub const MA_SAMPLE_RATE_96000 : u32 = 96000 ; pub const MA_SAMPLE_RATE_176400 : u32 = 176400 ; pub const MA_SAMPLE_RATE_192000 : u32 = 192000 ; pub const MA_SAMPLE_RATE_352800 : u32 = 352800 ; pub const MA_SAMPLE_RATE_384000 : u32 = 384000 ; pub const MA_MIN_CHANNELS : u32 = 1 ; pub const MA_MAX_CHANNELS : u32 = 32 ; pub const MA_MIN_SAMPLE_RATE : u32 = 8000 ; pub const MA_MAX_SAMPLE_RATE : u32 = 384000 ; pub const MA_MAX_FILTER_ORDER : u32 = 8 ; pub const MA_OPEN_MODE_READ : u32 = 1 ; pub const MA_OPEN_MODE_WRITE : u32 = 2 ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_cond_s { pub __bindgen_anon_1 : __pthread_cond_s__bindgen_ty_1 , pub __bindgen_anon_2 : __pthread_cond_s__bindgen_ty_2 , pub __g_refs : [ :: std :: os :: raw :: c_uint ; 2usize ] , pub __g_size : [ :: std :: os :: raw :: c_uint ; 2usize ] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [ :: std :: os :: raw :: c_uint ; 2usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_1 { pub __wseq : :: std :: os :: raw :: c_ulonglong , pub __wseq32 : __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq32 ) ) ) ; } impl :: std :: fmt :: Debug for __pthread_cond_s__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "__pthread_cond_s__bindgen_ty_1 {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_2 { pub __g1_start : :: std :: os :: raw :: c_ulonglong , pub __g1_start32 : __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start32 ) ) ) ; } impl :: std :: fmt :: Debug for __pthread_cond_s__bindgen_ty_2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "__pthread_cond_s__bindgen_ty_2 {{ union }}" ) } } # [ test ] fn bindgen_test_layout___pthread_cond_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_refs as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_refs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g1_orig_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __wrefs as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __wrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_signals as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_signals ) ) ) ; } impl :: std :: fmt :: Debug for __pthread_cond_s { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "__pthread_cond_s {{ __bindgen_anon_1: {:?}, __bindgen_anon_2: {:?}, __g_refs: {:?}, __g_size: {:?}, __g1_orig_size: {:?}, __wrefs: {:?}, __g_signals: {:?} }}" , self . __bindgen_anon_1 , self . __bindgen_anon_2 , self . __g_refs , self . __g_size , self . __g1_orig_size , self . __wrefs , self . __g_signals ) } } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } impl :: std :: fmt :: Debug for pthread_mutex_t { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "pthread_mutex_t {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [ :: std :: os :: raw :: c_char ; 48usize ] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_pthread_cond_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_cond_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_cond_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __align ) ) ) ; } impl :: std :: fmt :: Debug for pthread_cond_t { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "pthread_cond_t {{ union }}" ) } } pub type wchar_t = :: std :: os :: raw :: c_int ; pub type ma_int8 = i8 ; pub type ma_uint8 = u8 ; pub type ma_int16 = i16 ; pub type ma_uint16 = u16 ; pub type ma_int32 = i32 ; pub type ma_uint32 = u32 ; pub type ma_int64 = i64 ; pub type ma_uint64 = u64 ; pub type ma_uintptr = usize ; pub type ma_bool8 = ma_uint8 ; pub type ma_bool32 = ma_uint32 ; pub type ma_handle = * mut :: std :: os :: raw :: c_void ; pub type ma_ptr = * mut :: std :: os :: raw :: c_void ; pub type ma_proc = :: std :: option :: Option < unsafe extern "C" fn ( ) > ; pub type ma_channel = ma_uint8 ; pub type ma_result = :: std :: os :: raw :: c_int ; pub const ma_stream_format_pcm : ma_stream_format = 0 ; pub type ma_stream_format = u32 ; pub const ma_stream_layout_interleaved : ma_stream_layout = 0 ; pub const ma_stream_layout_deinterleaved : ma_stream_layout = 1 ; pub type ma_stream_layout = u32 ; pub const ma_dither_mode_none : ma_dither_mode = 0 ; pub const ma_dither_mode_rectangle : ma_dither_mode = 1 ; pub const ma_dither_mode_triangle : ma_dither_mode = 2 ; pub type ma_dither_mode = u32 ; pub const ma_format_unknown : ma_format = 0 ; pub const ma_format_u8 : ma_format = 1 ; pub const ma_format_s16 : ma_format = 2 ; pub const ma_format_s24 : ma_format = 3 ; pub const ma_format_s32 : ma_format = 4 ; pub const ma_format_f32 : ma_format = 5 ; pub const ma_format_count : ma_format = 6 ; pub type ma_format = u32 ; pub const ma_channel_mix_mode_rectangular : ma_channel_mix_mode = 0 ; pub const ma_channel_mix_mode_simple : ma_channel_mix_mode = 1 ; pub const ma_channel_mix_mode_custom_weights : ma_channel_mix_mode = 2 ; pub const ma_channel_mix_mode_planar_blend : ma_channel_mix_mode = 0 ; pub const ma_channel_mix_mode_default : ma_channel_mix_mode = 0 ; pub type ma_channel_mix_mode = u32 ; pub const ma_standard_channel_map_microsoft : ma_standard_channel_map = 0 ; pub const ma_standard_channel_map_alsa : ma_standard_channel_map = 1 ; pub const ma_standard_channel_map_rfc3551 : ma_standard_channel_map = 2 ; pub const ma_standard_channel_map_flac : ma_standard_channel_map = 3 ; pub const ma_standard_channel_map_vorbis : ma_standard_channel_map = 4 ; pub const ma_standard_channel_map_sound4 : ma_standard_channel_map = 5 ; pub const ma_standard_channel_map_sndio : ma_standard_channel_map = 6 ; pub const ma_standard_channel_map_webaudio : ma_standard_channel_map = 3 ; pub const ma_standard_channel_map_default : ma_standard_channel_map = 0 ; pub type ma_standard_channel_map = u32 ; pub const ma_performance_profile_low_latency : ma_performance_profile = 0 ; pub const ma_performance_profile_conservative : ma_performance_profile = 1 ; pub type ma_performance_profile = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_allocation_callbacks { pub pUserData : * mut :: std :: os :: raw :: c_void , pub onMalloc : :: std :: option :: Option < unsafe extern "C" fn ( sz : usize , pUserData : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void > , pub onRealloc : :: std :: option :: Option < unsafe extern "C" fn ( p : * mut :: std :: os :: raw :: c_void , sz : usize , pUserData : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void > , pub onFree : :: std :: option :: Option < unsafe extern "C" fn ( p : * mut :: std :: os :: raw :: c_void , pUserData : * mut :: std :: os :: raw :: c_void ) > , } # [ test ] fn bindgen_test_layout_ma_allocation_callbacks ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_allocation_callbacks > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_allocation_callbacks ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_allocation_callbacks > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_allocation_callbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_allocation_callbacks > ( ) ) ) . pUserData as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_allocation_callbacks ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_allocation_callbacks > ( ) ) ) . onMalloc as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_allocation_callbacks ) , "::" , stringify ! ( onMalloc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_allocation_callbacks > ( ) ) ) . onRealloc as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_allocation_callbacks ) , "::" , stringify ! ( onRealloc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_allocation_callbacks > ( ) ) ) . onFree as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_allocation_callbacks ) , "::" , stringify ! ( onFree ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_lcg { pub state : ma_int32 , } # [ test ] fn bindgen_test_layout_ma_lcg ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_lcg > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_lcg ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_lcg > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_lcg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lcg > ( ) ) ) . state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_lcg ) , "::" , stringify ! ( state ) ) ) ; } pub const ma_thread_priority_idle : ma_thread_priority = - 5 ; pub const ma_thread_priority_lowest : ma_thread_priority = - 4 ; pub const ma_thread_priority_low : ma_thread_priority = - 3 ; pub const ma_thread_priority_normal : ma_thread_priority = - 2 ; pub const ma_thread_priority_high : ma_thread_priority = - 1 ; pub const ma_thread_priority_highest : ma_thread_priority = 0 ; pub const ma_thread_priority_realtime : ma_thread_priority = 1 ; pub const ma_thread_priority_default : ma_thread_priority = 0 ; pub type ma_thread_priority = i32 ; pub type ma_spinlock = :: std :: os :: raw :: c_uchar ; pub type ma_thread = pthread_t ; pub type ma_mutex = pthread_mutex_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_event { pub value : ma_uint32 , pub lock : pthread_mutex_t , pub cond : pthread_cond_t , } # [ test ] fn bindgen_test_layout_ma_event ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_event > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( ma_event ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_event > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_event > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_event ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_event > ( ) ) ) . lock as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_event ) , "::" , stringify ! ( lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_event > ( ) ) ) . cond as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_event ) , "::" , stringify ! ( cond ) ) ) ; } impl :: std :: fmt :: Debug for ma_event { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_event {{ value: {:?}, lock: {:?}, cond: {:?} }}" , self . value , self . lock , self . cond ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_semaphore { pub value : :: std :: os :: raw :: c_int , pub lock : pthread_mutex_t , pub cond : pthread_cond_t , } # [ test ] fn bindgen_test_layout_ma_semaphore ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_semaphore > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( ma_semaphore ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_semaphore > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_semaphore ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_semaphore > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_semaphore ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_semaphore > ( ) ) ) . lock as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_semaphore ) , "::" , stringify ! ( lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_semaphore > ( ) ) ) . cond as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_semaphore ) , "::" , stringify ! ( cond ) ) ) ; } impl :: std :: fmt :: Debug for ma_semaphore { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_semaphore {{ value: {:?}, lock: {:?}, cond: {:?} }}" , self . value , self . lock , self . cond ) } } extern "C" { pub fn ma_version ( pMajor : * mut ma_uint32 , pMinor : * mut ma_uint32 , pRevision : * mut ma_uint32 ) ; } extern "C" { pub fn ma_version_string ( ) -> * const :: std :: os :: raw :: c_char ; } # [ doc = "Biquad Filtering" ] # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_biquad_coefficient { pub f32_ : f32 , pub s32 : ma_int32 , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_ma_biquad_coefficient ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_biquad_coefficient > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_biquad_coefficient ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_biquad_coefficient > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_biquad_coefficient ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_coefficient > ( ) ) ) . f32_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_coefficient ) , "::" , stringify ! ( f32_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_coefficient > ( ) ) ) . s32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_coefficient ) , "::" , stringify ! ( s32 ) ) ) ; } impl :: std :: fmt :: Debug for ma_biquad_coefficient { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_biquad_coefficient {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_biquad_config { pub format : ma_format , pub channels : ma_uint32 , pub b0 : f64 , pub b1 : f64 , pub b2 : f64 , pub a0 : f64 , pub a1 : f64 , pub a2 : f64 , } # [ test ] fn bindgen_test_layout_ma_biquad_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_biquad_config > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ma_biquad_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_biquad_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_biquad_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . b0 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( b0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . b1 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( b1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . b2 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( b2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . a0 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( a0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . a1 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( a1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad_config > ( ) ) ) . a2 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad_config ) , "::" , stringify ! ( a2 ) ) ) ; } extern "C" { pub fn ma_biquad_config_init ( format : ma_format , channels : ma_uint32 , b0 : f64 , b1 : f64 , b2 : f64 , a0 : f64 , a1 : f64 , a2 : f64 ) -> ma_biquad_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_biquad { pub format : ma_format , pub channels : ma_uint32 , pub b0 : ma_biquad_coefficient , pub b1 : ma_biquad_coefficient , pub b2 : ma_biquad_coefficient , pub a1 : ma_biquad_coefficient , pub a2 : ma_biquad_coefficient , pub r1 : [ ma_biquad_coefficient ; 32usize ] , pub r2 : [ ma_biquad_coefficient ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_biquad ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_biquad > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_biquad ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_biquad > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_biquad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . b0 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( b0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . b1 as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( b1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . b2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( b2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . a1 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( a1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . a2 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( a2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . r1 as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( r1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_biquad > ( ) ) ) . r2 as * const _ as usize } , 156usize , concat ! ( "Offset of field: " , stringify ! ( ma_biquad ) , "::" , stringify ! ( r2 ) ) ) ; } impl :: std :: fmt :: Debug for ma_biquad { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_biquad {{ format: {:?}, channels: {:?}, b0: {:?}, b1: {:?}, b2: {:?}, a1: {:?}, a2: {:?}, r1: [{}], r2: [{}] }}" , self . format , self . channels , self . b0 , self . b1 , self . b2 , self . a1 , self . a2 , self . r1 . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . r2 . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) ) } } extern "C" { pub fn ma_biquad_init ( pConfig : * const ma_biquad_config , pBQ : * mut ma_biquad ) -> ma_result ; } extern "C" { pub fn ma_biquad_reinit ( pConfig : * const ma_biquad_config , pBQ : * mut ma_biquad ) -> ma_result ; } extern "C" { pub fn ma_biquad_process_pcm_frames ( pBQ : * mut ma_biquad , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_biquad_get_latency ( pBQ : * mut ma_biquad ) -> ma_uint32 ; } # [ doc = "Low-Pass Filtering" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_lpf1_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub cutoffFrequency : f64 , pub q : f64 , } # [ test ] fn bindgen_test_layout_ma_lpf1_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_lpf1_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_lpf1_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_lpf1_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_lpf1_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1_config > ( ) ) ) . cutoffFrequency as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1_config ) , "::" , stringify ! ( cutoffFrequency ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1_config > ( ) ) ) . q as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1_config ) , "::" , stringify ! ( q ) ) ) ; } # [ doc = "Low-Pass Filtering" ] pub type ma_lpf2_config = ma_lpf1_config ; extern "C" { pub fn ma_lpf1_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 ) -> ma_lpf1_config ; } extern "C" { pub fn ma_lpf2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 , q : f64 ) -> ma_lpf2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_lpf1 { pub format : ma_format , pub channels : ma_uint32 , pub a : ma_biquad_coefficient , pub r1 : [ ma_biquad_coefficient ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_lpf1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_lpf1 > ( ) , 140usize , concat ! ( "Size of: " , stringify ! ( ma_lpf1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_lpf1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_lpf1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1 > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1 ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1 > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1 ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1 > ( ) ) ) . a as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1 ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf1 > ( ) ) ) . r1 as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf1 ) , "::" , stringify ! ( r1 ) ) ) ; } impl :: std :: fmt :: Debug for ma_lpf1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_lpf1 {{ format: {:?}, channels: {:?}, a: {:?}, r1: [{}] }}" , self . format , self . channels , self . a , self . r1 . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) ) } } extern "C" { pub fn ma_lpf1_init ( pConfig : * const ma_lpf1_config , pLPF : * mut ma_lpf1 ) -> ma_result ; } extern "C" { pub fn ma_lpf1_reinit ( pConfig : * const ma_lpf1_config , pLPF : * mut ma_lpf1 ) -> ma_result ; } extern "C" { pub fn ma_lpf1_process_pcm_frames ( pLPF : * mut ma_lpf1 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_lpf1_get_latency ( pLPF : * mut ma_lpf1 ) -> ma_uint32 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_lpf2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_lpf2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_lpf2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_lpf2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_lpf2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_lpf2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_lpf2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_lpf2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_lpf2_init ( pConfig : * const ma_lpf2_config , pLPF : * mut ma_lpf2 ) -> ma_result ; } extern "C" { pub fn ma_lpf2_reinit ( pConfig : * const ma_lpf2_config , pLPF : * mut ma_lpf2 ) -> ma_result ; } extern "C" { pub fn ma_lpf2_process_pcm_frames ( pLPF : * mut ma_lpf2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_lpf2_get_latency ( pLPF : * mut ma_lpf2 ) -> ma_uint32 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_lpf_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub cutoffFrequency : f64 , pub order : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_lpf_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_lpf_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_lpf_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_lpf_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_lpf_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf_config > ( ) ) ) . cutoffFrequency as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf_config ) , "::" , stringify ! ( cutoffFrequency ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf_config > ( ) ) ) . order as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf_config ) , "::" , stringify ! ( order ) ) ) ; } extern "C" { pub fn ma_lpf_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 , order : ma_uint32 ) -> ma_lpf_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_lpf { pub format : ma_format , pub channels : ma_uint32 , pub lpf1Count : ma_uint32 , pub lpf2Count : ma_uint32 , pub lpf1 : [ ma_lpf1 ; 1usize ] , pub lpf2 : [ ma_lpf2 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ma_lpf ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_lpf > ( ) , 1292usize , concat ! ( "Size of: " , stringify ! ( ma_lpf ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_lpf > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_lpf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf > ( ) ) ) . lpf1Count as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf ) , "::" , stringify ! ( lpf1Count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf > ( ) ) ) . lpf2Count as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf ) , "::" , stringify ! ( lpf2Count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf > ( ) ) ) . lpf1 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf ) , "::" , stringify ! ( lpf1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_lpf > ( ) ) ) . lpf2 as * const _ as usize } , 156usize , concat ! ( "Offset of field: " , stringify ! ( ma_lpf ) , "::" , stringify ! ( lpf2 ) ) ) ; } impl :: std :: fmt :: Debug for ma_lpf { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_lpf {{ format: {:?}, channels: {:?}, lpf1Count: {:?}, lpf2Count: {:?}, lpf1: {:?}, lpf2: {:?} }}" , self . format , self . channels , self . lpf1Count , self . lpf2Count , self . lpf1 , self . lpf2 ) } } extern "C" { pub fn ma_lpf_init ( pConfig : * const ma_lpf_config , pLPF : * mut ma_lpf ) -> ma_result ; } extern "C" { pub fn ma_lpf_reinit ( pConfig : * const ma_lpf_config , pLPF : * mut ma_lpf ) -> ma_result ; } extern "C" { pub fn ma_lpf_process_pcm_frames ( pLPF : * mut ma_lpf , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_lpf_get_latency ( pLPF : * mut ma_lpf ) -> ma_uint32 ; } # [ doc = "High-Pass Filtering" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_hpf1_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub cutoffFrequency : f64 , pub q : f64 , } # [ test ] fn bindgen_test_layout_ma_hpf1_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hpf1_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_hpf1_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hpf1_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_hpf1_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1_config > ( ) ) ) . cutoffFrequency as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1_config ) , "::" , stringify ! ( cutoffFrequency ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1_config > ( ) ) ) . q as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1_config ) , "::" , stringify ! ( q ) ) ) ; } # [ doc = "High-Pass Filtering" ] pub type ma_hpf2_config = ma_hpf1_config ; extern "C" { pub fn ma_hpf1_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 ) -> ma_hpf1_config ; } extern "C" { pub fn ma_hpf2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 , q : f64 ) -> ma_hpf2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_hpf1 { pub format : ma_format , pub channels : ma_uint32 , pub a : ma_biquad_coefficient , pub r1 : [ ma_biquad_coefficient ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_hpf1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hpf1 > ( ) , 140usize , concat ! ( "Size of: " , stringify ! ( ma_hpf1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hpf1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_hpf1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1 > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1 ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1 > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1 ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1 > ( ) ) ) . a as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1 ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf1 > ( ) ) ) . r1 as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf1 ) , "::" , stringify ! ( r1 ) ) ) ; } impl :: std :: fmt :: Debug for ma_hpf1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_hpf1 {{ format: {:?}, channels: {:?}, a: {:?}, r1: [{}] }}" , self . format , self . channels , self . a , self . r1 . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) ) } } extern "C" { pub fn ma_hpf1_init ( pConfig : * const ma_hpf1_config , pHPF : * mut ma_hpf1 ) -> ma_result ; } extern "C" { pub fn ma_hpf1_reinit ( pConfig : * const ma_hpf1_config , pHPF : * mut ma_hpf1 ) -> ma_result ; } extern "C" { pub fn ma_hpf1_process_pcm_frames ( pHPF : * mut ma_hpf1 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_hpf1_get_latency ( pHPF : * mut ma_hpf1 ) -> ma_uint32 ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_hpf2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_hpf2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hpf2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_hpf2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hpf2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_hpf2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_hpf2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_hpf2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_hpf2_init ( pConfig : * const ma_hpf2_config , pHPF : * mut ma_hpf2 ) -> ma_result ; } extern "C" { pub fn ma_hpf2_reinit ( pConfig : * const ma_hpf2_config , pHPF : * mut ma_hpf2 ) -> ma_result ; } extern "C" { pub fn ma_hpf2_process_pcm_frames ( pHPF : * mut ma_hpf2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_hpf2_get_latency ( pHPF : * mut ma_hpf2 ) -> ma_uint32 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_hpf_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub cutoffFrequency : f64 , pub order : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_hpf_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hpf_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_hpf_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hpf_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_hpf_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf_config > ( ) ) ) . cutoffFrequency as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf_config ) , "::" , stringify ! ( cutoffFrequency ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf_config > ( ) ) ) . order as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf_config ) , "::" , stringify ! ( order ) ) ) ; } extern "C" { pub fn ma_hpf_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 , order : ma_uint32 ) -> ma_hpf_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_hpf { pub format : ma_format , pub channels : ma_uint32 , pub hpf1Count : ma_uint32 , pub hpf2Count : ma_uint32 , pub hpf1 : [ ma_hpf1 ; 1usize ] , pub hpf2 : [ ma_hpf2 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ma_hpf ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hpf > ( ) , 1292usize , concat ! ( "Size of: " , stringify ! ( ma_hpf ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hpf > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_hpf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf > ( ) ) ) . hpf1Count as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf ) , "::" , stringify ! ( hpf1Count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf > ( ) ) ) . hpf2Count as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf ) , "::" , stringify ! ( hpf2Count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf > ( ) ) ) . hpf1 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf ) , "::" , stringify ! ( hpf1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hpf > ( ) ) ) . hpf2 as * const _ as usize } , 156usize , concat ! ( "Offset of field: " , stringify ! ( ma_hpf ) , "::" , stringify ! ( hpf2 ) ) ) ; } impl :: std :: fmt :: Debug for ma_hpf { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_hpf {{ format: {:?}, channels: {:?}, hpf1Count: {:?}, hpf2Count: {:?}, hpf1: {:?}, hpf2: {:?} }}" , self . format , self . channels , self . hpf1Count , self . hpf2Count , self . hpf1 , self . hpf2 ) } } extern "C" { pub fn ma_hpf_init ( pConfig : * const ma_hpf_config , pHPF : * mut ma_hpf ) -> ma_result ; } extern "C" { pub fn ma_hpf_reinit ( pConfig : * const ma_hpf_config , pHPF : * mut ma_hpf ) -> ma_result ; } extern "C" { pub fn ma_hpf_process_pcm_frames ( pHPF : * mut ma_hpf , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_hpf_get_latency ( pHPF : * mut ma_hpf ) -> ma_uint32 ; } # [ doc = "Band-Pass Filtering" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_bpf2_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub cutoffFrequency : f64 , pub q : f64 , } # [ test ] fn bindgen_test_layout_ma_bpf2_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_bpf2_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_bpf2_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_bpf2_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_bpf2_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf2_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf2_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf2_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf2_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf2_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf2_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf2_config > ( ) ) ) . cutoffFrequency as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf2_config ) , "::" , stringify ! ( cutoffFrequency ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf2_config > ( ) ) ) . q as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf2_config ) , "::" , stringify ! ( q ) ) ) ; } extern "C" { pub fn ma_bpf2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 , q : f64 ) -> ma_bpf2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_bpf2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_bpf2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_bpf2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_bpf2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_bpf2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_bpf2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_bpf2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_bpf2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_bpf2_init ( pConfig : * const ma_bpf2_config , pBPF : * mut ma_bpf2 ) -> ma_result ; } extern "C" { pub fn ma_bpf2_reinit ( pConfig : * const ma_bpf2_config , pBPF : * mut ma_bpf2 ) -> ma_result ; } extern "C" { pub fn ma_bpf2_process_pcm_frames ( pBPF : * mut ma_bpf2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_bpf2_get_latency ( pBPF : * mut ma_bpf2 ) -> ma_uint32 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_bpf_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub cutoffFrequency : f64 , pub order : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_bpf_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_bpf_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_bpf_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_bpf_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_bpf_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf_config > ( ) ) ) . cutoffFrequency as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf_config ) , "::" , stringify ! ( cutoffFrequency ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf_config > ( ) ) ) . order as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf_config ) , "::" , stringify ! ( order ) ) ) ; } extern "C" { pub fn ma_bpf_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , cutoffFrequency : f64 , order : ma_uint32 ) -> ma_bpf_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_bpf { pub format : ma_format , pub channels : ma_uint32 , pub bpf2Count : ma_uint32 , pub bpf2 : [ ma_bpf2 ; 4usize ] , } # [ test ] fn bindgen_test_layout_ma_bpf ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_bpf > ( ) , 1148usize , concat ! ( "Size of: " , stringify ! ( ma_bpf ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_bpf > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_bpf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf > ( ) ) ) . bpf2Count as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf ) , "::" , stringify ! ( bpf2Count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_bpf > ( ) ) ) . bpf2 as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_bpf ) , "::" , stringify ! ( bpf2 ) ) ) ; } impl :: std :: fmt :: Debug for ma_bpf { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_bpf {{ format: {:?}, channels: {:?}, bpf2Count: {:?}, bpf2: {:?} }}" , self . format , self . channels , self . bpf2Count , self . bpf2 ) } } extern "C" { pub fn ma_bpf_init ( pConfig : * const ma_bpf_config , pBPF : * mut ma_bpf ) -> ma_result ; } extern "C" { pub fn ma_bpf_reinit ( pConfig : * const ma_bpf_config , pBPF : * mut ma_bpf ) -> ma_result ; } extern "C" { pub fn ma_bpf_process_pcm_frames ( pBPF : * mut ma_bpf , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_bpf_get_latency ( pBPF : * mut ma_bpf ) -> ma_uint32 ; } # [ doc = "Notching Filter" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_notch2_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub q : f64 , pub frequency : f64 , } # [ test ] fn bindgen_test_layout_ma_notch2_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_notch2_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_notch2_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_notch2_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_notch2_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_notch2_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_notch2_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_notch2_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_notch2_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_notch2_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_notch2_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_notch2_config > ( ) ) ) . q as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_notch2_config ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_notch2_config > ( ) ) ) . frequency as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_notch2_config ) , "::" , stringify ! ( frequency ) ) ) ; } extern "C" { pub fn ma_notch2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , q : f64 , frequency : f64 ) -> ma_notch2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_notch2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_notch2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_notch2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_notch2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_notch2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_notch2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_notch2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_notch2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_notch2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_notch2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_notch2_init ( pConfig : * const ma_notch2_config , pFilter : * mut ma_notch2 ) -> ma_result ; } extern "C" { pub fn ma_notch2_reinit ( pConfig : * const ma_notch2_config , pFilter : * mut ma_notch2 ) -> ma_result ; } extern "C" { pub fn ma_notch2_process_pcm_frames ( pFilter : * mut ma_notch2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_notch2_get_latency ( pFilter : * mut ma_notch2 ) -> ma_uint32 ; } # [ doc = "Peaking EQ Filter" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_peak2_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub gainDB : f64 , pub q : f64 , pub frequency : f64 , } # [ test ] fn bindgen_test_layout_ma_peak2_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_peak2_config > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ma_peak2_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_peak2_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_peak2_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2_config > ( ) ) ) . gainDB as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2_config ) , "::" , stringify ! ( gainDB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2_config > ( ) ) ) . q as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2_config ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2_config > ( ) ) ) . frequency as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2_config ) , "::" , stringify ! ( frequency ) ) ) ; } extern "C" { pub fn ma_peak2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , gainDB : f64 , q : f64 , frequency : f64 ) -> ma_peak2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_peak2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_peak2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_peak2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_peak2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_peak2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_peak2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_peak2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_peak2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_peak2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_peak2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_peak2_init ( pConfig : * const ma_peak2_config , pFilter : * mut ma_peak2 ) -> ma_result ; } extern "C" { pub fn ma_peak2_reinit ( pConfig : * const ma_peak2_config , pFilter : * mut ma_peak2 ) -> ma_result ; } extern "C" { pub fn ma_peak2_process_pcm_frames ( pFilter : * mut ma_peak2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_peak2_get_latency ( pFilter : * mut ma_peak2 ) -> ma_uint32 ; } # [ doc = "Low Shelf Filter" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_loshelf2_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub gainDB : f64 , pub shelfSlope : f64 , pub frequency : f64 , } # [ test ] fn bindgen_test_layout_ma_loshelf2_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_loshelf2_config > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ma_loshelf2_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_loshelf2_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_loshelf2_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2_config > ( ) ) ) . gainDB as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2_config ) , "::" , stringify ! ( gainDB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2_config > ( ) ) ) . shelfSlope as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2_config ) , "::" , stringify ! ( shelfSlope ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2_config > ( ) ) ) . frequency as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2_config ) , "::" , stringify ! ( frequency ) ) ) ; } extern "C" { pub fn ma_loshelf2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , gainDB : f64 , shelfSlope : f64 , frequency : f64 ) -> ma_loshelf2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_loshelf2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_loshelf2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_loshelf2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_loshelf2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_loshelf2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_loshelf2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_loshelf2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_loshelf2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_loshelf2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_loshelf2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_loshelf2_init ( pConfig : * const ma_loshelf2_config , pFilter : * mut ma_loshelf2 ) -> ma_result ; } extern "C" { pub fn ma_loshelf2_reinit ( pConfig : * const ma_loshelf2_config , pFilter : * mut ma_loshelf2 ) -> ma_result ; } extern "C" { pub fn ma_loshelf2_process_pcm_frames ( pFilter : * mut ma_loshelf2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_loshelf2_get_latency ( pFilter : * mut ma_loshelf2 ) -> ma_uint32 ; } # [ doc = "High Shelf Filter" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_hishelf2_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub gainDB : f64 , pub shelfSlope : f64 , pub frequency : f64 , } # [ test ] fn bindgen_test_layout_ma_hishelf2_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hishelf2_config > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ma_hishelf2_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hishelf2_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_hishelf2_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2_config > ( ) ) ) . gainDB as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2_config ) , "::" , stringify ! ( gainDB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2_config > ( ) ) ) . shelfSlope as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2_config ) , "::" , stringify ! ( shelfSlope ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2_config > ( ) ) ) . frequency as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2_config ) , "::" , stringify ! ( frequency ) ) ) ; } extern "C" { pub fn ma_hishelf2_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , gainDB : f64 , shelfSlope : f64 , frequency : f64 ) -> ma_hishelf2_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_hishelf2 { pub bq : ma_biquad , } # [ test ] fn bindgen_test_layout_ma_hishelf2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_hishelf2 > ( ) , 284usize , concat ! ( "Size of: " , stringify ! ( ma_hishelf2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_hishelf2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_hishelf2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_hishelf2 > ( ) ) ) . bq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_hishelf2 ) , "::" , stringify ! ( bq ) ) ) ; } impl :: std :: fmt :: Debug for ma_hishelf2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_hishelf2 {{ bq: {:?} }}" , self . bq ) } } extern "C" { pub fn ma_hishelf2_init ( pConfig : * const ma_hishelf2_config , pFilter : * mut ma_hishelf2 ) -> ma_result ; } extern "C" { pub fn ma_hishelf2_reinit ( pConfig : * const ma_hishelf2_config , pFilter : * mut ma_hishelf2 ) -> ma_result ; } extern "C" { pub fn ma_hishelf2_process_pcm_frames ( pFilter : * mut ma_hishelf2 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_hishelf2_get_latency ( pFilter : * mut ma_hishelf2 ) -> ma_uint32 ; } # [ doc = "Resampling" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_linear_resampler_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRateIn : ma_uint32 , pub sampleRateOut : ma_uint32 , pub lpfOrder : ma_uint32 , pub lpfNyquistFactor : f64 , } # [ test ] fn bindgen_test_layout_ma_linear_resampler_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_linear_resampler_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_linear_resampler_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_linear_resampler_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_linear_resampler_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler_config > ( ) ) ) . sampleRateIn as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler_config ) , "::" , stringify ! ( sampleRateIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler_config > ( ) ) ) . sampleRateOut as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler_config ) , "::" , stringify ! ( sampleRateOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler_config > ( ) ) ) . lpfOrder as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler_config ) , "::" , stringify ! ( lpfOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler_config > ( ) ) ) . lpfNyquistFactor as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler_config ) , "::" , stringify ! ( lpfNyquistFactor ) ) ) ; } extern "C" { pub fn ma_linear_resampler_config_init ( format : ma_format , channels : ma_uint32 , sampleRateIn : ma_uint32 , sampleRateOut : ma_uint32 ) -> ma_linear_resampler_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_linear_resampler { pub config : ma_linear_resampler_config , pub inAdvanceInt : ma_uint32 , pub inAdvanceFrac : ma_uint32 , pub inTimeInt : ma_uint32 , pub inTimeFrac : ma_uint32 , pub x0 : ma_linear_resampler__bindgen_ty_1 , pub x1 : ma_linear_resampler__bindgen_ty_2 , pub lpf : ma_lpf , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_linear_resampler__bindgen_ty_1 { pub f32_ : [ f32 ; 32usize ] , pub s16 : [ ma_int16 ; 32usize ] , _bindgen_union_align : [ u32 ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_linear_resampler__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_linear_resampler__bindgen_ty_1 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( ma_linear_resampler__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_linear_resampler__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_linear_resampler__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler__bindgen_ty_1 > ( ) ) ) . f32_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler__bindgen_ty_1 ) , "::" , stringify ! ( f32_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler__bindgen_ty_1 > ( ) ) ) . s16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler__bindgen_ty_1 ) , "::" , stringify ! ( s16 ) ) ) ; } impl :: std :: fmt :: Debug for ma_linear_resampler__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_linear_resampler__bindgen_ty_1 {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_linear_resampler__bindgen_ty_2 { pub f32_ : [ f32 ; 32usize ] , pub s16 : [ ma_int16 ; 32usize ] , _bindgen_union_align : [ u32 ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_linear_resampler__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_linear_resampler__bindgen_ty_2 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( ma_linear_resampler__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_linear_resampler__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_linear_resampler__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler__bindgen_ty_2 > ( ) ) ) . f32_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler__bindgen_ty_2 ) , "::" , stringify ! ( f32_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler__bindgen_ty_2 > ( ) ) ) . s16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler__bindgen_ty_2 ) , "::" , stringify ! ( s16 ) ) ) ; } impl :: std :: fmt :: Debug for ma_linear_resampler__bindgen_ty_2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_linear_resampler__bindgen_ty_2 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_linear_resampler ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_linear_resampler > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( ma_linear_resampler ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_linear_resampler > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_linear_resampler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . config as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . inAdvanceInt as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( inAdvanceInt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . inAdvanceFrac as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( inAdvanceFrac ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . inTimeInt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( inTimeInt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . inTimeFrac as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( inTimeFrac ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . x0 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( x0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . x1 as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( x1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_linear_resampler > ( ) ) ) . lpf as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( ma_linear_resampler ) , "::" , stringify ! ( lpf ) ) ) ; } impl :: std :: fmt :: Debug for ma_linear_resampler { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_linear_resampler {{ config: {:?}, inAdvanceInt: {:?}, inAdvanceFrac: {:?}, inTimeInt: {:?}, inTimeFrac: {:?}, x0: {:?}, x1: {:?}, lpf: {:?} }}" , self . config , self . inAdvanceInt , self . inAdvanceFrac , self . inTimeInt , self . inTimeFrac , self . x0 , self . x1 , self . lpf ) } } extern "C" { pub fn ma_linear_resampler_init ( pConfig : * const ma_linear_resampler_config , pResampler : * mut ma_linear_resampler ) -> ma_result ; } extern "C" { pub fn ma_linear_resampler_uninit ( pResampler : * mut ma_linear_resampler ) ; } extern "C" { pub fn ma_linear_resampler_process_pcm_frames ( pResampler : * mut ma_linear_resampler , pFramesIn : * const :: std :: os :: raw :: c_void , pFrameCountIn : * mut ma_uint64 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFrameCountOut : * mut ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_linear_resampler_set_rate ( pResampler : * mut ma_linear_resampler , sampleRateIn : ma_uint32 , sampleRateOut : ma_uint32 ) -> ma_result ; } extern "C" { pub fn ma_linear_resampler_set_rate_ratio ( pResampler : * mut ma_linear_resampler , ratioInOut : f32 ) -> ma_result ; } extern "C" { pub fn ma_linear_resampler_get_required_input_frame_count ( pResampler : * mut ma_linear_resampler , outputFrameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_linear_resampler_get_expected_output_frame_count ( pResampler : * mut ma_linear_resampler , inputFrameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_linear_resampler_get_input_latency ( pResampler : * mut ma_linear_resampler ) -> ma_uint64 ; } extern "C" { pub fn ma_linear_resampler_get_output_latency ( pResampler : * mut ma_linear_resampler ) -> ma_uint64 ; } pub const ma_resample_algorithm_linear : ma_resample_algorithm = 0 ; pub const ma_resample_algorithm_speex : ma_resample_algorithm = 1 ; pub type ma_resample_algorithm = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_resampler_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRateIn : ma_uint32 , pub sampleRateOut : ma_uint32 , pub algorithm : ma_resample_algorithm , pub linear : ma_resampler_config__bindgen_ty_1 , pub speex : ma_resampler_config__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_resampler_config__bindgen_ty_1 { pub lpfOrder : ma_uint32 , pub lpfNyquistFactor : f64 , } # [ test ] fn bindgen_test_layout_ma_resampler_config__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_resampler_config__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_resampler_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_resampler_config__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_resampler_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config__bindgen_ty_1 > ( ) ) ) . lpfOrder as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config__bindgen_ty_1 ) , "::" , stringify ! ( lpfOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config__bindgen_ty_1 > ( ) ) ) . lpfNyquistFactor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config__bindgen_ty_1 ) , "::" , stringify ! ( lpfNyquistFactor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_resampler_config__bindgen_ty_2 { pub quality : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ma_resampler_config__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_resampler_config__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_resampler_config__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_resampler_config__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_resampler_config__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config__bindgen_ty_2 > ( ) ) ) . quality as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config__bindgen_ty_2 ) , "::" , stringify ! ( quality ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_resampler_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_resampler_config > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ma_resampler_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_resampler_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_resampler_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . sampleRateIn as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( sampleRateIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . sampleRateOut as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( sampleRateOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . algorithm as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( algorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . linear as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler_config > ( ) ) ) . speex as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler_config ) , "::" , stringify ! ( speex ) ) ) ; } extern "C" { pub fn ma_resampler_config_init ( format : ma_format , channels : ma_uint32 , sampleRateIn : ma_uint32 , sampleRateOut : ma_uint32 , algorithm : ma_resample_algorithm ) -> ma_resampler_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_resampler { pub config : ma_resampler_config , pub state : ma_resampler__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_resampler__bindgen_ty_1 { pub linear : ma_linear_resampler , pub speex : ma_resampler__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [ u64 ; 200usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_resampler__bindgen_ty_1__bindgen_ty_1 { pub pSpeexResamplerState : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ma_resampler__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_resampler__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ma_resampler__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_resampler__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_resampler__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . pSpeexResamplerState as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( pSpeexResamplerState ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_resampler__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_resampler__bindgen_ty_1 > ( ) , 1600usize , concat ! ( "Size of: " , stringify ! ( ma_resampler__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_resampler__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_resampler__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler__bindgen_ty_1 > ( ) ) ) . linear as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler__bindgen_ty_1 ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler__bindgen_ty_1 > ( ) ) ) . speex as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler__bindgen_ty_1 ) , "::" , stringify ! ( speex ) ) ) ; } impl :: std :: fmt :: Debug for ma_resampler__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_resampler__bindgen_ty_1 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_resampler ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_resampler > ( ) , 1648usize , concat ! ( "Size of: " , stringify ! ( ma_resampler ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_resampler > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_resampler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler > ( ) ) ) . config as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler ) , "::" , stringify ! ( config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_resampler > ( ) ) ) . state as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_resampler ) , "::" , stringify ! ( state ) ) ) ; } impl :: std :: fmt :: Debug for ma_resampler { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_resampler {{ config: {:?}, state: {:?} }}" , self . config , self . state ) } } extern "C" { pub fn ma_resampler_init ( pConfig : * const ma_resampler_config , pResampler : * mut ma_resampler ) -> ma_result ; } extern "C" { pub fn ma_resampler_uninit ( pResampler : * mut ma_resampler ) ; } extern "C" { pub fn ma_resampler_process_pcm_frames ( pResampler : * mut ma_resampler , pFramesIn : * const :: std :: os :: raw :: c_void , pFrameCountIn : * mut ma_uint64 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFrameCountOut : * mut ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_resampler_set_rate ( pResampler : * mut ma_resampler , sampleRateIn : ma_uint32 , sampleRateOut : ma_uint32 ) -> ma_result ; } extern "C" { pub fn ma_resampler_set_rate_ratio ( pResampler : * mut ma_resampler , ratio : f32 ) -> ma_result ; } extern "C" { pub fn ma_resampler_get_required_input_frame_count ( pResampler : * mut ma_resampler , outputFrameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_resampler_get_expected_output_frame_count ( pResampler : * mut ma_resampler , inputFrameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_resampler_get_input_latency ( pResampler : * mut ma_resampler ) -> ma_uint64 ; } extern "C" { pub fn ma_resampler_get_output_latency ( pResampler : * mut ma_resampler ) -> ma_uint64 ; } # [ doc = "Channel Conversion" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_channel_converter_config { pub format : ma_format , pub channelsIn : ma_uint32 , pub channelsOut : ma_uint32 , pub channelMapIn : [ ma_channel ; 32usize ] , pub channelMapOut : [ ma_channel ; 32usize ] , pub mixingMode : ma_channel_mix_mode , pub weights : [ [ f32 ; 32usize ] ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_channel_converter_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_channel_converter_config > ( ) , 4176usize , concat ! ( "Size of: " , stringify ! ( ma_channel_converter_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_channel_converter_config > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_channel_converter_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . channelsIn as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( channelsIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . channelsOut as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( channelsOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . channelMapIn as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( channelMapIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . channelMapOut as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( channelMapOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . mixingMode as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( mixingMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter_config > ( ) ) ) . weights as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter_config ) , "::" , stringify ! ( weights ) ) ) ; } extern "C" { pub fn ma_channel_converter_config_init ( format : ma_format , channelsIn : ma_uint32 , pChannelMapIn : * const ma_channel , channelsOut : ma_uint32 , pChannelMapOut : * const ma_channel , mixingMode : ma_channel_mix_mode ) -> ma_channel_converter_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_channel_converter { pub format : ma_format , pub channelsIn : ma_uint32 , pub channelsOut : ma_uint32 , pub channelMapIn : [ ma_channel ; 32usize ] , pub channelMapOut : [ ma_channel ; 32usize ] , pub mixingMode : ma_channel_mix_mode , pub weights : ma_channel_converter__bindgen_ty_1 , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub shuffleTable : [ ma_uint8 ; 32usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_channel_converter__bindgen_ty_1 { pub f32_ : [ [ f32 ; 32usize ] ; 32usize ] , pub s16 : [ [ ma_int32 ; 32usize ] ; 32usize ] , _bindgen_union_align : [ u32 ; 1024usize ] , } # [ test ] fn bindgen_test_layout_ma_channel_converter__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_channel_converter__bindgen_ty_1 > ( ) , 4096usize , concat ! ( "Size of: " , stringify ! ( ma_channel_converter__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_channel_converter__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_channel_converter__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter__bindgen_ty_1 > ( ) ) ) . f32_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter__bindgen_ty_1 ) , "::" , stringify ! ( f32_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter__bindgen_ty_1 > ( ) ) ) . s16 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter__bindgen_ty_1 ) , "::" , stringify ! ( s16 ) ) ) ; } impl :: std :: fmt :: Debug for ma_channel_converter__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_channel_converter__bindgen_ty_1 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_channel_converter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_channel_converter > ( ) , 4212usize , concat ! ( "Size of: " , stringify ! ( ma_channel_converter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_channel_converter > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_channel_converter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . channelsIn as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( channelsIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . channelsOut as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( channelsOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . channelMapIn as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( channelMapIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . channelMapOut as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( channelMapOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . mixingMode as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( mixingMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . weights as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( weights ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_channel_converter > ( ) ) ) . shuffleTable as * const _ as usize } , 4177usize , concat ! ( "Offset of field: " , stringify ! ( ma_channel_converter ) , "::" , stringify ! ( shuffleTable ) ) ) ; } impl :: std :: fmt :: Debug for ma_channel_converter { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_channel_converter {{ format: {:?}, channelsIn: {:?}, channelsOut: {:?}, channelMapIn: [{}], channelMapOut: [{}], mixingMode: {:?}, weights: {:?}, isPassthrough : {:?}, isSimpleShuffle : {:?}, isSimpleMonoExpansion : {:?}, isStereoToMono : {:?}, shuffleTable: [{}] }}" , self . format , self . channelsIn , self . channelsOut , self . channelMapIn . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . channelMapOut . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . mixingMode , self . weights , self . isPassthrough ( ) , self . isSimpleShuffle ( ) , self . isSimpleMonoExpansion ( ) , self . isStereoToMono ( ) , self . shuffleTable . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) ) } } impl ma_channel_converter { # [ inline ] pub fn isPassthrough ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isPassthrough ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn isSimpleShuffle ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isSimpleShuffle ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn isSimpleMonoExpansion ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 2usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isSimpleMonoExpansion ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 2usize , 1u8 , val as u64 ) } } # [ inline ] pub fn isStereoToMono ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 3usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isStereoToMono ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 3usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( isPassthrough : ma_bool32 , isSimpleShuffle : ma_bool32 , isSimpleMonoExpansion : ma_bool32 , isStereoToMono : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let isPassthrough : u32 = unsafe { :: std :: mem :: transmute ( isPassthrough ) } ; isPassthrough as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let isSimpleShuffle : u32 = unsafe { :: std :: mem :: transmute ( isSimpleShuffle ) } ; isSimpleShuffle as u64 } ) ; __bindgen_bitfield_unit . set ( 2usize , 1u8 , { let isSimpleMonoExpansion : u32 = unsafe { :: std :: mem :: transmute ( isSimpleMonoExpansion ) } ; isSimpleMonoExpansion as u64 } ) ; __bindgen_bitfield_unit . set ( 3usize , 1u8 , { let isStereoToMono : u32 = unsafe { :: std :: mem :: transmute ( isStereoToMono ) } ; isStereoToMono as u64 } ) ; __bindgen_bitfield_unit } } extern "C" { pub fn ma_channel_converter_init ( pConfig : * const ma_channel_converter_config , pConverter : * mut ma_channel_converter ) -> ma_result ; } extern "C" { pub fn ma_channel_converter_uninit ( pConverter : * mut ma_channel_converter ) ; } extern "C" { pub fn ma_channel_converter_process_pcm_frames ( pConverter : * mut ma_channel_converter , pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_result ; } # [ doc = "Data Conversion" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_data_converter_config { pub formatIn : ma_format , pub formatOut : ma_format , pub channelsIn : ma_uint32 , pub channelsOut : ma_uint32 , pub sampleRateIn : ma_uint32 , pub sampleRateOut : ma_uint32 , pub channelMapIn : [ ma_channel ; 32usize ] , pub channelMapOut : [ ma_channel ; 32usize ] , pub ditherMode : ma_dither_mode , pub channelMixMode : ma_channel_mix_mode , pub channelWeights : [ [ f32 ; 32usize ] ; 32usize ] , pub resampling : ma_data_converter_config__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_data_converter_config__bindgen_ty_1 { pub algorithm : ma_resample_algorithm , pub allowDynamicSampleRate : ma_bool32 , pub linear : ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 , pub speex : ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 { pub lpfOrder : ma_uint32 , pub lpfNyquistFactor : f64 , } # [ test ] fn bindgen_test_layout_ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . lpfOrder as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( lpfOrder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . lpfNyquistFactor as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( lpfNyquistFactor ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 { pub quality : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . quality as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( quality ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_data_converter_config__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_data_converter_config__bindgen_ty_1 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_data_converter_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_data_converter_config__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_data_converter_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1 > ( ) ) ) . algorithm as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1 ) , "::" , stringify ! ( algorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1 > ( ) ) ) . allowDynamicSampleRate as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1 ) , "::" , stringify ! ( allowDynamicSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1 > ( ) ) ) . linear as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1 ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config__bindgen_ty_1 > ( ) ) ) . speex as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config__bindgen_ty_1 ) , "::" , stringify ! ( speex ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_data_converter_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_data_converter_config > ( ) , 4224usize , concat ! ( "Size of: " , stringify ! ( ma_data_converter_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_data_converter_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_data_converter_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . formatIn as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( formatIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . formatOut as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( formatOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . channelsIn as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( channelsIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . channelsOut as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( channelsOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . sampleRateIn as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( sampleRateIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . sampleRateOut as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( sampleRateOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . channelMapIn as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( channelMapIn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . channelMapOut as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( channelMapOut ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . ditherMode as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( ditherMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . channelMixMode as * const _ as usize } , 92usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( channelMixMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . channelWeights as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( channelWeights ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter_config > ( ) ) ) . resampling as * const _ as usize } , 4192usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter_config ) , "::" , stringify ! ( resampling ) ) ) ; } extern "C" { pub fn ma_data_converter_config_init_default ( ) -> ma_data_converter_config ; } extern "C" { pub fn ma_data_converter_config_init ( formatIn : ma_format , formatOut : ma_format , channelsIn : ma_uint32 , channelsOut : ma_uint32 , sampleRateIn : ma_uint32 , sampleRateOut : ma_uint32 ) -> ma_data_converter_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_data_converter { pub config : ma_data_converter_config , pub channelConverter : ma_channel_converter , pub resampler : ma_resampler , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_ma_data_converter ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_data_converter > ( ) , 10096usize , concat ! ( "Size of: " , stringify ! ( ma_data_converter ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_data_converter > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_data_converter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter > ( ) ) ) . config as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter ) , "::" , stringify ! ( config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter > ( ) ) ) . channelConverter as * const _ as usize } , 4224usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter ) , "::" , stringify ! ( channelConverter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_converter > ( ) ) ) . resampler as * const _ as usize } , 8440usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_converter ) , "::" , stringify ! ( resampler ) ) ) ; } impl :: std :: fmt :: Debug for ma_data_converter { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_data_converter {{ config: {:?}, channelConverter: {:?}, resampler: {:?}, hasPreFormatConversion : {:?}, hasPostFormatConversion : {:?}, hasChannelConverter : {:?}, hasResampler : {:?}, isPassthrough : {:?} }}" , self . config , self . channelConverter , self . resampler , self . hasPreFormatConversion ( ) , self . hasPostFormatConversion ( ) , self . hasChannelConverter ( ) , self . hasResampler ( ) , self . isPassthrough ( ) ) } } impl ma_data_converter { # [ inline ] pub fn hasPreFormatConversion ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_hasPreFormatConversion ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn hasPostFormatConversion ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_hasPostFormatConversion ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn hasChannelConverter ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 2usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_hasChannelConverter ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 2usize , 1u8 , val as u64 ) } } # [ inline ] pub fn hasResampler ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 3usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_hasResampler ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 3usize , 1u8 , val as u64 ) } } # [ inline ] pub fn isPassthrough ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 4usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isPassthrough ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 4usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( hasPreFormatConversion : ma_bool32 , hasPostFormatConversion : ma_bool32 , hasChannelConverter : ma_bool32 , hasResampler : ma_bool32 , isPassthrough : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let hasPreFormatConversion : u32 = unsafe { :: std :: mem :: transmute ( hasPreFormatConversion ) } ; hasPreFormatConversion as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let hasPostFormatConversion : u32 = unsafe { :: std :: mem :: transmute ( hasPostFormatConversion ) } ; hasPostFormatConversion as u64 } ) ; __bindgen_bitfield_unit . set ( 2usize , 1u8 , { let hasChannelConverter : u32 = unsafe { :: std :: mem :: transmute ( hasChannelConverter ) } ; hasChannelConverter as u64 } ) ; __bindgen_bitfield_unit . set ( 3usize , 1u8 , { let hasResampler : u32 = unsafe { :: std :: mem :: transmute ( hasResampler ) } ; hasResampler as u64 } ) ; __bindgen_bitfield_unit . set ( 4usize , 1u8 , { let isPassthrough : u32 = unsafe { :: std :: mem :: transmute ( isPassthrough ) } ; isPassthrough as u64 } ) ; __bindgen_bitfield_unit } } extern "C" { pub fn ma_data_converter_init ( pConfig : * const ma_data_converter_config , pConverter : * mut ma_data_converter ) -> ma_result ; } extern "C" { pub fn ma_data_converter_uninit ( pConverter : * mut ma_data_converter ) ; } extern "C" { pub fn ma_data_converter_process_pcm_frames ( pConverter : * mut ma_data_converter , pFramesIn : * const :: std :: os :: raw :: c_void , pFrameCountIn : * mut ma_uint64 , pFramesOut : * mut :: std :: os :: raw :: c_void , pFrameCountOut : * mut ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_data_converter_set_rate ( pConverter : * mut ma_data_converter , sampleRateIn : ma_uint32 , sampleRateOut : ma_uint32 ) -> ma_result ; } extern "C" { pub fn ma_data_converter_set_rate_ratio ( pConverter : * mut ma_data_converter , ratioInOut : f32 ) -> ma_result ; } extern "C" { pub fn ma_data_converter_get_required_input_frame_count ( pConverter : * mut ma_data_converter , outputFrameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_data_converter_get_expected_output_frame_count ( pConverter : * mut ma_data_converter , inputFrameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_data_converter_get_input_latency ( pConverter : * mut ma_data_converter ) -> ma_uint64 ; } extern "C" { pub fn ma_data_converter_get_output_latency ( pConverter : * mut ma_data_converter ) -> ma_uint64 ; } extern "C" { # [ doc = "Format Conversion" ] pub fn ma_pcm_u8_to_s16 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_u8_to_s24 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_u8_to_s32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_u8_to_f32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s16_to_u8 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s16_to_s24 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s16_to_s32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s16_to_f32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s24_to_u8 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s24_to_s16 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s24_to_s32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s24_to_f32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s32_to_u8 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s32_to_s16 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s32_to_s24 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_s32_to_f32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_f32_to_u8 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_f32_to_s16 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_f32_to_s24 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_f32_to_s32 ( pOut : * mut :: std :: os :: raw :: c_void , pIn : * const :: std :: os :: raw :: c_void , count : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_pcm_convert ( pOut : * mut :: std :: os :: raw :: c_void , formatOut : ma_format , pIn : * const :: std :: os :: raw :: c_void , formatIn : ma_format , sampleCount : ma_uint64 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_convert_pcm_frames_format ( pOut : * mut :: std :: os :: raw :: c_void , formatOut : ma_format , pIn : * const :: std :: os :: raw :: c_void , formatIn : ma_format , frameCount : ma_uint64 , channels : ma_uint32 , ditherMode : ma_dither_mode ) ; } extern "C" { pub fn ma_deinterleave_pcm_frames ( format : ma_format , channels : ma_uint32 , frameCount : ma_uint64 , pInterleavedPCMFrames : * const :: std :: os :: raw :: c_void , ppDeinterleavedPCMFrames : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ma_interleave_pcm_frames ( format : ma_format , channels : ma_uint32 , frameCount : ma_uint64 , ppDeinterleavedPCMFrames : * mut * const :: std :: os :: raw :: c_void , pInterleavedPCMFrames : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ doc = "Channel Maps" ] pub fn ma_get_standard_channel_map ( standardChannelMap : ma_standard_channel_map , channels : ma_uint32 , pChannelMap : * mut ma_channel ) ; } extern "C" { pub fn ma_channel_map_copy ( pOut : * mut ma_channel , pIn : * const ma_channel , channels : ma_uint32 ) ; } extern "C" { pub fn ma_channel_map_valid ( channels : ma_uint32 , pChannelMap : * const ma_channel ) -> ma_bool32 ; } extern "C" { pub fn ma_channel_map_equal ( channels : ma_uint32 , pChannelMapA : * const ma_channel , pChannelMapB : * const ma_channel ) -> ma_bool32 ; } extern "C" { pub fn ma_channel_map_blank ( channels : ma_uint32 , pChannelMap : * const ma_channel ) -> ma_bool32 ; } extern "C" { pub fn ma_channel_map_contains_channel_position ( channels : ma_uint32 , pChannelMap : * const ma_channel , channelPosition : ma_channel ) -> ma_bool32 ; } extern "C" { # [ doc = "Conversion Helpers" ] pub fn ma_convert_frames ( pOut : * mut :: std :: os :: raw :: c_void , frameCountOut : ma_uint64 , formatOut : ma_format , channelsOut : ma_uint32 , sampleRateOut : ma_uint32 , pIn : * const :: std :: os :: raw :: c_void , frameCountIn : ma_uint64 , formatIn : ma_format , channelsIn : ma_uint32 , sampleRateIn : ma_uint32 ) -> ma_uint64 ; } extern "C" { pub fn ma_convert_frames_ex ( pOut : * mut :: std :: os :: raw :: c_void , frameCountOut : ma_uint64 , pIn : * const :: std :: os :: raw :: c_void , frameCountIn : ma_uint64 , pConfig : * const ma_data_converter_config ) -> ma_uint64 ; } # [ doc = "Ring Buffer" ] # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_rb { pub pBuffer : * mut :: std :: os :: raw :: c_void , pub subbufferSizeInBytes : ma_uint32 , pub subbufferCount : ma_uint32 , pub subbufferStrideInBytes : ma_uint32 , pub encodedReadOffset : ma_uint32 , pub encodedWriteOffset : ma_uint32 , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub allocationCallbacks : ma_allocation_callbacks , } # [ test ] fn bindgen_test_layout_ma_rb ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_rb > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ma_rb ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_rb > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_rb ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . pBuffer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( pBuffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . subbufferSizeInBytes as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( subbufferSizeInBytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . subbufferCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( subbufferCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . subbufferStrideInBytes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( subbufferStrideInBytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . encodedReadOffset as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( encodedReadOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . encodedWriteOffset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( encodedWriteOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_rb > ( ) ) ) . allocationCallbacks as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_rb ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; } impl ma_rb { # [ inline ] pub fn ownsBuffer ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_ownsBuffer ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn clearOnWriteAcquire ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_clearOnWriteAcquire ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( ownsBuffer : ma_bool32 , clearOnWriteAcquire : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let ownsBuffer : u32 = unsafe { :: std :: mem :: transmute ( ownsBuffer ) } ; ownsBuffer as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let clearOnWriteAcquire : u32 = unsafe { :: std :: mem :: transmute ( clearOnWriteAcquire ) } ; clearOnWriteAcquire as u64 } ) ; __bindgen_bitfield_unit } } extern "C" { pub fn ma_rb_init_ex ( subbufferSizeInBytes : usize , subbufferCount : usize , subbufferStrideInBytes : usize , pOptionalPreallocatedBuffer : * mut :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks , pRB : * mut ma_rb ) -> ma_result ; } extern "C" { pub fn ma_rb_init ( bufferSizeInBytes : usize , pOptionalPreallocatedBuffer : * mut :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks , pRB : * mut ma_rb ) -> ma_result ; } extern "C" { pub fn ma_rb_uninit ( pRB : * mut ma_rb ) ; } extern "C" { pub fn ma_rb_reset ( pRB : * mut ma_rb ) ; } extern "C" { pub fn ma_rb_acquire_read ( pRB : * mut ma_rb , pSizeInBytes : * mut usize , ppBufferOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_rb_commit_read ( pRB : * mut ma_rb , sizeInBytes : usize , pBufferOut : * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_rb_acquire_write ( pRB : * mut ma_rb , pSizeInBytes : * mut usize , ppBufferOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_rb_commit_write ( pRB : * mut ma_rb , sizeInBytes : usize , pBufferOut : * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_rb_seek_read ( pRB : * mut ma_rb , offsetInBytes : usize ) -> ma_result ; } extern "C" { pub fn ma_rb_seek_write ( pRB : * mut ma_rb , offsetInBytes : usize ) -> ma_result ; } extern "C" { pub fn ma_rb_pointer_distance ( pRB : * mut ma_rb ) -> ma_int32 ; } extern "C" { pub fn ma_rb_available_read ( pRB : * mut ma_rb ) -> ma_uint32 ; } extern "C" { pub fn ma_rb_available_write ( pRB : * mut ma_rb ) -> ma_uint32 ; } extern "C" { pub fn ma_rb_get_subbuffer_size ( pRB : * mut ma_rb ) -> usize ; } extern "C" { pub fn ma_rb_get_subbuffer_stride ( pRB : * mut ma_rb ) -> usize ; } extern "C" { pub fn ma_rb_get_subbuffer_offset ( pRB : * mut ma_rb , subbufferIndex : usize ) -> usize ; } extern "C" { pub fn ma_rb_get_subbuffer_ptr ( pRB : * mut ma_rb , subbufferIndex : usize , pBuffer : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_pcm_rb { pub rb : ma_rb , pub format : ma_format , pub channels : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_pcm_rb ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_pcm_rb > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( ma_pcm_rb ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_pcm_rb > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_pcm_rb ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_pcm_rb > ( ) ) ) . rb as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_pcm_rb ) , "::" , stringify ! ( rb ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_pcm_rb > ( ) ) ) . format as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_pcm_rb ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_pcm_rb > ( ) ) ) . channels as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( ma_pcm_rb ) , "::" , stringify ! ( channels ) ) ) ; } extern "C" { pub fn ma_pcm_rb_init_ex ( format : ma_format , channels : ma_uint32 , subbufferSizeInFrames : ma_uint32 , subbufferCount : ma_uint32 , subbufferStrideInFrames : ma_uint32 , pOptionalPreallocatedBuffer : * mut :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks , pRB : * mut ma_pcm_rb ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_init ( format : ma_format , channels : ma_uint32 , bufferSizeInFrames : ma_uint32 , pOptionalPreallocatedBuffer : * mut :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks , pRB : * mut ma_pcm_rb ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_uninit ( pRB : * mut ma_pcm_rb ) ; } extern "C" { pub fn ma_pcm_rb_reset ( pRB : * mut ma_pcm_rb ) ; } extern "C" { pub fn ma_pcm_rb_acquire_read ( pRB : * mut ma_pcm_rb , pSizeInFrames : * mut ma_uint32 , ppBufferOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_commit_read ( pRB : * mut ma_pcm_rb , sizeInFrames : ma_uint32 , pBufferOut : * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_acquire_write ( pRB : * mut ma_pcm_rb , pSizeInFrames : * mut ma_uint32 , ppBufferOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_commit_write ( pRB : * mut ma_pcm_rb , sizeInFrames : ma_uint32 , pBufferOut : * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_seek_read ( pRB : * mut ma_pcm_rb , offsetInFrames : ma_uint32 ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_seek_write ( pRB : * mut ma_pcm_rb , offsetInFrames : ma_uint32 ) -> ma_result ; } extern "C" { pub fn ma_pcm_rb_pointer_distance ( pRB : * mut ma_pcm_rb ) -> ma_int32 ; } extern "C" { pub fn ma_pcm_rb_available_read ( pRB : * mut ma_pcm_rb ) -> ma_uint32 ; } extern "C" { pub fn ma_pcm_rb_available_write ( pRB : * mut ma_pcm_rb ) -> ma_uint32 ; } extern "C" { pub fn ma_pcm_rb_get_subbuffer_size ( pRB : * mut ma_pcm_rb ) -> ma_uint32 ; } extern "C" { pub fn ma_pcm_rb_get_subbuffer_stride ( pRB : * mut ma_pcm_rb ) -> ma_uint32 ; } extern "C" { pub fn ma_pcm_rb_get_subbuffer_offset ( pRB : * mut ma_pcm_rb , subbufferIndex : ma_uint32 ) -> ma_uint32 ; } extern "C" { pub fn ma_pcm_rb_get_subbuffer_ptr ( pRB : * mut ma_pcm_rb , subbufferIndex : ma_uint32 , pBuffer : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = "Miscellaneous Helpers" ] pub fn ma_result_description ( result : ma_result ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ma_malloc ( sz : usize , pAllocationCallbacks : * const ma_allocation_callbacks ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ma_realloc ( p : * mut :: std :: os :: raw :: c_void , sz : usize , pAllocationCallbacks : * const ma_allocation_callbacks ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ma_free ( p : * mut :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks ) ; } extern "C" { pub fn ma_aligned_malloc ( sz : usize , alignment : usize , pAllocationCallbacks : * const ma_allocation_callbacks ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ma_aligned_free ( p : * mut :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks ) ; } extern "C" { pub fn ma_get_format_name ( format : ma_format ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ma_blend_f32 ( pOut : * mut f32 , pInA : * mut f32 , pInB : * mut f32 , factor : f32 , channels : ma_uint32 ) ; } extern "C" { pub fn ma_get_bytes_per_sample ( format : ma_format ) -> ma_uint32 ; } extern "C" { pub fn ma_log_level_to_string ( logLevel : ma_uint32 ) -> * const :: std :: os :: raw :: c_char ; } pub const ma_backend_wasapi : ma_backend = 0 ; pub const ma_backend_dsound : ma_backend = 1 ; pub const ma_backend_winmm : ma_backend = 2 ; pub const ma_backend_coreaudio : ma_backend = 3 ; pub const ma_backend_sndio : ma_backend = 4 ; pub const ma_backend_audio4 : ma_backend = 5 ; pub const ma_backend_oss : ma_backend = 6 ; pub const ma_backend_pulseaudio : ma_backend = 7 ; pub const ma_backend_alsa : ma_backend = 8 ; pub const ma_backend_jack : ma_backend = 9 ; pub const ma_backend_aaudio : ma_backend = 10 ; pub const ma_backend_opensl : ma_backend = 11 ; pub const ma_backend_webaudio : ma_backend = 12 ; pub const ma_backend_null : ma_backend = 13 ; pub type ma_backend = u32 ; pub type ma_device_callback_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDevice : * mut ma_device , pOutput : * mut :: std :: os :: raw :: c_void , pInput : * const :: std :: os :: raw :: c_void , frameCount : ma_uint32 ) > ; pub type ma_stop_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDevice : * mut ma_device ) > ; pub type ma_log_proc = :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context , pDevice : * mut ma_device , logLevel : ma_uint32 , message : * const :: std :: os :: raw :: c_char ) > ; pub const ma_device_type_playback : ma_device_type = 1 ; pub const ma_device_type_capture : ma_device_type = 2 ; pub const ma_device_type_duplex : ma_device_type = 3 ; pub const ma_device_type_loopback : ma_device_type = 4 ; pub type ma_device_type = u32 ; pub const ma_share_mode_shared : ma_share_mode = 0 ; pub const ma_share_mode_exclusive : ma_share_mode = 1 ; pub type ma_share_mode = u32 ; pub const ma_ios_session_category_default : ma_ios_session_category = 0 ; pub const ma_ios_session_category_none : ma_ios_session_category = 1 ; pub const ma_ios_session_category_ambient : ma_ios_session_category = 2 ; pub const ma_ios_session_category_solo_ambient : ma_ios_session_category = 3 ; pub const ma_ios_session_category_playback : ma_ios_session_category = 4 ; pub const ma_ios_session_category_record : ma_ios_session_category = 5 ; pub const ma_ios_session_category_play_and_record : ma_ios_session_category = 6 ; pub const ma_ios_session_category_multi_route : ma_ios_session_category = 7 ; pub type ma_ios_session_category = u32 ; pub const ma_ios_session_category_option_mix_with_others : ma_ios_session_category_option = 1 ; pub const ma_ios_session_category_option_duck_others : ma_ios_session_category_option = 2 ; pub const ma_ios_session_category_option_allow_bluetooth : ma_ios_session_category_option = 4 ; pub const ma_ios_session_category_option_default_to_speaker : ma_ios_session_category_option = 8 ; pub const ma_ios_session_category_option_interrupt_spoken_audio_and_mix_with_others : ma_ios_session_category_option = 17 ; pub const ma_ios_session_category_option_allow_bluetooth_a2dp : ma_ios_session_category_option = 32 ; pub const ma_ios_session_category_option_allow_air_play : ma_ios_session_category_option = 64 ; pub type ma_ios_session_category_option = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_timer { pub counter : ma_int64 , pub counterD : f64 , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ma_timer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_timer > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ma_timer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_timer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_timer > ( ) ) ) . counter as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_timer ) , "::" , stringify ! ( counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_timer > ( ) ) ) . counterD as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_timer ) , "::" , stringify ! ( counterD ) ) ) ; } impl :: std :: fmt :: Debug for ma_timer { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_timer {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_device_id { pub wasapi : [ wchar_t ; 64usize ] , pub dsound : [ ma_uint8 ; 16usize ] , pub winmm : ma_uint32 , pub alsa : [ :: std :: os :: raw :: c_char ; 256usize ] , pub pulse : [ :: std :: os :: raw :: c_char ; 256usize ] , pub jack : :: std :: os :: raw :: c_int , pub coreaudio : [ :: std :: os :: raw :: c_char ; 256usize ] , pub sndio : [ :: std :: os :: raw :: c_char ; 256usize ] , pub audio4 : [ :: std :: os :: raw :: c_char ; 256usize ] , pub oss : [ :: std :: os :: raw :: c_char ; 64usize ] , pub aaudio : ma_int32 , pub opensl : ma_uint32 , pub webaudio : [ :: std :: os :: raw :: c_char ; 32usize ] , pub nullbackend : :: std :: os :: raw :: c_int , _bindgen_union_align : [ u32 ; 64usize ] , } # [ test ] fn bindgen_test_layout_ma_device_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_id > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( ma_device_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . wasapi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( wasapi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . dsound as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( dsound ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . winmm as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( winmm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . alsa as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( alsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . pulse as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( pulse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . jack as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( jack ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . coreaudio as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( coreaudio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . sndio as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( sndio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . audio4 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( audio4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . oss as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( oss ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . aaudio as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( aaudio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . opensl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( opensl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . webaudio as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( webaudio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_id > ( ) ) ) . nullbackend as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_id ) , "::" , stringify ! ( nullbackend ) ) ) ; } impl :: std :: fmt :: Debug for ma_device_id { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device_id {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_device_info { pub id : ma_device_id , pub name : [ :: std :: os :: raw :: c_char ; 256usize ] , pub formatCount : ma_uint32 , pub formats : [ ma_format ; 6usize ] , pub minChannels : ma_uint32 , pub maxChannels : ma_uint32 , pub minSampleRate : ma_uint32 , pub maxSampleRate : ma_uint32 , pub _private : ma_device_info__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_info__bindgen_ty_1 { pub isDefault : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_device_info__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_info__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_device_info__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_info__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_info__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info__bindgen_ty_1 > ( ) ) ) . isDefault as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info__bindgen_ty_1 ) , "::" , stringify ! ( isDefault ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_device_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_info > ( ) , 560usize , concat ! ( "Size of: " , stringify ! ( ma_device_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . name as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . formatCount as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( formatCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . formats as * const _ as usize } , 516usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( formats ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . minChannels as * const _ as usize } , 540usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( minChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . maxChannels as * const _ as usize } , 544usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( maxChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . minSampleRate as * const _ as usize } , 548usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( minSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . maxSampleRate as * const _ as usize } , 552usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( maxSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_info > ( ) ) ) . _private as * const _ as usize } , 556usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_info ) , "::" , stringify ! ( _private ) ) ) ; } impl :: std :: fmt :: Debug for ma_device_info { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device_info {{ id: {:?}, name: [{}], formatCount: {:?}, formats: {:?}, minChannels: {:?}, maxChannels: {:?}, minSampleRate: {:?}, maxSampleRate: {:?}, _private: {:?} }}" , self . id , self . name . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . formatCount , self . formats , self . minChannels , self . maxChannels , self . minSampleRate , self . maxSampleRate , self . _private ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config { pub deviceType : ma_device_type , pub sampleRate : ma_uint32 , pub periodSizeInFrames : ma_uint32 , pub periodSizeInMilliseconds : ma_uint32 , pub periods : ma_uint32 , pub performanceProfile : ma_performance_profile , pub noPreZeroedOutputBuffer : ma_bool32 , pub noClip : ma_bool32 , pub dataCallback : ma_device_callback_proc , pub stopCallback : ma_stop_proc , pub pUserData : * mut :: std :: os :: raw :: c_void , pub resampling : ma_device_config__bindgen_ty_1 , pub playback : ma_device_config__bindgen_ty_2 , pub capture : ma_device_config__bindgen_ty_3 , pub wasapi : ma_device_config__bindgen_ty_4 , pub alsa : ma_device_config__bindgen_ty_5 , pub pulse : ma_device_config__bindgen_ty_6 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_1 { pub algorithm : ma_resample_algorithm , pub linear : ma_device_config__bindgen_ty_1__bindgen_ty_1 , pub speex : ma_device_config__bindgen_ty_1__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_1__bindgen_ty_1 { pub lpfOrder : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . lpfOrder as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( lpfOrder ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_1__bindgen_ty_2 { pub quality : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . quality as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( quality ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_1 > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_1 > ( ) ) ) . algorithm as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_1 ) , "::" , stringify ! ( algorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_1 > ( ) ) ) . linear as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_1 ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_1 > ( ) ) ) . speex as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_1 ) , "::" , stringify ! ( speex ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_2 { pub pDeviceID : * const ma_device_id , pub format : ma_format , pub channels : ma_uint32 , pub channelMap : [ ma_channel ; 32usize ] , pub shareMode : ma_share_mode , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_2 > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_2 > ( ) ) ) . pDeviceID as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_2 ) , "::" , stringify ! ( pDeviceID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_2 > ( ) ) ) . format as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_2 ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_2 > ( ) ) ) . channels as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_2 ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_2 > ( ) ) ) . channelMap as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_2 ) , "::" , stringify ! ( channelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_2 > ( ) ) ) . shareMode as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_2 ) , "::" , stringify ! ( shareMode ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_3 { pub pDeviceID : * const ma_device_id , pub format : ma_format , pub channels : ma_uint32 , pub channelMap : [ ma_channel ; 32usize ] , pub shareMode : ma_share_mode , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_3 > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_3 > ( ) ) ) . pDeviceID as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_3 ) , "::" , stringify ! ( pDeviceID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_3 > ( ) ) ) . format as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_3 ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_3 > ( ) ) ) . channels as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_3 ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_3 > ( ) ) ) . channelMap as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_3 ) , "::" , stringify ! ( channelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_3 > ( ) ) ) . shareMode as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_3 ) , "::" , stringify ! ( shareMode ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_4 { pub noAutoConvertSRC : ma_bool32 , pub noDefaultQualitySRC : ma_bool32 , pub noAutoStreamRouting : ma_bool32 , pub noHardwareOffloading : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_4 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_4 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_4 > ( ) ) ) . noAutoConvertSRC as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_4 ) , "::" , stringify ! ( noAutoConvertSRC ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_4 > ( ) ) ) . noDefaultQualitySRC as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_4 ) , "::" , stringify ! ( noDefaultQualitySRC ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_4 > ( ) ) ) . noAutoStreamRouting as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_4 ) , "::" , stringify ! ( noAutoStreamRouting ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_4 > ( ) ) ) . noHardwareOffloading as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_4 ) , "::" , stringify ! ( noHardwareOffloading ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_5 { pub noMMap : ma_bool32 , pub noAutoFormat : ma_bool32 , pub noAutoChannels : ma_bool32 , pub noAutoResample : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_5 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_5 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_5 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_5 > ( ) ) ) . noMMap as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_5 ) , "::" , stringify ! ( noMMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_5 > ( ) ) ) . noAutoFormat as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_5 ) , "::" , stringify ! ( noAutoFormat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_5 > ( ) ) ) . noAutoChannels as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_5 ) , "::" , stringify ! ( noAutoChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_5 > ( ) ) ) . noAutoResample as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_5 ) , "::" , stringify ! ( noAutoResample ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device_config__bindgen_ty_6 { pub pStreamNamePlayback : * const :: std :: os :: raw :: c_char , pub pStreamNameCapture : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_ma_device_config__bindgen_ty_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config__bindgen_ty_6 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_device_config__bindgen_ty_6 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config__bindgen_ty_6 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config__bindgen_ty_6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_6 > ( ) ) ) . pStreamNamePlayback as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_6 ) , "::" , stringify ! ( pStreamNamePlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config__bindgen_ty_6 > ( ) ) ) . pStreamNameCapture as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config__bindgen_ty_6 ) , "::" , stringify ! ( pStreamNameCapture ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_device_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device_config > ( ) , 232usize , concat ! ( "Size of: " , stringify ! ( ma_device_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . deviceType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( deviceType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . sampleRate as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . periodSizeInFrames as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( periodSizeInFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . periodSizeInMilliseconds as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( periodSizeInMilliseconds ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . periods as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( periods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . performanceProfile as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( performanceProfile ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . noPreZeroedOutputBuffer as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( noPreZeroedOutputBuffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . noClip as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( noClip ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . dataCallback as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( dataCallback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . stopCallback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( stopCallback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . pUserData as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . resampling as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( resampling ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . playback as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( playback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . capture as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( capture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . wasapi as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( wasapi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . alsa as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( alsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device_config > ( ) ) ) . pulse as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( ma_device_config ) , "::" , stringify ! ( pulse ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context_config { pub logCallback : ma_log_proc , pub threadPriority : ma_thread_priority , pub threadStackSize : usize , pub pUserData : * mut :: std :: os :: raw :: c_void , pub allocationCallbacks : ma_allocation_callbacks , pub alsa : ma_context_config__bindgen_ty_1 , pub pulse : ma_context_config__bindgen_ty_2 , pub coreaudio : ma_context_config__bindgen_ty_3 , pub jack : ma_context_config__bindgen_ty_4 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context_config__bindgen_ty_1 { pub useVerboseDeviceEnumeration : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_context_config__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context_config__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_context_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context_config__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_context_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_1 > ( ) ) ) . useVerboseDeviceEnumeration as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_1 ) , "::" , stringify ! ( useVerboseDeviceEnumeration ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context_config__bindgen_ty_2 { pub pApplicationName : * const :: std :: os :: raw :: c_char , pub pServerName : * const :: std :: os :: raw :: c_char , pub tryAutoSpawn : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_context_config__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context_config__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ma_context_config__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context_config__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context_config__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_2 > ( ) ) ) . pApplicationName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_2 ) , "::" , stringify ! ( pApplicationName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_2 > ( ) ) ) . pServerName as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_2 ) , "::" , stringify ! ( pServerName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_2 > ( ) ) ) . tryAutoSpawn as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_2 ) , "::" , stringify ! ( tryAutoSpawn ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context_config__bindgen_ty_3 { pub sessionCategory : ma_ios_session_category , pub sessionCategoryOptions : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_context_config__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context_config__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ma_context_config__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context_config__bindgen_ty_3 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_context_config__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_3 > ( ) ) ) . sessionCategory as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_3 ) , "::" , stringify ! ( sessionCategory ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_3 > ( ) ) ) . sessionCategoryOptions as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_3 ) , "::" , stringify ! ( sessionCategoryOptions ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context_config__bindgen_ty_4 { pub pClientName : * const :: std :: os :: raw :: c_char , pub tryStartServer : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_context_config__bindgen_ty_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context_config__bindgen_ty_4 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_context_config__bindgen_ty_4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context_config__bindgen_ty_4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context_config__bindgen_ty_4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_4 > ( ) ) ) . pClientName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_4 ) , "::" , stringify ! ( pClientName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config__bindgen_ty_4 > ( ) ) ) . tryStartServer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config__bindgen_ty_4 ) , "::" , stringify ! ( tryStartServer ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_context_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context_config > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( ma_context_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . logCallback as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( logCallback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . threadPriority as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( threadPriority ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . threadStackSize as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( threadStackSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . pUserData as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . allocationCallbacks as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . alsa as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( alsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . pulse as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( pulse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . coreaudio as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( coreaudio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context_config > ( ) ) ) . jack as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_context_config ) , "::" , stringify ! ( jack ) ) ) ; } pub type ma_enum_devices_callback_proc = :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context , deviceType : ma_device_type , pInfo : * const ma_device_info , pUserData : * mut :: std :: os :: raw :: c_void ) -> ma_bool32 > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_context { pub backend : ma_backend , pub logCallback : ma_log_proc , pub threadPriority : ma_thread_priority , pub threadStackSize : usize , pub pUserData : * mut :: std :: os :: raw :: c_void , pub allocationCallbacks : ma_allocation_callbacks , pub deviceEnumLock : ma_mutex , pub deviceInfoLock : ma_mutex , pub deviceInfoCapacity : ma_uint32 , pub playbackDeviceInfoCount : ma_uint32 , pub captureDeviceInfoCount : ma_uint32 , pub pDeviceInfos : * mut ma_device_info , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub onUninit : :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context ) -> ma_result > , pub onDeviceIDEqual : :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context , pID0 : * const ma_device_id , pID1 : * const ma_device_id ) -> ma_bool32 > , pub onEnumDevices : :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context , callback : ma_enum_devices_callback_proc , pUserData : * mut :: std :: os :: raw :: c_void ) -> ma_result > , pub onGetDeviceInfo : :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context , deviceType : ma_device_type , pDeviceID : * const ma_device_id , shareMode : ma_share_mode , pDeviceInfo : * mut ma_device_info ) -> ma_result > , pub onDeviceInit : :: std :: option :: Option < unsafe extern "C" fn ( pContext : * mut ma_context , pConfig : * const ma_device_config , pDevice : * mut ma_device ) -> ma_result > , pub onDeviceUninit : :: std :: option :: Option < unsafe extern "C" fn ( pDevice : * mut ma_device ) > , pub onDeviceStart : :: std :: option :: Option < unsafe extern "C" fn ( pDevice : * mut ma_device ) -> ma_result > , pub onDeviceStop : :: std :: option :: Option < unsafe extern "C" fn ( pDevice : * mut ma_device ) -> ma_result > , pub onDeviceMainLoop : :: std :: option :: Option < unsafe extern "C" fn ( pDevice : * mut ma_device ) -> ma_result > , pub __bindgen_anon_1 : ma_context__bindgen_ty_1 , pub __bindgen_anon_2 : ma_context__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_context__bindgen_ty_1 { pub alsa : ma_context__bindgen_ty_1__bindgen_ty_1 , pub pulse : ma_context__bindgen_ty_1__bindgen_ty_2 , pub jack : ma_context__bindgen_ty_1__bindgen_ty_3 , pub null_backend : ma_context__bindgen_ty_1__bindgen_ty_4 , _bindgen_union_align : [ u64 ; 62usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_context__bindgen_ty_1__bindgen_ty_1 { pub asoundSO : ma_handle , pub snd_pcm_open : ma_proc , pub snd_pcm_close : ma_proc , pub snd_pcm_hw_params_sizeof : ma_proc , pub snd_pcm_hw_params_any : ma_proc , pub snd_pcm_hw_params_set_format : ma_proc , pub snd_pcm_hw_params_set_format_first : ma_proc , pub snd_pcm_hw_params_get_format_mask : ma_proc , pub snd_pcm_hw_params_set_channels_near : ma_proc , pub snd_pcm_hw_params_set_rate_resample : ma_proc , pub snd_pcm_hw_params_set_rate_near : ma_proc , pub snd_pcm_hw_params_set_buffer_size_near : ma_proc , pub snd_pcm_hw_params_set_periods_near : ma_proc , pub snd_pcm_hw_params_set_access : ma_proc , pub snd_pcm_hw_params_get_format : ma_proc , pub snd_pcm_hw_params_get_channels : ma_proc , pub snd_pcm_hw_params_get_channels_min : ma_proc , pub snd_pcm_hw_params_get_channels_max : ma_proc , pub snd_pcm_hw_params_get_rate : ma_proc , pub snd_pcm_hw_params_get_rate_min : ma_proc , pub snd_pcm_hw_params_get_rate_max : ma_proc , pub snd_pcm_hw_params_get_buffer_size : ma_proc , pub snd_pcm_hw_params_get_periods : ma_proc , pub snd_pcm_hw_params_get_access : ma_proc , pub snd_pcm_hw_params : ma_proc , pub snd_pcm_sw_params_sizeof : ma_proc , pub snd_pcm_sw_params_current : ma_proc , pub snd_pcm_sw_params_get_boundary : ma_proc , pub snd_pcm_sw_params_set_avail_min : ma_proc , pub snd_pcm_sw_params_set_start_threshold : ma_proc , pub snd_pcm_sw_params_set_stop_threshold : ma_proc , pub snd_pcm_sw_params : ma_proc , pub snd_pcm_format_mask_sizeof : ma_proc , pub snd_pcm_format_mask_test : ma_proc , pub snd_pcm_get_chmap : ma_proc , pub snd_pcm_state : ma_proc , pub snd_pcm_prepare : ma_proc , pub snd_pcm_start : ma_proc , pub snd_pcm_drop : ma_proc , pub snd_pcm_drain : ma_proc , pub snd_device_name_hint : ma_proc , pub snd_device_name_get_hint : ma_proc , pub snd_card_get_index : ma_proc , pub snd_device_name_free_hint : ma_proc , pub snd_pcm_mmap_begin : ma_proc , pub snd_pcm_mmap_commit : ma_proc , pub snd_pcm_recover : ma_proc , pub snd_pcm_readi : ma_proc , pub snd_pcm_writei : ma_proc , pub snd_pcm_avail : ma_proc , pub snd_pcm_avail_update : ma_proc , pub snd_pcm_wait : ma_proc , pub snd_pcm_info : ma_proc , pub snd_pcm_info_sizeof : ma_proc , pub snd_pcm_info_get_name : ma_proc , pub snd_config_update_free_global : ma_proc , pub internalDeviceEnumLock : ma_mutex , pub useVerboseDeviceEnumeration : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) , 496usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . asoundSO as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( asoundSO ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_open as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_open ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_close as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_sizeof as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_sizeof ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_any as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_any ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_format as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_format_first as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_format_first ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_format_mask as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_format_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_channels_near as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_channels_near ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_rate_resample as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_rate_resample ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_rate_near as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_rate_near ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_buffer_size_near as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_buffer_size_near ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_periods_near as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_periods_near ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_set_access as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_set_access ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_format as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_channels as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_channels_min as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_channels_min ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_channels_max as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_channels_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_rate as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_rate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_rate_min as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_rate_min ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_rate_max as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_rate_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_buffer_size as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_buffer_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_periods as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_periods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params_get_access as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params_get_access ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_hw_params as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_hw_params ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params_sizeof as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params_sizeof ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params_current as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params_current ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params_get_boundary as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params_get_boundary ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params_set_avail_min as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params_set_avail_min ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params_set_start_threshold as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params_set_start_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params_set_stop_threshold as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params_set_stop_threshold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_sw_params as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_sw_params ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_format_mask_sizeof as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_format_mask_sizeof ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_format_mask_test as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_format_mask_test ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_get_chmap as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_get_chmap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_state as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_prepare as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_start as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_drop as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_drop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_drain as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_drain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_device_name_hint as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_device_name_hint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_device_name_get_hint as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_device_name_get_hint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_card_get_index as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_card_get_index ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_device_name_free_hint as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_device_name_free_hint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_mmap_begin as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_mmap_begin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_mmap_commit as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_mmap_commit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_recover as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_recover ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_readi as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_readi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_writei as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_writei ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_avail as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_avail ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_avail_update as * const _ as usize } , 400usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_avail_update ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_wait as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_wait ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_info as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_info_sizeof as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_info_sizeof ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_pcm_info_get_name as * const _ as usize } , 432usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_pcm_info_get_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . snd_config_update_free_global as * const _ as usize } , 440usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( snd_config_update_free_global ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . internalDeviceEnumLock as * const _ as usize } , 448usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( internalDeviceEnumLock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . useVerboseDeviceEnumeration as * const _ as usize } , 488usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( useVerboseDeviceEnumeration ) ) ) ; } impl :: std :: fmt :: Debug for ma_context__bindgen_ty_1__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_context__bindgen_ty_1__bindgen_ty_1 {{ asoundSO: {:?}, snd_pcm_open: {:?}, snd_pcm_close: {:?}, snd_pcm_hw_params_sizeof: {:?}, snd_pcm_hw_params_any: {:?}, snd_pcm_hw_params_set_format: {:?}, snd_pcm_hw_params_set_format_first: {:?}, snd_pcm_hw_params_get_format_mask: {:?}, snd_pcm_hw_params_set_channels_near: {:?}, snd_pcm_hw_params_set_rate_resample: {:?}, snd_pcm_hw_params_set_rate_near: {:?}, snd_pcm_hw_params_set_buffer_size_near: {:?}, snd_pcm_hw_params_set_periods_near: {:?}, snd_pcm_hw_params_set_access: {:?}, snd_pcm_hw_params_get_format: {:?}, snd_pcm_hw_params_get_channels: {:?}, snd_pcm_hw_params_get_channels_min: {:?}, snd_pcm_hw_params_get_channels_max: {:?}, snd_pcm_hw_params_get_rate: {:?}, snd_pcm_hw_params_get_rate_min: {:?}, snd_pcm_hw_params_get_rate_max: {:?}, snd_pcm_hw_params_get_buffer_size: {:?}, snd_pcm_hw_params_get_periods: {:?}, snd_pcm_hw_params_get_access: {:?}, snd_pcm_hw_params: {:?}, snd_pcm_sw_params_sizeof: {:?}, snd_pcm_sw_params_current: {:?}, snd_pcm_sw_params_get_boundary: {:?}, snd_pcm_sw_params_set_avail_min: {:?}, snd_pcm_sw_params_set_start_threshold: {:?}, snd_pcm_sw_params_set_stop_threshold: {:?}, snd_pcm_sw_params: {:?}, snd_pcm_format_mask_sizeof: {:?}, snd_pcm_format_mask_test: {:?}, snd_pcm_get_chmap: {:?}, snd_pcm_state: {:?}, snd_pcm_prepare: {:?}, snd_pcm_start: {:?}, snd_pcm_drop: {:?}, snd_pcm_drain: {:?}, snd_device_name_hint: {:?}, snd_device_name_get_hint: {:?}, snd_card_get_index: {:?}, snd_device_name_free_hint: {:?}, snd_pcm_mmap_begin: {:?}, snd_pcm_mmap_commit: {:?}, snd_pcm_recover: {:?}, snd_pcm_readi: {:?}, snd_pcm_writei: {:?}, snd_pcm_avail: {:?}, snd_pcm_avail_update: {:?}, snd_pcm_wait: {:?}, snd_pcm_info: {:?}, snd_pcm_info_sizeof: {:?}, snd_pcm_info_get_name: {:?}, snd_config_update_free_global: {:?}, internalDeviceEnumLock: {:?}, useVerboseDeviceEnumeration: {:?} }}" , self . asoundSO , self . snd_pcm_open , self . snd_pcm_close , self . snd_pcm_hw_params_sizeof , self . snd_pcm_hw_params_any , self . snd_pcm_hw_params_set_format , self . snd_pcm_hw_params_set_format_first , self . snd_pcm_hw_params_get_format_mask , self . snd_pcm_hw_params_set_channels_near , self . snd_pcm_hw_params_set_rate_resample , self . snd_pcm_hw_params_set_rate_near , self . snd_pcm_hw_params_set_buffer_size_near , self . snd_pcm_hw_params_set_periods_near , self . snd_pcm_hw_params_set_access , self . snd_pcm_hw_params_get_format , self . snd_pcm_hw_params_get_channels , self . snd_pcm_hw_params_get_channels_min , self . snd_pcm_hw_params_get_channels_max , self . snd_pcm_hw_params_get_rate , self . snd_pcm_hw_params_get_rate_min , self . snd_pcm_hw_params_get_rate_max , self . snd_pcm_hw_params_get_buffer_size , self . snd_pcm_hw_params_get_periods , self . snd_pcm_hw_params_get_access , self . snd_pcm_hw_params , self . snd_pcm_sw_params_sizeof , self . snd_pcm_sw_params_current , self . snd_pcm_sw_params_get_boundary , self . snd_pcm_sw_params_set_avail_min , self . snd_pcm_sw_params_set_start_threshold , self . snd_pcm_sw_params_set_stop_threshold , self . snd_pcm_sw_params , self . snd_pcm_format_mask_sizeof , self . snd_pcm_format_mask_test , self . snd_pcm_get_chmap , self . snd_pcm_state , self . snd_pcm_prepare , self . snd_pcm_start , self . snd_pcm_drop , self . snd_pcm_drain , self . snd_device_name_hint , self . snd_device_name_get_hint , self . snd_card_get_index , self . snd_device_name_free_hint , self . snd_pcm_mmap_begin , self . snd_pcm_mmap_commit , self . snd_pcm_recover , self . snd_pcm_readi , self . snd_pcm_writei , self . snd_pcm_avail , self . snd_pcm_avail_update , self . snd_pcm_wait , self . snd_pcm_info , self . snd_pcm_info_sizeof , self . snd_pcm_info_get_name , self . snd_config_update_free_global , self . internalDeviceEnumLock , self . useVerboseDeviceEnumeration ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context__bindgen_ty_1__bindgen_ty_2 { pub pulseSO : ma_handle , pub pa_mainloop_new : ma_proc , pub pa_mainloop_free : ma_proc , pub pa_mainloop_get_api : ma_proc , pub pa_mainloop_iterate : ma_proc , pub pa_mainloop_wakeup : ma_proc , pub pa_context_new : ma_proc , pub pa_context_unref : ma_proc , pub pa_context_connect : ma_proc , pub pa_context_disconnect : ma_proc , pub pa_context_set_state_callback : ma_proc , pub pa_context_get_state : ma_proc , pub pa_context_get_sink_info_list : ma_proc , pub pa_context_get_source_info_list : ma_proc , pub pa_context_get_sink_info_by_name : ma_proc , pub pa_context_get_source_info_by_name : ma_proc , pub pa_operation_unref : ma_proc , pub pa_operation_get_state : ma_proc , pub pa_channel_map_init_extend : ma_proc , pub pa_channel_map_valid : ma_proc , pub pa_channel_map_compatible : ma_proc , pub pa_stream_new : ma_proc , pub pa_stream_unref : ma_proc , pub pa_stream_connect_playback : ma_proc , pub pa_stream_connect_record : ma_proc , pub pa_stream_disconnect : ma_proc , pub pa_stream_get_state : ma_proc , pub pa_stream_get_sample_spec : ma_proc , pub pa_stream_get_channel_map : ma_proc , pub pa_stream_get_buffer_attr : ma_proc , pub pa_stream_set_buffer_attr : ma_proc , pub pa_stream_get_device_name : ma_proc , pub pa_stream_set_write_callback : ma_proc , pub pa_stream_set_read_callback : ma_proc , pub pa_stream_flush : ma_proc , pub pa_stream_drain : ma_proc , pub pa_stream_is_corked : ma_proc , pub pa_stream_cork : ma_proc , pub pa_stream_trigger : ma_proc , pub pa_stream_begin_write : ma_proc , pub pa_stream_write : ma_proc , pub pa_stream_peek : ma_proc , pub pa_stream_drop : ma_proc , pub pa_stream_writable_size : ma_proc , pub pa_stream_readable_size : ma_proc , pub pApplicationName : * mut :: std :: os :: raw :: c_char , pub pServerName : * mut :: std :: os :: raw :: c_char , pub tryAutoSpawn : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) , 384usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pulseSO as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pulseSO ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_mainloop_new as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_mainloop_new ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_mainloop_free as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_mainloop_free ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_mainloop_get_api as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_mainloop_get_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_mainloop_iterate as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_mainloop_iterate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_mainloop_wakeup as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_mainloop_wakeup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_new as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_new ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_unref as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_unref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_connect as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_disconnect as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_disconnect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_set_state_callback as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_set_state_callback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_get_state as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_get_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_get_sink_info_list as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_get_sink_info_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_get_source_info_list as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_get_source_info_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_get_sink_info_by_name as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_get_sink_info_by_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_context_get_source_info_by_name as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_context_get_source_info_by_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_operation_unref as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_operation_unref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_operation_get_state as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_operation_get_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_channel_map_init_extend as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_channel_map_init_extend ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_channel_map_valid as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_channel_map_valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_channel_map_compatible as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_channel_map_compatible ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_new as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_new ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_unref as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_unref ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_connect_playback as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_connect_playback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_connect_record as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_connect_record ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_disconnect as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_disconnect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_get_state as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_get_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_get_sample_spec as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_get_sample_spec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_get_channel_map as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_get_channel_map ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_get_buffer_attr as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_get_buffer_attr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_set_buffer_attr as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_set_buffer_attr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_get_device_name as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_get_device_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_set_write_callback as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_set_write_callback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_set_read_callback as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_set_read_callback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_flush as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_flush ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_drain as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_drain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_is_corked as * const _ as usize } , 288usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_is_corked ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_cork as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_cork ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_trigger as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_trigger ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_begin_write as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_begin_write ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_write as * const _ as usize } , 320usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_write ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_peek as * const _ as usize } , 328usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_peek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_drop as * const _ as usize } , 336usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_drop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_writable_size as * const _ as usize } , 344usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_writable_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pa_stream_readable_size as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pa_stream_readable_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pApplicationName as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pApplicationName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pServerName as * const _ as usize } , 368usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pServerName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . tryAutoSpawn as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( tryAutoSpawn ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context__bindgen_ty_1__bindgen_ty_3 { pub jackSO : ma_handle , pub jack_client_open : ma_proc , pub jack_client_close : ma_proc , pub jack_client_name_size : ma_proc , pub jack_set_process_callback : ma_proc , pub jack_set_buffer_size_callback : ma_proc , pub jack_on_shutdown : ma_proc , pub jack_get_sample_rate : ma_proc , pub jack_get_buffer_size : ma_proc , pub jack_get_ports : ma_proc , pub jack_activate : ma_proc , pub jack_deactivate : ma_proc , pub jack_connect : ma_proc , pub jack_port_register : ma_proc , pub jack_port_name : ma_proc , pub jack_port_get_buffer : ma_proc , pub jack_free : ma_proc , pub pClientName : * mut :: std :: os :: raw :: c_char , pub tryStartServer : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_1__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jackSO as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jackSO ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_client_open as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_client_open ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_client_close as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_client_close ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_client_name_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_client_name_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_set_process_callback as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_set_process_callback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_set_buffer_size_callback as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_set_buffer_size_callback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_on_shutdown as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_on_shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_get_sample_rate as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_get_sample_rate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_get_buffer_size as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_get_buffer_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_get_ports as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_get_ports ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_activate as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_activate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_deactivate as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_deactivate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_connect as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_port_register as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_port_register ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_port_name as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_port_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_port_get_buffer as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_port_get_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . jack_free as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( jack_free ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . pClientName as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( pClientName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . tryStartServer as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( tryStartServer ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context__bindgen_ty_1__bindgen_ty_4 { pub _unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_1__bindgen_ty_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_1__bindgen_ty_4 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_1__bindgen_ty_4 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1__bindgen_ty_4 > ( ) ) ) . _unused as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( _unused ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_1 > ( ) , 496usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1 > ( ) ) ) . alsa as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1 ) , "::" , stringify ! ( alsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1 > ( ) ) ) . pulse as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1 ) , "::" , stringify ! ( pulse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1 > ( ) ) ) . jack as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1 ) , "::" , stringify ! ( jack ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_1 > ( ) ) ) . null_backend as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_1 ) , "::" , stringify ! ( null_backend ) ) ) ; } impl :: std :: fmt :: Debug for ma_context__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_context__bindgen_ty_1 {{ union }}" ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_context__bindgen_ty_2 { pub posix : ma_context__bindgen_ty_2__bindgen_ty_1 , pub _unused : :: std :: os :: raw :: c_int , _bindgen_union_align : [ u64 ; 16usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_context__bindgen_ty_2__bindgen_ty_1 { pub pthreadSO : ma_handle , pub pthread_create : ma_proc , pub pthread_join : ma_proc , pub pthread_mutex_init : ma_proc , pub pthread_mutex_destroy : ma_proc , pub pthread_mutex_lock : ma_proc , pub pthread_mutex_unlock : ma_proc , pub pthread_cond_init : ma_proc , pub pthread_cond_destroy : ma_proc , pub pthread_cond_wait : ma_proc , pub pthread_cond_signal : ma_proc , pub pthread_attr_init : ma_proc , pub pthread_attr_destroy : ma_proc , pub pthread_attr_setschedpolicy : ma_proc , pub pthread_attr_getschedparam : ma_proc , pub pthread_attr_setschedparam : ma_proc , } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_2__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthreadSO as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthreadSO ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_create as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_create ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_join as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_join ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_mutex_init as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_mutex_init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_mutex_destroy as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_mutex_destroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_mutex_lock as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_mutex_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_mutex_unlock as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_mutex_unlock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_cond_init as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_cond_init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_cond_destroy as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_cond_destroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_cond_wait as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_cond_wait ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_cond_signal as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_cond_signal ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_attr_init as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_attr_init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_attr_destroy as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_attr_destroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_attr_setschedpolicy as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_attr_setschedpolicy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_attr_getschedparam as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_attr_getschedparam ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . pthread_attr_setschedparam as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( pthread_attr_setschedparam ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_context__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context__bindgen_ty_2 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( ma_context__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2 > ( ) ) ) . posix as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2 ) , "::" , stringify ! ( posix ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context__bindgen_ty_2 > ( ) ) ) . _unused as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context__bindgen_ty_2 ) , "::" , stringify ! ( _unused ) ) ) ; } impl :: std :: fmt :: Debug for ma_context__bindgen_ty_2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_context__bindgen_ty_2 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_context ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_context > ( ) , 880usize , concat ! ( "Size of: " , stringify ! ( ma_context ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_context > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_context ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . backend as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( backend ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . logCallback as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( logCallback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . threadPriority as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( threadPriority ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . threadStackSize as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( threadStackSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . pUserData as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . allocationCallbacks as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . deviceEnumLock as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( deviceEnumLock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . deviceInfoLock as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( deviceInfoLock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . deviceInfoCapacity as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( deviceInfoCapacity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . playbackDeviceInfoCount as * const _ as usize } , 156usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( playbackDeviceInfoCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . captureDeviceInfoCount as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( captureDeviceInfoCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . pDeviceInfos as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( pDeviceInfos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onUninit as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onUninit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onDeviceIDEqual as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onDeviceIDEqual ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onEnumDevices as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onEnumDevices ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onGetDeviceInfo as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onGetDeviceInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onDeviceInit as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onDeviceInit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onDeviceUninit as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onDeviceUninit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onDeviceStart as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onDeviceStart ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onDeviceStop as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onDeviceStop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_context > ( ) ) ) . onDeviceMainLoop as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( ma_context ) , "::" , stringify ! ( onDeviceMainLoop ) ) ) ; } impl :: std :: fmt :: Debug for ma_context { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_context {{ backend: {:?}, logCallback: {:?}, threadPriority: {:?}, threadStackSize: {:?}, pUserData: {:?}, allocationCallbacks: {:?}, deviceEnumLock: {:?}, deviceInfoLock: {:?}, deviceInfoCapacity: {:?}, playbackDeviceInfoCount: {:?}, captureDeviceInfoCount: {:?}, pDeviceInfos: {:?}, isBackendAsynchronous : {:?}, onUninit: {:?}, onDeviceIDEqual: {:?}, onEnumDevices: {:?}, onGetDeviceInfo: {:?}, onDeviceInit: {:?}, onDeviceUninit: {:?}, onDeviceStart: {:?}, onDeviceStop: {:?}, onDeviceMainLoop: {:?}, __bindgen_anon_1: {:?}, __bindgen_anon_2: {:?} }}" , self . backend , self . logCallback , self . threadPriority , self . threadStackSize , self . pUserData , self . allocationCallbacks , self . deviceEnumLock , self . deviceInfoLock , self . deviceInfoCapacity , self . playbackDeviceInfoCount , self . captureDeviceInfoCount , self . pDeviceInfos , self . isBackendAsynchronous ( ) , self . onUninit , self . onDeviceIDEqual , self . onEnumDevices , self . onGetDeviceInfo , self . onDeviceInit , self . onDeviceUninit , self . onDeviceStart , self . onDeviceStop , self . onDeviceMainLoop , self . __bindgen_anon_1 , self . __bindgen_anon_2 ) } } impl ma_context { # [ inline ] pub fn isBackendAsynchronous ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isBackendAsynchronous ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( isBackendAsynchronous : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let isBackendAsynchronous : u32 = unsafe { :: std :: mem :: transmute ( isBackendAsynchronous ) } ; isBackendAsynchronous as u64 } ) ; __bindgen_bitfield_unit } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_device { pub pContext : * mut ma_context , pub type_ : ma_device_type , pub sampleRate : ma_uint32 , pub state : ma_uint32 , pub onData : ma_device_callback_proc , pub onStop : ma_stop_proc , pub pUserData : * mut :: std :: os :: raw :: c_void , pub lock : ma_mutex , pub wakeupEvent : ma_event , pub startEvent : ma_event , pub stopEvent : ma_event , pub thread : ma_thread , pub workResult : ma_result , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub masterVolumeFactor : f32 , pub resampling : ma_device__bindgen_ty_1 , pub playback : ma_device__bindgen_ty_2 , pub capture : ma_device__bindgen_ty_3 , pub __bindgen_anon_1 : ma_device__bindgen_ty_4 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device__bindgen_ty_1 { pub algorithm : ma_resample_algorithm , pub linear : ma_device__bindgen_ty_1__bindgen_ty_1 , pub speex : ma_device__bindgen_ty_1__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device__bindgen_ty_1__bindgen_ty_1 { pub lpfOrder : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . lpfOrder as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( lpfOrder ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device__bindgen_ty_1__bindgen_ty_2 { pub quality : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . quality as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( quality ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_1 > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_1 > ( ) ) ) . algorithm as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_1 ) , "::" , stringify ! ( algorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_1 > ( ) ) ) . linear as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_1 ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_1 > ( ) ) ) . speex as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_1 ) , "::" , stringify ! ( speex ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_device__bindgen_ty_2 { pub name : [ :: std :: os :: raw :: c_char ; 256usize ] , pub shareMode : ma_share_mode , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub format : ma_format , pub channels : ma_uint32 , pub channelMap : [ ma_channel ; 32usize ] , pub internalFormat : ma_format , pub internalChannels : ma_uint32 , pub internalSampleRate : ma_uint32 , pub internalChannelMap : [ ma_channel ; 32usize ] , pub internalPeriodSizeInFrames : ma_uint32 , pub internalPeriods : ma_uint32 , pub converter : ma_data_converter , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_2 > ( ) , 10456usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . shareMode as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( shareMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . format as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . channels as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . channelMap as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( channelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . internalFormat as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( internalFormat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . internalChannels as * const _ as usize } , 308usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( internalChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . internalSampleRate as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( internalSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . internalChannelMap as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( internalChannelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . internalPeriodSizeInFrames as * const _ as usize } , 348usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( internalPeriodSizeInFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . internalPeriods as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( internalPeriods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_2 > ( ) ) ) . converter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_2 ) , "::" , stringify ! ( converter ) ) ) ; } impl :: std :: fmt :: Debug for ma_device__bindgen_ty_2 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device__bindgen_ty_2 {{ name: [{}], shareMode: {:?}, usingDefaultFormat : {:?}, usingDefaultChannels : {:?}, usingDefaultChannelMap : {:?}, format: {:?}, channels: {:?}, channelMap: [{}], internalFormat: {:?}, internalChannels: {:?}, internalSampleRate: {:?}, internalChannelMap: [{}], internalPeriodSizeInFrames: {:?}, internalPeriods: {:?}, converter: {:?} }}" , self . name . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . shareMode , self . usingDefaultFormat ( ) , self . usingDefaultChannels ( ) , self . usingDefaultChannelMap ( ) , self . format , self . channels , self . channelMap . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . internalFormat , self . internalChannels , self . internalSampleRate , self . internalChannelMap . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . internalPeriodSizeInFrames , self . internalPeriods , self . converter ) } } impl ma_device__bindgen_ty_2 { # [ inline ] pub fn usingDefaultFormat ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultFormat ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn usingDefaultChannels ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultChannels ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn usingDefaultChannelMap ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 2usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultChannelMap ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 2usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( usingDefaultFormat : ma_bool32 , usingDefaultChannels : ma_bool32 , usingDefaultChannelMap : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let usingDefaultFormat : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultFormat ) } ; usingDefaultFormat as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let usingDefaultChannels : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultChannels ) } ; usingDefaultChannels as u64 } ) ; __bindgen_bitfield_unit . set ( 2usize , 1u8 , { let usingDefaultChannelMap : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultChannelMap ) } ; usingDefaultChannelMap as u64 } ) ; __bindgen_bitfield_unit } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_device__bindgen_ty_3 { pub name : [ :: std :: os :: raw :: c_char ; 256usize ] , pub shareMode : ma_share_mode , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub format : ma_format , pub channels : ma_uint32 , pub channelMap : [ ma_channel ; 32usize ] , pub internalFormat : ma_format , pub internalChannels : ma_uint32 , pub internalSampleRate : ma_uint32 , pub internalChannelMap : [ ma_channel ; 32usize ] , pub internalPeriodSizeInFrames : ma_uint32 , pub internalPeriods : ma_uint32 , pub converter : ma_data_converter , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_3 > ( ) , 10456usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . shareMode as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( shareMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . format as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . channels as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . channelMap as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( channelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . internalFormat as * const _ as usize } , 304usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( internalFormat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . internalChannels as * const _ as usize } , 308usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( internalChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . internalSampleRate as * const _ as usize } , 312usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( internalSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . internalChannelMap as * const _ as usize } , 316usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( internalChannelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . internalPeriodSizeInFrames as * const _ as usize } , 348usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( internalPeriodSizeInFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . internalPeriods as * const _ as usize } , 352usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( internalPeriods ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_3 > ( ) ) ) . converter as * const _ as usize } , 360usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_3 ) , "::" , stringify ! ( converter ) ) ) ; } impl :: std :: fmt :: Debug for ma_device__bindgen_ty_3 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device__bindgen_ty_3 {{ name: [{}], shareMode: {:?}, usingDefaultFormat : {:?}, usingDefaultChannels : {:?}, usingDefaultChannelMap : {:?}, format: {:?}, channels: {:?}, channelMap: [{}], internalFormat: {:?}, internalChannels: {:?}, internalSampleRate: {:?}, internalChannelMap: [{}], internalPeriodSizeInFrames: {:?}, internalPeriods: {:?}, converter: {:?} }}" , self . name . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . shareMode , self . usingDefaultFormat ( ) , self . usingDefaultChannels ( ) , self . usingDefaultChannelMap ( ) , self . format , self . channels , self . channelMap . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . internalFormat , self . internalChannels , self . internalSampleRate , self . internalChannelMap . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . internalPeriodSizeInFrames , self . internalPeriods , self . converter ) } } impl ma_device__bindgen_ty_3 { # [ inline ] pub fn usingDefaultFormat ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultFormat ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn usingDefaultChannels ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultChannels ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn usingDefaultChannelMap ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 2usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultChannelMap ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 2usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( usingDefaultFormat : ma_bool32 , usingDefaultChannels : ma_bool32 , usingDefaultChannelMap : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let usingDefaultFormat : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultFormat ) } ; usingDefaultFormat as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let usingDefaultChannels : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultChannels ) } ; usingDefaultChannels as u64 } ) ; __bindgen_bitfield_unit . set ( 2usize , 1u8 , { let usingDefaultChannelMap : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultChannelMap ) } ; usingDefaultChannelMap as u64 } ) ; __bindgen_bitfield_unit } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_device__bindgen_ty_4 { pub alsa : ma_device__bindgen_ty_4__bindgen_ty_1 , pub pulse : ma_device__bindgen_ty_4__bindgen_ty_2 , pub jack : ma_device__bindgen_ty_4__bindgen_ty_3 , pub null_device : ma_device__bindgen_ty_4__bindgen_ty_4 , _bindgen_union_align : [ u64 ; 76usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device__bindgen_ty_4__bindgen_ty_1 { pub pPCMPlayback : ma_ptr , pub pPCMCapture : ma_ptr , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_4__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_4__bindgen_ty_1 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_4__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_1 > ( ) ) ) . pPCMPlayback as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_1 ) , "::" , stringify ! ( pPCMPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_1 > ( ) ) ) . pPCMCapture as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_1 ) , "::" , stringify ! ( pPCMCapture ) ) ) ; } impl ma_device__bindgen_ty_4__bindgen_ty_1 { # [ inline ] pub fn isUsingMMapPlayback ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isUsingMMapPlayback ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn isUsingMMapCapture ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isUsingMMapCapture ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( isUsingMMapPlayback : ma_bool32 , isUsingMMapCapture : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let isUsingMMapPlayback : u32 = unsafe { :: std :: mem :: transmute ( isUsingMMapPlayback ) } ; isUsingMMapPlayback as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let isUsingMMapCapture : u32 = unsafe { :: std :: mem :: transmute ( isUsingMMapCapture ) } ; isUsingMMapCapture as u64 } ) ; __bindgen_bitfield_unit } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device__bindgen_ty_4__bindgen_ty_2 { pub pMainLoop : ma_ptr , pub pAPI : ma_ptr , pub pPulseContext : ma_ptr , pub pStreamPlayback : ma_ptr , pub pStreamCapture : ma_ptr , pub pulseContextState : ma_uint32 , pub pMappedBufferPlayback : * mut :: std :: os :: raw :: c_void , pub pMappedBufferCapture : * const :: std :: os :: raw :: c_void , pub mappedBufferFramesRemainingPlayback : ma_uint32 , pub mappedBufferFramesRemainingCapture : ma_uint32 , pub mappedBufferFramesCapacityPlayback : ma_uint32 , pub mappedBufferFramesCapacityCapture : ma_uint32 , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_4__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pMainLoop as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pMainLoop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pAPI as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pAPI ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pPulseContext as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pPulseContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pStreamPlayback as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pStreamPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pStreamCapture as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pStreamCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pulseContextState as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pulseContextState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pMappedBufferPlayback as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pMappedBufferPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . pMappedBufferCapture as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( pMappedBufferCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . mappedBufferFramesRemainingPlayback as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( mappedBufferFramesRemainingPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . mappedBufferFramesRemainingCapture as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( mappedBufferFramesRemainingCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . mappedBufferFramesCapacityPlayback as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( mappedBufferFramesCapacityPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_2 > ( ) ) ) . mappedBufferFramesCapacityCapture as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_2 ) , "::" , stringify ! ( mappedBufferFramesCapacityCapture ) ) ) ; } impl ma_device__bindgen_ty_4__bindgen_ty_2 { # [ inline ] pub fn breakFromMainLoop ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_breakFromMainLoop ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( breakFromMainLoop : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let breakFromMainLoop : u32 = unsafe { :: std :: mem :: transmute ( breakFromMainLoop ) } ; breakFromMainLoop as u64 } ) ; __bindgen_bitfield_unit } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_device__bindgen_ty_4__bindgen_ty_3 { pub pClient : ma_ptr , pub pPortsPlayback : [ ma_ptr ; 32usize ] , pub pPortsCapture : [ ma_ptr ; 32usize ] , pub pIntermediaryBufferPlayback : * mut f32 , pub pIntermediaryBufferCapture : * mut f32 , pub duplexRB : ma_pcm_rb , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_4__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) , 608usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) ) ) . pClient as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) , "::" , stringify ! ( pClient ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) ) ) . pPortsPlayback as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) , "::" , stringify ! ( pPortsPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) ) ) . pPortsCapture as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) , "::" , stringify ! ( pPortsCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) ) ) . pIntermediaryBufferPlayback as * const _ as usize } , 520usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) , "::" , stringify ! ( pIntermediaryBufferPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) ) ) . pIntermediaryBufferCapture as * const _ as usize } , 528usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) , "::" , stringify ! ( pIntermediaryBufferCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_3 > ( ) ) ) . duplexRB as * const _ as usize } , 536usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_3 ) , "::" , stringify ! ( duplexRB ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_device__bindgen_ty_4__bindgen_ty_4 { pub deviceThread : ma_thread , pub operationEvent : ma_event , pub operationCompletionEvent : ma_event , pub operation : ma_uint32 , pub operationResult : ma_result , pub timer : ma_timer , pub priorRunTime : f64 , pub currentPeriodFramesRemainingPlayback : ma_uint32 , pub currentPeriodFramesRemainingCapture : ma_uint32 , pub lastProcessedFramePlayback : ma_uint64 , pub lastProcessedFrameCapture : ma_uint32 , pub isStarted : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_4__bindgen_ty_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) , 248usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . deviceThread as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( deviceThread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . operationEvent as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( operationEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . operationCompletionEvent as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( operationCompletionEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . operation as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( operation ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . operationResult as * const _ as usize } , 204usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( operationResult ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . timer as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . priorRunTime as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( priorRunTime ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . currentPeriodFramesRemainingPlayback as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( currentPeriodFramesRemainingPlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . currentPeriodFramesRemainingCapture as * const _ as usize } , 228usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( currentPeriodFramesRemainingCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . lastProcessedFramePlayback as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( lastProcessedFramePlayback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . lastProcessedFrameCapture as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( lastProcessedFrameCapture ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4__bindgen_ty_4 > ( ) ) ) . isStarted as * const _ as usize } , 244usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4__bindgen_ty_4 ) , "::" , stringify ! ( isStarted ) ) ) ; } impl :: std :: fmt :: Debug for ma_device__bindgen_ty_4__bindgen_ty_4 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device__bindgen_ty_4__bindgen_ty_4 {{ deviceThread: {:?}, operationEvent: {:?}, operationCompletionEvent: {:?}, operation: {:?}, operationResult: {:?}, timer: {:?}, priorRunTime: {:?}, currentPeriodFramesRemainingPlayback: {:?}, currentPeriodFramesRemainingCapture: {:?}, lastProcessedFramePlayback: {:?}, lastProcessedFrameCapture: {:?}, isStarted: {:?} }}" , self . deviceThread , self . operationEvent , self . operationCompletionEvent , self . operation , self . operationResult , self . timer , self . priorRunTime , self . currentPeriodFramesRemainingPlayback , self . currentPeriodFramesRemainingCapture , self . lastProcessedFramePlayback , self . lastProcessedFrameCapture , self . isStarted ) } } # [ test ] fn bindgen_test_layout_ma_device__bindgen_ty_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device__bindgen_ty_4 > ( ) , 608usize , concat ! ( "Size of: " , stringify ! ( ma_device__bindgen_ty_4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device__bindgen_ty_4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device__bindgen_ty_4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4 > ( ) ) ) . alsa as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4 ) , "::" , stringify ! ( alsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4 > ( ) ) ) . pulse as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4 ) , "::" , stringify ! ( pulse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4 > ( ) ) ) . jack as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4 ) , "::" , stringify ! ( jack ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device__bindgen_ty_4 > ( ) ) ) . null_device as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device__bindgen_ty_4 ) , "::" , stringify ! ( null_device ) ) ) ; } impl :: std :: fmt :: Debug for ma_device__bindgen_ty_4 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device__bindgen_ty_4 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_device ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_device > ( ) , 21928usize , concat ! ( "Size of: " , stringify ! ( ma_device ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_device > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_device ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . pContext as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( pContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . sampleRate as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . state as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . onData as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( onData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . onStop as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( onStop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . pUserData as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . lock as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . wakeupEvent as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( wakeupEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . startEvent as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( startEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . stopEvent as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( stopEvent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . thread as * const _ as usize } , 376usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( thread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . workResult as * const _ as usize } , 384usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( workResult ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . masterVolumeFactor as * const _ as usize } , 392usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( masterVolumeFactor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . resampling as * const _ as usize } , 396usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( resampling ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . playback as * const _ as usize } , 408usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( playback ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_device > ( ) ) ) . capture as * const _ as usize } , 10864usize , concat ! ( "Offset of field: " , stringify ! ( ma_device ) , "::" , stringify ! ( capture ) ) ) ; } impl :: std :: fmt :: Debug for ma_device { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_device {{ pContext: {:?}, type: {:?}, sampleRate: {:?}, state: {:?}, onData: {:?}, onStop: {:?}, pUserData: {:?}, lock: {:?}, wakeupEvent: {:?}, startEvent: {:?}, stopEvent: {:?}, thread: {:?}, workResult: {:?}, usingDefaultSampleRate : {:?}, usingDefaultBufferSize : {:?}, usingDefaultPeriods : {:?}, isOwnerOfContext : {:?}, noPreZeroedOutputBuffer : {:?}, noClip : {:?}, masterVolumeFactor: {:?}, resampling: {:?}, playback: {:?}, capture: {:?}, __bindgen_anon_1: {:?} }}" , self . pContext , self . type_ , self . sampleRate , self . state , self . onData , self . onStop , self . pUserData , self . lock , self . wakeupEvent , self . startEvent , self . stopEvent , self . thread , self . workResult , self . usingDefaultSampleRate ( ) , self . usingDefaultBufferSize ( ) , self . usingDefaultPeriods ( ) , self . isOwnerOfContext ( ) , self . noPreZeroedOutputBuffer ( ) , self . noClip ( ) , self . masterVolumeFactor , self . resampling , self . playback , self . capture , self . __bindgen_anon_1 ) } } impl ma_device { # [ inline ] pub fn usingDefaultSampleRate ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultSampleRate ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn usingDefaultBufferSize ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultBufferSize ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn usingDefaultPeriods ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 2usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_usingDefaultPeriods ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 2usize , 1u8 , val as u64 ) } } # [ inline ] pub fn isOwnerOfContext ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 3usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_isOwnerOfContext ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 3usize , 1u8 , val as u64 ) } } # [ inline ] pub fn noPreZeroedOutputBuffer ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 4usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_noPreZeroedOutputBuffer ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 4usize , 1u8 , val as u64 ) } } # [ inline ] pub fn noClip ( & self ) -> ma_bool32 { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 5usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_noClip ( & mut self , val : ma_bool32 ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 5usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( usingDefaultSampleRate : ma_bool32 , usingDefaultBufferSize : ma_bool32 , usingDefaultPeriods : ma_bool32 , isOwnerOfContext : ma_bool32 , noPreZeroedOutputBuffer : ma_bool32 , noClip : ma_bool32 ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let usingDefaultSampleRate : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultSampleRate ) } ; usingDefaultSampleRate as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let usingDefaultBufferSize : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultBufferSize ) } ; usingDefaultBufferSize as u64 } ) ; __bindgen_bitfield_unit . set ( 2usize , 1u8 , { let usingDefaultPeriods : u32 = unsafe { :: std :: mem :: transmute ( usingDefaultPeriods ) } ; usingDefaultPeriods as u64 } ) ; __bindgen_bitfield_unit . set ( 3usize , 1u8 , { let isOwnerOfContext : u32 = unsafe { :: std :: mem :: transmute ( isOwnerOfContext ) } ; isOwnerOfContext as u64 } ) ; __bindgen_bitfield_unit . set ( 4usize , 1u8 , { let noPreZeroedOutputBuffer : u32 = unsafe { :: std :: mem :: transmute ( noPreZeroedOutputBuffer ) } ; noPreZeroedOutputBuffer as u64 } ) ; __bindgen_bitfield_unit . set ( 5usize , 1u8 , { let noClip : u32 = unsafe { :: std :: mem :: transmute ( noClip ) } ; noClip as u64 } ) ; __bindgen_bitfield_unit } } extern "C" { pub fn ma_context_config_init ( ) -> ma_context_config ; } extern "C" { pub fn ma_context_init ( backends : * const ma_backend , backendCount : ma_uint32 , pConfig : * const ma_context_config , pContext : * mut ma_context ) -> ma_result ; } extern "C" { pub fn ma_context_uninit ( pContext : * mut ma_context ) -> ma_result ; } extern "C" { pub fn ma_context_sizeof ( ) -> usize ; } extern "C" { pub fn ma_context_enumerate_devices ( pContext : * mut ma_context , callback : ma_enum_devices_callback_proc , pUserData : * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_context_get_devices ( pContext : * mut ma_context , ppPlaybackDeviceInfos : * mut * mut ma_device_info , pPlaybackDeviceCount : * mut ma_uint32 , ppCaptureDeviceInfos : * mut * mut ma_device_info , pCaptureDeviceCount : * mut ma_uint32 ) -> ma_result ; } extern "C" { pub fn ma_context_get_device_info ( pContext : * mut ma_context , deviceType : ma_device_type , pDeviceID : * const ma_device_id , shareMode : ma_share_mode , pDeviceInfo : * mut ma_device_info ) -> ma_result ; } extern "C" { pub fn ma_context_is_loopback_supported ( pContext : * mut ma_context ) -> ma_bool32 ; } extern "C" { pub fn ma_device_config_init ( deviceType : ma_device_type ) -> ma_device_config ; } extern "C" { pub fn ma_device_init ( pContext : * mut ma_context , pConfig : * const ma_device_config , pDevice : * mut ma_device ) -> ma_result ; } extern "C" { pub fn ma_device_init_ex ( backends : * const ma_backend , backendCount : ma_uint32 , pContextConfig : * const ma_context_config , pConfig : * const ma_device_config , pDevice : * mut ma_device ) -> ma_result ; } extern "C" { pub fn ma_device_uninit ( pDevice : * mut ma_device ) ; } extern "C" { pub fn ma_device_start ( pDevice : * mut ma_device ) -> ma_result ; } extern "C" { pub fn ma_device_stop ( pDevice : * mut ma_device ) -> ma_result ; } extern "C" { pub fn ma_device_is_started ( pDevice : * mut ma_device ) -> ma_bool32 ; } extern "C" { pub fn ma_device_set_master_volume ( pDevice : * mut ma_device , volume : f32 ) -> ma_result ; } extern "C" { pub fn ma_device_get_master_volume ( pDevice : * mut ma_device , pVolume : * mut f32 ) -> ma_result ; } extern "C" { pub fn ma_device_set_master_gain_db ( pDevice : * mut ma_device , gainDB : f32 ) -> ma_result ; } extern "C" { pub fn ma_device_get_master_gain_db ( pDevice : * mut ma_device , pGainDB : * mut f32 ) -> ma_result ; } extern "C" { pub fn ma_get_backend_name ( backend : ma_backend ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ma_is_loopback_supported ( backend : ma_backend ) -> ma_bool32 ; } extern "C" { pub fn ma_spinlock_lock ( pSpinlock : * mut ma_spinlock ) -> ma_result ; } extern "C" { pub fn ma_spinlock_lock_noyield ( pSpinlock : * mut ma_spinlock ) -> ma_result ; } extern "C" { pub fn ma_spinlock_unlock ( pSpinlock : * mut ma_spinlock ) -> ma_result ; } extern "C" { pub fn ma_mutex_init ( pMutex : * mut ma_mutex ) -> ma_result ; } extern "C" { pub fn ma_mutex_uninit ( pMutex : * mut ma_mutex ) ; } extern "C" { pub fn ma_mutex_lock ( pMutex : * mut ma_mutex ) ; } extern "C" { pub fn ma_mutex_unlock ( pMutex : * mut ma_mutex ) ; } extern "C" { pub fn ma_event_init ( pEvent : * mut ma_event ) -> ma_result ; } extern "C" { pub fn ma_event_uninit ( pEvent : * mut ma_event ) ; } extern "C" { pub fn ma_event_wait ( pEvent : * mut ma_event ) -> ma_result ; } extern "C" { pub fn ma_event_signal ( pEvent : * mut ma_event ) -> ma_result ; } extern "C" { # [ doc = "Utiltities" ] pub fn ma_scale_buffer_size ( baseBufferSize : ma_uint32 , scale : f32 ) -> ma_uint32 ; } extern "C" { pub fn ma_calculate_buffer_size_in_milliseconds_from_frames ( bufferSizeInFrames : ma_uint32 , sampleRate : ma_uint32 ) -> ma_uint32 ; } extern "C" { pub fn ma_calculate_buffer_size_in_frames_from_milliseconds ( bufferSizeInMilliseconds : ma_uint32 , sampleRate : ma_uint32 ) -> ma_uint32 ; } extern "C" { pub fn ma_copy_pcm_frames ( dst : * mut :: std :: os :: raw :: c_void , src : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 , format : ma_format , channels : ma_uint32 ) ; } extern "C" { pub fn ma_silence_pcm_frames ( p : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 , format : ma_format , channels : ma_uint32 ) ; } extern "C" { pub fn ma_offset_pcm_frames_ptr ( p : * mut :: std :: os :: raw :: c_void , offsetInFrames : ma_uint64 , format : ma_format , channels : ma_uint32 ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ma_offset_pcm_frames_const_ptr ( p : * const :: std :: os :: raw :: c_void , offsetInFrames : ma_uint64 , format : ma_format , channels : ma_uint32 ) -> * const :: std :: os :: raw :: c_void ; } extern "C" { pub fn ma_clip_samples_f32 ( p : * mut f32 , sampleCount : ma_uint64 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_u8 ( pSamplesOut : * mut ma_uint8 , pSamplesIn : * const ma_uint8 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_s16 ( pSamplesOut : * mut ma_int16 , pSamplesIn : * const ma_int16 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_s24 ( pSamplesOut : * mut :: std :: os :: raw :: c_void , pSamplesIn : * const :: std :: os :: raw :: c_void , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_s32 ( pSamplesOut : * mut ma_int32 , pSamplesIn : * const ma_int32 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_f32 ( pSamplesOut : * mut f32 , pSamplesIn : * const f32 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_u8 ( pSamples : * mut ma_uint8 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_s16 ( pSamples : * mut ma_int16 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_s24 ( pSamples : * mut :: std :: os :: raw :: c_void , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_s32 ( pSamples : * mut ma_int32 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_f32 ( pSamples : * mut f32 , sampleCount : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_pcm_frames_u8 ( pPCMFramesOut : * mut ma_uint8 , pPCMFramesIn : * const ma_uint8 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_pcm_frames_s16 ( pPCMFramesOut : * mut ma_int16 , pPCMFramesIn : * const ma_int16 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_pcm_frames_s24 ( pPCMFramesOut : * mut :: std :: os :: raw :: c_void , pPCMFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_pcm_frames_s32 ( pPCMFramesOut : * mut ma_int32 , pPCMFramesIn : * const ma_int32 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_pcm_frames_f32 ( pPCMFramesOut : * mut f32 , pPCMFramesIn : * const f32 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_copy_and_apply_volume_factor_pcm_frames ( pFramesOut : * mut :: std :: os :: raw :: c_void , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint32 , format : ma_format , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_pcm_frames_u8 ( pFrames : * mut ma_uint8 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_pcm_frames_s16 ( pFrames : * mut ma_int16 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_pcm_frames_s24 ( pFrames : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_pcm_frames_s32 ( pFrames : * mut ma_int32 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_pcm_frames_f32 ( pFrames : * mut f32 , frameCount : ma_uint32 , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_apply_volume_factor_pcm_frames ( pFrames : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint32 , format : ma_format , channels : ma_uint32 , factor : f32 ) ; } extern "C" { pub fn ma_factor_to_gain_db ( factor : f32 ) -> f32 ; } extern "C" { pub fn ma_gain_db_to_factor ( gain : f32 ) -> f32 ; } pub type ma_data_source = :: std :: os :: raw :: c_void ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_data_source_callbacks { pub onRead : :: std :: option :: Option < unsafe extern "C" fn ( pDataSource : * mut ma_data_source , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 , pFramesRead : * mut ma_uint64 ) -> ma_result > , pub onSeek : :: std :: option :: Option < unsafe extern "C" fn ( pDataSource : * mut ma_data_source , frameIndex : ma_uint64 ) -> ma_result > , pub onMap : :: std :: option :: Option < unsafe extern "C" fn ( pDataSource : * mut ma_data_source , ppFramesOut : * mut * mut :: std :: os :: raw :: c_void , pFrameCount : * mut ma_uint64 ) -> ma_result > , pub onUnmap : :: std :: option :: Option < unsafe extern "C" fn ( pDataSource : * mut ma_data_source , frameCount : ma_uint64 ) -> ma_result > , pub onGetDataFormat : :: std :: option :: Option < unsafe extern "C" fn ( pDataSource : * mut ma_data_source , pFormat : * mut ma_format , pChannels : * mut ma_uint32 ) -> ma_result > , } # [ test ] fn bindgen_test_layout_ma_data_source_callbacks ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_data_source_callbacks > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ma_data_source_callbacks ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_data_source_callbacks > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_data_source_callbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_source_callbacks > ( ) ) ) . onRead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_source_callbacks ) , "::" , stringify ! ( onRead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_source_callbacks > ( ) ) ) . onSeek as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_source_callbacks ) , "::" , stringify ! ( onSeek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_source_callbacks > ( ) ) ) . onMap as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_source_callbacks ) , "::" , stringify ! ( onMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_source_callbacks > ( ) ) ) . onUnmap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_source_callbacks ) , "::" , stringify ! ( onUnmap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_data_source_callbacks > ( ) ) ) . onGetDataFormat as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_data_source_callbacks ) , "::" , stringify ! ( onGetDataFormat ) ) ) ; } extern "C" { pub fn ma_data_source_read_pcm_frames ( pDataSource : * mut ma_data_source , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 , pFramesRead : * mut ma_uint64 , loop_ : ma_bool32 ) -> ma_result ; } extern "C" { pub fn ma_data_source_seek_pcm_frames ( pDataSource : * mut ma_data_source , frameCount : ma_uint64 , pFramesSeeked : * mut ma_uint64 , loop_ : ma_bool32 ) -> ma_result ; } extern "C" { pub fn ma_data_source_seek_to_pcm_frame ( pDataSource : * mut ma_data_source , frameIndex : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_data_source_map ( pDataSource : * mut ma_data_source , ppFramesOut : * mut * mut :: std :: os :: raw :: c_void , pFrameCount : * mut ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_data_source_unmap ( pDataSource : * mut ma_data_source , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_data_source_get_data_format ( pDataSource : * mut ma_data_source , pFormat : * mut ma_format , pChannels : * mut ma_uint32 ) -> ma_result ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_audio_buffer_config { pub format : ma_format , pub channels : ma_uint32 , pub sizeInFrames : ma_uint64 , pub pData : * const :: std :: os :: raw :: c_void , pub allocationCallbacks : ma_allocation_callbacks , } # [ test ] fn bindgen_test_layout_ma_audio_buffer_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_audio_buffer_config > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ma_audio_buffer_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_audio_buffer_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_audio_buffer_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer_config > ( ) ) ) . sizeInFrames as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer_config ) , "::" , stringify ! ( sizeInFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer_config > ( ) ) ) . pData as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer_config ) , "::" , stringify ! ( pData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer_config > ( ) ) ) . allocationCallbacks as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer_config ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; } extern "C" { pub fn ma_audio_buffer_config_init ( format : ma_format , channels : ma_uint32 , sizeInFrames : ma_uint64 , pData : * const :: std :: os :: raw :: c_void , pAllocationCallbacks : * const ma_allocation_callbacks ) -> ma_audio_buffer_config ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_audio_buffer { pub ds : ma_data_source_callbacks , pub format : ma_format , pub channels : ma_uint32 , pub cursor : ma_uint64 , pub sizeInFrames : ma_uint64 , pub pData : * const :: std :: os :: raw :: c_void , pub allocationCallbacks : ma_allocation_callbacks , pub ownsData : ma_bool32 , pub _pExtraData : [ ma_uint8 ; 1usize ] , } # [ test ] fn bindgen_test_layout_ma_audio_buffer ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_audio_buffer > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( ma_audio_buffer ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_audio_buffer > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_audio_buffer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . ds as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( ds ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . format as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . channels as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . cursor as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( cursor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . sizeInFrames as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( sizeInFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . pData as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( pData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . allocationCallbacks as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . ownsData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( ownsData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_audio_buffer > ( ) ) ) . _pExtraData as * const _ as usize } , 108usize , concat ! ( "Offset of field: " , stringify ! ( ma_audio_buffer ) , "::" , stringify ! ( _pExtraData ) ) ) ; } extern "C" { pub fn ma_audio_buffer_init ( pConfig : * const ma_audio_buffer_config , pAudioBuffer : * mut ma_audio_buffer ) -> ma_result ; } extern "C" { pub fn ma_audio_buffer_init_copy ( pConfig : * const ma_audio_buffer_config , pAudioBuffer : * mut ma_audio_buffer ) -> ma_result ; } extern "C" { pub fn ma_audio_buffer_alloc_and_init ( pConfig : * const ma_audio_buffer_config , ppAudioBuffer : * mut * mut ma_audio_buffer ) -> ma_result ; } extern "C" { pub fn ma_audio_buffer_uninit ( pAudioBuffer : * mut ma_audio_buffer ) ; } extern "C" { pub fn ma_audio_buffer_uninit_and_free ( pAudioBuffer : * mut ma_audio_buffer ) ; } extern "C" { pub fn ma_audio_buffer_read_pcm_frames ( pAudioBuffer : * mut ma_audio_buffer , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 , loop_ : ma_bool32 ) -> ma_uint64 ; } extern "C" { pub fn ma_audio_buffer_seek_to_pcm_frame ( pAudioBuffer : * mut ma_audio_buffer , frameIndex : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_audio_buffer_map ( pAudioBuffer : * mut ma_audio_buffer , ppFramesOut : * mut * mut :: std :: os :: raw :: c_void , pFrameCount : * mut ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_audio_buffer_unmap ( pAudioBuffer : * mut ma_audio_buffer , frameCount : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_audio_buffer_at_end ( pAudioBuffer : * mut ma_audio_buffer ) -> ma_result ; } # [ doc = "VFS" ] # [ doc = "===" ] # [ doc = "" ] # [ doc = "The VFS object (virtual file system) is what's used to customize file access. This is useful in cases where stdio FILE* based APIs may not be entirely" ] # [ doc = "appropriate for a given situation." ] pub type ma_vfs = :: std :: os :: raw :: c_void ; pub type ma_vfs_file = ma_handle ; pub const ma_seek_origin_start : ma_seek_origin = 0 ; pub const ma_seek_origin_current : ma_seek_origin = 1 ; pub const ma_seek_origin_end : ma_seek_origin = 2 ; pub type ma_seek_origin = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_file_info { pub sizeInBytes : ma_uint64 , } # [ test ] fn bindgen_test_layout_ma_file_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_file_info > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ma_file_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_file_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_file_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_file_info > ( ) ) ) . sizeInBytes as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_file_info ) , "::" , stringify ! ( sizeInBytes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_vfs_callbacks { pub onOpen : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , openMode : ma_uint32 , pFile : * mut ma_vfs_file ) -> ma_result > , pub onOpenW : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , openMode : ma_uint32 , pFile : * mut ma_vfs_file ) -> ma_result > , pub onClose : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , file : ma_vfs_file ) -> ma_result > , pub onRead : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , file : ma_vfs_file , pDst : * mut :: std :: os :: raw :: c_void , sizeInBytes : usize , pBytesRead : * mut usize ) -> ma_result > , pub onWrite : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , file : ma_vfs_file , pSrc : * const :: std :: os :: raw :: c_void , sizeInBytes : usize , pBytesWritten : * mut usize ) -> ma_result > , pub onSeek : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , file : ma_vfs_file , offset : ma_int64 , origin : ma_seek_origin ) -> ma_result > , pub onTell : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , file : ma_vfs_file , pCursor : * mut ma_int64 ) -> ma_result > , pub onInfo : :: std :: option :: Option < unsafe extern "C" fn ( pVFS : * mut ma_vfs , file : ma_vfs_file , pInfo : * mut ma_file_info ) -> ma_result > , } # [ test ] fn bindgen_test_layout_ma_vfs_callbacks ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_vfs_callbacks > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ma_vfs_callbacks ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_vfs_callbacks > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_vfs_callbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onOpen as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onOpen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onOpenW as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onOpenW ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onClose as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onClose ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onRead as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onRead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onWrite as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onWrite ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onSeek as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onSeek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onTell as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onTell ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_vfs_callbacks > ( ) ) ) . onInfo as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_vfs_callbacks ) , "::" , stringify ! ( onInfo ) ) ) ; } extern "C" { pub fn ma_vfs_open ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , openMode : ma_uint32 , pFile : * mut ma_vfs_file ) -> ma_result ; } extern "C" { pub fn ma_vfs_open_w ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , openMode : ma_uint32 , pFile : * mut ma_vfs_file ) -> ma_result ; } extern "C" { pub fn ma_vfs_close ( pVFS : * mut ma_vfs , file : ma_vfs_file ) -> ma_result ; } extern "C" { pub fn ma_vfs_read ( pVFS : * mut ma_vfs , file : ma_vfs_file , pDst : * mut :: std :: os :: raw :: c_void , sizeInBytes : usize , pBytesRead : * mut usize ) -> ma_result ; } extern "C" { pub fn ma_vfs_write ( pVFS : * mut ma_vfs , file : ma_vfs_file , pSrc : * const :: std :: os :: raw :: c_void , sizeInBytes : usize , pBytesWritten : * mut usize ) -> ma_result ; } extern "C" { pub fn ma_vfs_seek ( pVFS : * mut ma_vfs , file : ma_vfs_file , offset : ma_int64 , origin : ma_seek_origin ) -> ma_result ; } extern "C" { pub fn ma_vfs_tell ( pVFS : * mut ma_vfs , file : ma_vfs_file , pCursor : * mut ma_int64 ) -> ma_result ; } extern "C" { pub fn ma_vfs_info ( pVFS : * mut ma_vfs , file : ma_vfs_file , pInfo : * mut ma_file_info ) -> ma_result ; } extern "C" { pub fn ma_vfs_open_and_read_file ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , ppData : * mut * mut :: std :: os :: raw :: c_void , pSize : * mut usize , pAllocationCallbacks : * const ma_allocation_callbacks ) -> ma_result ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_default_vfs { pub cb : ma_vfs_callbacks , pub allocationCallbacks : ma_allocation_callbacks , } # [ test ] fn bindgen_test_layout_ma_default_vfs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_default_vfs > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( ma_default_vfs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_default_vfs > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_default_vfs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_default_vfs > ( ) ) ) . cb as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_default_vfs ) , "::" , stringify ! ( cb ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_default_vfs > ( ) ) ) . allocationCallbacks as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_default_vfs ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; } extern "C" { pub fn ma_default_vfs_init ( pVFS : * mut ma_default_vfs , pAllocationCallbacks : * const ma_allocation_callbacks ) -> ma_result ; } pub const ma_resource_format_wav : ma_resource_format = 0 ; pub type ma_resource_format = u32 ; pub type ma_decoder_read_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDecoder : * mut ma_decoder , pBufferOut : * mut :: std :: os :: raw :: c_void , bytesToRead : usize ) -> usize > ; pub type ma_decoder_seek_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDecoder : * mut ma_decoder , byteOffset : :: std :: os :: raw :: c_int , origin : ma_seek_origin ) -> ma_bool32 > ; pub type ma_decoder_read_pcm_frames_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDecoder : * mut ma_decoder , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_uint64 > ; pub type ma_decoder_seek_to_pcm_frame_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDecoder : * mut ma_decoder , frameIndex : ma_uint64 ) -> ma_result > ; pub type ma_decoder_uninit_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDecoder : * mut ma_decoder ) -> ma_result > ; pub type ma_decoder_get_length_in_pcm_frames_proc = :: std :: option :: Option < unsafe extern "C" fn ( pDecoder : * mut ma_decoder ) -> ma_uint64 > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_decoder_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub channelMap : [ ma_channel ; 32usize ] , pub channelMixMode : ma_channel_mix_mode , pub ditherMode : ma_dither_mode , pub resampling : ma_decoder_config__bindgen_ty_1 , pub allocationCallbacks : ma_allocation_callbacks , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_decoder_config__bindgen_ty_1 { pub algorithm : ma_resample_algorithm , pub linear : ma_decoder_config__bindgen_ty_1__bindgen_ty_1 , pub speex : ma_decoder_config__bindgen_ty_1__bindgen_ty_2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_decoder_config__bindgen_ty_1__bindgen_ty_1 { pub lpfOrder : ma_uint32 , } # [ test ] fn bindgen_test_layout_ma_decoder_config__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder_config__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_decoder_config__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder_config__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder_config__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . lpfOrder as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( lpfOrder ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_decoder_config__bindgen_ty_1__bindgen_ty_2 { pub quality : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ma_decoder_config__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder_config__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( ma_decoder_config__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder_config__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder_config__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . quality as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( quality ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_decoder_config__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder_config__bindgen_ty_1 > ( ) , 12usize , concat ! ( "Size of: " , stringify ! ( ma_decoder_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder_config__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder_config__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config__bindgen_ty_1 > ( ) ) ) . algorithm as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config__bindgen_ty_1 ) , "::" , stringify ! ( algorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config__bindgen_ty_1 > ( ) ) ) . linear as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config__bindgen_ty_1 ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config__bindgen_ty_1 > ( ) ) ) . speex as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config__bindgen_ty_1 ) , "::" , stringify ! ( speex ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_decoder_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder_config > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( ma_decoder_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . channelMap as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( channelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . channelMixMode as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( channelMixMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . ditherMode as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( ditherMode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . resampling as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( resampling ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder_config > ( ) ) ) . allocationCallbacks as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder_config ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_decoder { pub ds : ma_data_source_callbacks , pub onRead : ma_decoder_read_proc , pub onSeek : ma_decoder_seek_proc , pub pUserData : * mut :: std :: os :: raw :: c_void , pub readPointer : ma_uint64 , pub internalFormat : ma_format , pub internalChannels : ma_uint32 , pub internalSampleRate : ma_uint32 , pub internalChannelMap : [ ma_channel ; 32usize ] , pub outputFormat : ma_format , pub outputChannels : ma_uint32 , pub outputSampleRate : ma_uint32 , pub outputChannelMap : [ ma_channel ; 32usize ] , pub converter : ma_data_converter , pub allocationCallbacks : ma_allocation_callbacks , pub onReadPCMFrames : ma_decoder_read_pcm_frames_proc , pub onSeekToPCMFrame : ma_decoder_seek_to_pcm_frame_proc , pub onUninit : ma_decoder_uninit_proc , pub onGetLengthInPCMFrames : ma_decoder_get_length_in_pcm_frames_proc , pub pInternalDecoder : * mut :: std :: os :: raw :: c_void , pub backend : ma_decoder__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_decoder__bindgen_ty_1 { pub vfs : ma_decoder__bindgen_ty_1__bindgen_ty_1 , pub memory : ma_decoder__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u64 ; 3usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_decoder__bindgen_ty_1__bindgen_ty_1 { pub pVFS : * mut ma_vfs , pub file : ma_vfs_file , } # [ test ] fn bindgen_test_layout_ma_decoder__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . pVFS as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( pVFS ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . file as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( file ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_decoder__bindgen_ty_1__bindgen_ty_2 { pub pData : * const ma_uint8 , pub dataSize : usize , pub currentReadPos : usize , } # [ test ] fn bindgen_test_layout_ma_decoder__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder__bindgen_ty_1__bindgen_ty_2 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder__bindgen_ty_1__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . pData as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( pData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . dataSize as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dataSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . currentReadPos as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( currentReadPos ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_decoder__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder__bindgen_ty_1 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ma_decoder__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1 > ( ) ) ) . vfs as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1 ) , "::" , stringify ! ( vfs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder__bindgen_ty_1 > ( ) ) ) . memory as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder__bindgen_ty_1 ) , "::" , stringify ! ( memory ) ) ) ; } impl :: std :: fmt :: Debug for ma_decoder__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_decoder__bindgen_ty_1 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_decoder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_decoder > ( ) , 10352usize , concat ! ( "Size of: " , stringify ! ( ma_decoder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_decoder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_decoder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . ds as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( ds ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . onRead as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( onRead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . onSeek as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( onSeek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . pUserData as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . readPointer as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( readPointer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . internalFormat as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( internalFormat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . internalChannels as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( internalChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . internalSampleRate as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( internalSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . internalChannelMap as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( internalChannelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . outputFormat as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( outputFormat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . outputChannels as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( outputChannels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . outputSampleRate as * const _ as usize } , 124usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( outputSampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . outputChannelMap as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( outputChannelMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . converter as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( converter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . allocationCallbacks as * const _ as usize } , 10256usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . onReadPCMFrames as * const _ as usize } , 10288usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( onReadPCMFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . onSeekToPCMFrame as * const _ as usize } , 10296usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( onSeekToPCMFrame ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . onUninit as * const _ as usize } , 10304usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( onUninit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . onGetLengthInPCMFrames as * const _ as usize } , 10312usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( onGetLengthInPCMFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . pInternalDecoder as * const _ as usize } , 10320usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( pInternalDecoder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_decoder > ( ) ) ) . backend as * const _ as usize } , 10328usize , concat ! ( "Offset of field: " , stringify ! ( ma_decoder ) , "::" , stringify ! ( backend ) ) ) ; } impl :: std :: fmt :: Debug for ma_decoder { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_decoder {{ ds: {:?}, onRead: {:?}, onSeek: {:?}, pUserData: {:?}, readPointer: {:?}, internalFormat: {:?}, internalChannels: {:?}, internalSampleRate: {:?}, internalChannelMap: [{}], outputFormat: {:?}, outputChannels: {:?}, outputSampleRate: {:?}, outputChannelMap: [{}], converter: {:?}, allocationCallbacks: {:?}, onReadPCMFrames: {:?}, onSeekToPCMFrame: {:?}, onUninit: {:?}, onGetLengthInPCMFrames: {:?}, pInternalDecoder: {:?}, backend: {:?} }}" , self . ds , self . onRead , self . onSeek , self . pUserData , self . readPointer , self . internalFormat , self . internalChannels , self . internalSampleRate , self . internalChannelMap . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . outputFormat , self . outputChannels , self . outputSampleRate , self . outputChannelMap . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . converter , self . allocationCallbacks , self . onReadPCMFrames , self . onSeekToPCMFrame , self . onUninit , self . onGetLengthInPCMFrames , self . pInternalDecoder , self . backend ) } } extern "C" { pub fn ma_decoder_config_init ( outputFormat : ma_format , outputChannels : ma_uint32 , outputSampleRate : ma_uint32 ) -> ma_decoder_config ; } extern "C" { pub fn ma_decoder_init ( onRead : ma_decoder_read_proc , onSeek : ma_decoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_wav ( onRead : ma_decoder_read_proc , onSeek : ma_decoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_flac ( onRead : ma_decoder_read_proc , onSeek : ma_decoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_mp3 ( onRead : ma_decoder_read_proc , onSeek : ma_decoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vorbis ( onRead : ma_decoder_read_proc , onSeek : ma_decoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_raw ( onRead : ma_decoder_read_proc , onSeek : ma_decoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfigIn : * const ma_decoder_config , pConfigOut : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_memory ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_memory_wav ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_memory_flac ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_memory_mp3 ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_memory_vorbis ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_memory_raw ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfigIn : * const ma_decoder_config , pConfigOut : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_wav ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_flac ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_mp3 ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_vorbis ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_w ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_wav_w ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_flac_w ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_mp3_w ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_vfs_vorbis_w ( pVFS : * mut ma_vfs , pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_wav ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_flac ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_mp3 ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_vorbis ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_w ( pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_wav_w ( pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_flac_w ( pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_mp3_w ( pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_init_file_vorbis_w ( pFilePath : * const wchar_t , pConfig : * const ma_decoder_config , pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_uninit ( pDecoder : * mut ma_decoder ) -> ma_result ; } extern "C" { pub fn ma_decoder_get_length_in_pcm_frames ( pDecoder : * mut ma_decoder ) -> ma_uint64 ; } extern "C" { pub fn ma_decoder_read_pcm_frames ( pDecoder : * mut ma_decoder , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_decoder_seek_to_pcm_frame ( pDecoder : * mut ma_decoder , frameIndex : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_decode_from_vfs ( pVFS : * mut ma_vfs , pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * mut ma_decoder_config , pFrameCountOut : * mut ma_uint64 , ppPCMFramesOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_decode_file ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * mut ma_decoder_config , pFrameCountOut : * mut ma_uint64 , ppPCMFramesOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } extern "C" { pub fn ma_decode_memory ( pData : * const :: std :: os :: raw :: c_void , dataSize : usize , pConfig : * mut ma_decoder_config , pFrameCountOut : * mut ma_uint64 , ppPCMFramesOut : * mut * mut :: std :: os :: raw :: c_void ) -> ma_result ; } pub type ma_encoder_write_proc = :: std :: option :: Option < unsafe extern "C" fn ( pEncoder : * mut ma_encoder , pBufferIn : * const :: std :: os :: raw :: c_void , bytesToWrite : usize ) -> usize > ; pub type ma_encoder_seek_proc = :: std :: option :: Option < unsafe extern "C" fn ( pEncoder : * mut ma_encoder , byteOffset : :: std :: os :: raw :: c_int , origin : ma_seek_origin ) -> ma_bool32 > ; pub type ma_encoder_init_proc = :: std :: option :: Option < unsafe extern "C" fn ( pEncoder : * mut ma_encoder ) -> ma_result > ; pub type ma_encoder_uninit_proc = :: std :: option :: Option < unsafe extern "C" fn ( pEncoder : * mut ma_encoder ) > ; pub type ma_encoder_write_pcm_frames_proc = :: std :: option :: Option < unsafe extern "C" fn ( pEncoder : * mut ma_encoder , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_uint64 > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_encoder_config { pub resourceFormat : ma_resource_format , pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub allocationCallbacks : ma_allocation_callbacks , } # [ test ] fn bindgen_test_layout_ma_encoder_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_encoder_config > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ma_encoder_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_encoder_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_encoder_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder_config > ( ) ) ) . resourceFormat as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder_config ) , "::" , stringify ! ( resourceFormat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder_config > ( ) ) ) . format as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder_config > ( ) ) ) . channels as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder_config > ( ) ) ) . sampleRate as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder_config > ( ) ) ) . allocationCallbacks as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder_config ) , "::" , stringify ! ( allocationCallbacks ) ) ) ; } extern "C" { pub fn ma_encoder_config_init ( resourceFormat : ma_resource_format , format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 ) -> ma_encoder_config ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_encoder { pub config : ma_encoder_config , pub onWrite : ma_encoder_write_proc , pub onSeek : ma_encoder_seek_proc , pub onInit : ma_encoder_init_proc , pub onUninit : ma_encoder_uninit_proc , pub onWritePCMFrames : ma_encoder_write_pcm_frames_proc , pub pUserData : * mut :: std :: os :: raw :: c_void , pub pInternalEncoder : * mut :: std :: os :: raw :: c_void , pub pFile : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ma_encoder ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_encoder > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( ma_encoder ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_encoder > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_encoder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . config as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . onWrite as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( onWrite ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . onSeek as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( onSeek ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . onInit as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( onInit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . onUninit as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( onUninit ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . onWritePCMFrames as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( onWritePCMFrames ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . pUserData as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( pUserData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . pInternalEncoder as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( pInternalEncoder ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_encoder > ( ) ) ) . pFile as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( ma_encoder ) , "::" , stringify ! ( pFile ) ) ) ; } extern "C" { pub fn ma_encoder_init ( onWrite : ma_encoder_write_proc , onSeek : ma_encoder_seek_proc , pUserData : * mut :: std :: os :: raw :: c_void , pConfig : * const ma_encoder_config , pEncoder : * mut ma_encoder ) -> ma_result ; } extern "C" { pub fn ma_encoder_init_file ( pFilePath : * const :: std :: os :: raw :: c_char , pConfig : * const ma_encoder_config , pEncoder : * mut ma_encoder ) -> ma_result ; } extern "C" { pub fn ma_encoder_init_file_w ( pFilePath : * const wchar_t , pConfig : * const ma_encoder_config , pEncoder : * mut ma_encoder ) -> ma_result ; } extern "C" { pub fn ma_encoder_uninit ( pEncoder : * mut ma_encoder ) ; } extern "C" { pub fn ma_encoder_write_pcm_frames ( pEncoder : * mut ma_encoder , pFramesIn : * const :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_uint64 ; } pub const ma_waveform_type_sine : ma_waveform_type = 0 ; pub const ma_waveform_type_square : ma_waveform_type = 1 ; pub const ma_waveform_type_triangle : ma_waveform_type = 2 ; pub const ma_waveform_type_sawtooth : ma_waveform_type = 3 ; pub type ma_waveform_type = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_waveform_config { pub format : ma_format , pub channels : ma_uint32 , pub sampleRate : ma_uint32 , pub type_ : ma_waveform_type , pub amplitude : f64 , pub frequency : f64 , } # [ test ] fn bindgen_test_layout_ma_waveform_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_waveform_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_waveform_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_waveform_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_waveform_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform_config > ( ) ) ) . sampleRate as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform_config ) , "::" , stringify ! ( sampleRate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform_config > ( ) ) ) . type_ as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform_config ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform_config > ( ) ) ) . amplitude as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform_config ) , "::" , stringify ! ( amplitude ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform_config > ( ) ) ) . frequency as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform_config ) , "::" , stringify ! ( frequency ) ) ) ; } extern "C" { pub fn ma_waveform_config_init ( format : ma_format , channels : ma_uint32 , sampleRate : ma_uint32 , type_ : ma_waveform_type , amplitude : f64 , frequency : f64 ) -> ma_waveform_config ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_waveform { pub ds : ma_data_source_callbacks , pub config : ma_waveform_config , pub advance : f64 , pub time : f64 , } # [ test ] fn bindgen_test_layout_ma_waveform ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_waveform > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( ma_waveform ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_waveform > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_waveform ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform > ( ) ) ) . ds as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform ) , "::" , stringify ! ( ds ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform > ( ) ) ) . config as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform ) , "::" , stringify ! ( config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform > ( ) ) ) . advance as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform ) , "::" , stringify ! ( advance ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_waveform > ( ) ) ) . time as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_waveform ) , "::" , stringify ! ( time ) ) ) ; } extern "C" { pub fn ma_waveform_init ( pConfig : * const ma_waveform_config , pWaveform : * mut ma_waveform ) -> ma_result ; } extern "C" { pub fn ma_waveform_read_pcm_frames ( pWaveform : * mut ma_waveform , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_uint64 ; } extern "C" { pub fn ma_waveform_seek_to_pcm_frame ( pWaveform : * mut ma_waveform , frameIndex : ma_uint64 ) -> ma_result ; } extern "C" { pub fn ma_waveform_set_amplitude ( pWaveform : * mut ma_waveform , amplitude : f64 ) -> ma_result ; } extern "C" { pub fn ma_waveform_set_frequency ( pWaveform : * mut ma_waveform , frequency : f64 ) -> ma_result ; } extern "C" { pub fn ma_waveform_set_sample_rate ( pWaveform : * mut ma_waveform , sampleRate : ma_uint32 ) -> ma_result ; } pub const ma_noise_type_white : ma_noise_type = 0 ; pub const ma_noise_type_pink : ma_noise_type = 1 ; pub const ma_noise_type_brownian : ma_noise_type = 2 ; pub type ma_noise_type = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_noise_config { pub format : ma_format , pub channels : ma_uint32 , pub type_ : ma_noise_type , pub seed : ma_int32 , pub amplitude : f64 , pub duplicateChannels : ma_bool32 , } # [ test ] fn bindgen_test_layout_ma_noise_config ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_noise_config > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ma_noise_config ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_noise_config > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_noise_config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise_config > ( ) ) ) . format as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise_config ) , "::" , stringify ! ( format ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise_config > ( ) ) ) . channels as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise_config ) , "::" , stringify ! ( channels ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise_config > ( ) ) ) . type_ as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise_config ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise_config > ( ) ) ) . seed as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise_config ) , "::" , stringify ! ( seed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise_config > ( ) ) ) . amplitude as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise_config ) , "::" , stringify ! ( amplitude ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise_config > ( ) ) ) . duplicateChannels as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise_config ) , "::" , stringify ! ( duplicateChannels ) ) ) ; } extern "C" { pub fn ma_noise_config_init ( format : ma_format , channels : ma_uint32 , type_ : ma_noise_type , seed : ma_int32 , amplitude : f64 ) -> ma_noise_config ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ma_noise { pub ds : ma_data_source_callbacks , pub config : ma_noise_config , pub lcg : ma_lcg , pub state : ma_noise__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ma_noise__bindgen_ty_1 { pub pink : ma_noise__bindgen_ty_1__bindgen_ty_1 , pub brownian : ma_noise__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u64 ; 560usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_noise__bindgen_ty_1__bindgen_ty_1 { pub bin : [ [ f64 ; 16usize ] ; 32usize ] , pub accumulation : [ f64 ; 32usize ] , pub counter : [ ma_uint32 ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_noise__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_noise__bindgen_ty_1__bindgen_ty_1 > ( ) , 4480usize , concat ! ( "Size of: " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_noise__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . bin as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( bin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . accumulation as * const _ as usize } , 4096usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( accumulation ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . counter as * const _ as usize } , 4352usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( counter ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ma_noise__bindgen_ty_1__bindgen_ty_2 { pub accumulation : [ f64 ; 32usize ] , } # [ test ] fn bindgen_test_layout_ma_noise__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_noise__bindgen_ty_1__bindgen_ty_2 > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_noise__bindgen_ty_1__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . accumulation as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( accumulation ) ) ) ; } # [ test ] fn bindgen_test_layout_ma_noise__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_noise__bindgen_ty_1 > ( ) , 4480usize , concat ! ( "Size of: " , stringify ! ( ma_noise__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_noise__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_noise__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise__bindgen_ty_1 > ( ) ) ) . pink as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise__bindgen_ty_1 ) , "::" , stringify ! ( pink ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise__bindgen_ty_1 > ( ) ) ) . brownian as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise__bindgen_ty_1 ) , "::" , stringify ! ( brownian ) ) ) ; } impl :: std :: fmt :: Debug for ma_noise__bindgen_ty_1 { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_noise__bindgen_ty_1 {{ union }}" ) } } # [ test ] fn bindgen_test_layout_ma_noise ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ma_noise > ( ) , 4560usize , concat ! ( "Size of: " , stringify ! ( ma_noise ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ma_noise > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ma_noise ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise > ( ) ) ) . ds as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise ) , "::" , stringify ! ( ds ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise > ( ) ) ) . config as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise ) , "::" , stringify ! ( config ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise > ( ) ) ) . lcg as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise ) , "::" , stringify ! ( lcg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ma_noise > ( ) ) ) . state as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( ma_noise ) , "::" , stringify ! ( state ) ) ) ; } impl :: std :: fmt :: Debug for ma_noise { fn fmt ( & self , f : & mut :: std :: fmt :: Formatter < '_ > ) -> :: std :: fmt :: Result { write ! ( f , "ma_noise {{ ds: {:?}, config: {:?}, lcg: {:?}, state: {:?} }}" , self . ds , self . config , self . lcg , self . state ) } } extern "C" { pub fn ma_noise_init ( pConfig : * const ma_noise_config , pNoise : * mut ma_noise ) -> ma_result ; } extern "C" { pub fn ma_noise_read_pcm_frames ( pNoise : * mut ma_noise , pFramesOut : * mut :: std :: os :: raw :: c_void , frameCount : ma_uint64 ) -> ma_uint64 ; }