1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/* automatically generated by rust-bindgen */

pub const _STDINT_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 27 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = -128 ; pub const INT16_MIN : i32 = -32768 ; pub const INT32_MIN : i32 = -2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = -128 ; pub const INT_LEAST16_MIN : i32 = -32768 ; pub const INT_LEAST32_MIN : i32 = -2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = -128 ; pub const INT_FAST16_MIN : i64 = -9223372036854775808 ; pub const INT_FAST32_MIN : i64 = -9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = -1 ; pub const UINT_FAST32_MAX : i32 = -1 ; pub const INTPTR_MIN : i64 = -9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = -1 ; pub const PTRDIFF_MIN : i64 = -9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = -2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = -1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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 ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __fsid_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __fsid_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type int_least8_t = :: std :: os :: raw :: c_schar ; pub type int_least16_t = :: std :: os :: raw :: c_short ; pub type int_least32_t = :: std :: os :: raw :: c_int ; pub type int_least64_t = :: std :: os :: raw :: c_long ; pub type uint_least8_t = :: std :: os :: raw :: c_uchar ; pub type uint_least16_t = :: std :: os :: raw :: c_ushort ; pub type uint_least32_t = :: std :: os :: raw :: c_uint ; pub type uint_least64_t = :: std :: os :: raw :: c_ulong ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; 
 /// struct bch_control - BCH control structure
/// @m:          Galois field order
/// @n:          maximum codeword size in bits (= 2^m-1)
/// @t:          error correction capability in bits
/// @ecc_bits:   ecc exact size in bits, i.e. generator polynomial degree (<=m*t)
/// @ecc_bytes:  ecc max size (m*t bits) in bytes
/// @a_pow_tab:  Galois field GF(2^m) exponentiation lookup table
/// @a_log_tab:  Galois field GF(2^m) log lookup table
/// @mod8_tab:   remainder generator polynomial lookup tables
/// @ecc_buf:    ecc parity words buffer
/// @ecc_buf2:   ecc parity words buffer
/// @xi_tab:     GF(2^m) base for solving degree 2 polynomial roots
/// @syn:        syndrome buffer
/// @cache:      log-based polynomial representation buffer
/// @elp:        error locator polynomial
/// @poly_2t:    temporary polynomials of degree 2t 
 # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bch_control { pub m : :: std :: os :: raw :: c_uint , pub n : :: std :: os :: raw :: c_uint , pub t : :: std :: os :: raw :: c_uint , pub ecc_bits : :: std :: os :: raw :: c_uint , pub ecc_bytes : :: std :: os :: raw :: c_uint , pub a_pow_tab : * mut u16 , pub a_log_tab : * mut u16 , pub mod8_tab : * mut u32 , pub ecc_buf : * mut u32 , pub ecc_buf2 : * mut u32 , pub xi_tab : * mut :: std :: os :: raw :: c_uint , pub syn : * mut :: std :: os :: raw :: c_uint , pub cache : * mut :: std :: os :: raw :: c_int , pub elp : * mut gf_poly , pub poly_2t : [ * mut gf_poly ; 4usize ] , pub databuf : * mut u8 , } # [ test ] fn bindgen_test_layout_bch_control ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bch_control > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( bch_control ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bch_control > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bch_control ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . m as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( m ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . n as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( n ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . t as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . ecc_bits as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( ecc_bits ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . ecc_bytes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( ecc_bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . a_pow_tab as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( a_pow_tab ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . a_log_tab as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( a_log_tab ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . mod8_tab as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( mod8_tab ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . ecc_buf as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( ecc_buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . ecc_buf2 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( ecc_buf2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . xi_tab as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( xi_tab ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . syn as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( syn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . cache as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . elp as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( elp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . poly_2t as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( poly_2t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bch_control > ( ) ) ) . databuf as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( bch_control ) , "::" , stringify ! ( databuf ) ) ) ; } extern "C" { pub fn init_bch ( m : :: std :: os :: raw :: c_int , t : :: std :: os :: raw :: c_int , prim_poly : :: std :: os :: raw :: c_uint ) -> * mut bch_control ; } extern "C" { pub fn free_bch ( bch : * mut bch_control ) ; } extern "C" { pub fn encode_bch ( bch : * mut bch_control , data : * const u8 , len : :: std :: os :: raw :: c_uint , ecc : * mut u8 ) ; } extern "C" { pub fn encodebits_bch ( bch : * mut bch_control , data : * const u8 , ecc : * mut u8 ) ; } extern "C" { pub fn decode_bch ( bch : * mut bch_control , data : * const u8 , len : :: std :: os :: raw :: c_uint , recv_ecc : * const u8 , calc_ecc : * const u8 , syn : * const :: std :: os :: raw :: c_uint , errloc : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn decodebits_bch ( bch : * mut bch_control , data : * const u8 , recv_ecc : * const u8 , errloc : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn correct_bch ( bch : * mut bch_control , data : * mut u8 , len : :: std :: os :: raw :: c_uint , errloc : * mut :: std :: os :: raw :: c_uint , nerr : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn correctbits_bch ( bch : * mut bch_control , databits : * mut u8 , errloc : * mut :: std :: os :: raw :: c_uint , nerr : :: std :: os :: raw :: c_int ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct gf_poly { pub _address : u8 , }