1
2
3
/* 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 const uECC_arch_other : u32 = 0 ; pub const uECC_x86 : u32 = 1 ; pub const uECC_x86_64 : u32 = 2 ; pub const uECC_arm : u32 = 3 ; pub const uECC_arm_thumb : u32 = 4 ; pub const uECC_arm_thumb2 : u32 = 5 ; pub const uECC_arm64 : u32 = 6 ; pub const uECC_avr : u32 = 7 ; pub const uECC_OPTIMIZATION_LEVEL : u32 = 2 ; pub const uECC_SQUARE_FUNC : u32 = 0 ; pub const uECC_VLI_NATIVE_LITTLE_ENDIAN : u32 = 0 ; pub const uECC_SUPPORTS_secp160r1 : u32 = 1 ; pub const uECC_SUPPORTS_secp192r1 : u32 = 1 ; pub const uECC_SUPPORTS_secp224r1 : u32 = 1 ; pub const uECC_SUPPORTS_secp256r1 : u32 = 1 ; pub const uECC_SUPPORTS_secp256k1 : u32 = 1 ; pub const uECC_SUPPORT_COMPRESSED_POINT : u32 = 1 ; pub type __u_char = cty :: c_uchar ; pub type __u_short = cty :: c_ushort ; pub type __u_int = cty :: c_uint ; pub type __u_long = cty :: c_ulong ; pub type __int8_t = cty :: c_schar ; pub type __uint8_t = cty :: c_uchar ; pub type __int16_t = cty :: c_short ; pub type __uint16_t = cty :: c_ushort ; pub type __int32_t = cty :: c_int ; pub type __uint32_t = cty :: c_uint ; pub type __int64_t = cty :: c_long ; pub type __uint64_t = cty :: c_ulong ; pub type __quad_t = cty :: c_long ; pub type __u_quad_t = cty :: c_ulong ; pub type __intmax_t = cty :: c_long ; pub type __uintmax_t = cty :: c_ulong ; pub type __dev_t = cty :: c_ulong ; pub type __uid_t = cty :: c_uint ; pub type __gid_t = cty :: c_uint ; pub type __ino_t = cty :: c_ulong ; pub type __ino64_t = cty :: c_ulong ; pub type __mode_t = cty :: c_uint ; pub type __nlink_t = cty :: c_ulong ; pub type __off_t = cty :: c_long ; pub type __off64_t = cty :: c_long ; pub type __pid_t = cty :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ cty :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { assert_eq ! ( :: core :: mem :: size_of :: < __fsid_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < __fsid_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = cty :: c_long ; pub type __rlim_t = cty :: c_ulong ; pub type __rlim64_t = cty :: c_ulong ; pub type __id_t = cty :: c_uint ; pub type __time_t = cty :: c_long ; pub type __useconds_t = cty :: c_uint ; pub type __suseconds_t = cty :: c_long ; pub type __daddr_t = cty :: c_int ; pub type __key_t = cty :: c_int ; pub type __clockid_t = cty :: c_int ; pub type __timer_t = * mut cty :: c_void ; pub type __blksize_t = cty :: c_long ; pub type __blkcnt_t = cty :: c_long ; pub type __blkcnt64_t = cty :: c_long ; pub type __fsblkcnt_t = cty :: c_ulong ; pub type __fsblkcnt64_t = cty :: c_ulong ; pub type __fsfilcnt_t = cty :: c_ulong ; pub type __fsfilcnt64_t = cty :: c_ulong ; pub type __fsword_t = cty :: c_long ; pub type __ssize_t = cty :: c_long ; pub type __syscall_slong_t = cty :: c_long ; pub type __syscall_ulong_t = cty :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut cty :: c_char ; pub type __intptr_t = cty :: c_long ; pub type __socklen_t = cty :: c_uint ; pub type __sig_atomic_t = cty :: c_int ; pub type int_least8_t = cty :: c_schar ; pub type int_least16_t = cty :: c_short ; pub type int_least32_t = cty :: c_int ; pub type int_least64_t = cty :: c_long ; pub type uint_least8_t = cty :: c_uchar ; pub type uint_least16_t = cty :: c_ushort ; pub type uint_least32_t = cty :: c_uint ; pub type uint_least64_t = cty :: c_ulong ; pub type int_fast8_t = cty :: c_schar ; pub type int_fast16_t = cty :: c_long ; pub type int_fast32_t = cty :: c_long ; pub type int_fast64_t = cty :: c_long ; pub type uint_fast8_t = cty :: c_uchar ; pub type uint_fast16_t = cty :: c_ulong ; pub type uint_fast32_t = cty :: c_ulong ; pub type uint_fast64_t = cty :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uECC_Curve_t { _unused : [ u8 ; 0 ] , } pub type uECC_Curve = * const uECC_Curve_t ; extern "C" { pub fn uECC_secp160r1 ( ) -> uECC_Curve ; } extern "C" { pub fn uECC_secp192r1 ( ) -> uECC_Curve ; } extern "C" { pub fn uECC_secp224r1 ( ) -> uECC_Curve ; } extern "C" { pub fn uECC_secp256r1 ( ) -> uECC_Curve ; } extern "C" { pub fn uECC_secp256k1 ( ) -> uECC_Curve ; } pub type uECC_RNG_Function = :: core :: option :: Option < unsafe extern "C" fn ( dest : * mut u8 , size : cty :: c_uint ) -> cty :: c_int > ; extern "C" { pub fn uECC_set_rng ( rng_function : uECC_RNG_Function ) ; } extern "C" { pub fn uECC_get_rng ( ) -> uECC_RNG_Function ; } extern "C" { pub fn uECC_curve_private_key_size ( curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_curve_public_key_size ( curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_make_key ( public_key : * mut u8 , private_key : * mut u8 , curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_shared_secret ( public_key : * const u8 , private_key : * const u8 , secret : * mut u8 , curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_compress ( public_key : * const u8 , compressed : * mut u8 , curve : uECC_Curve ) ; } extern "C" { pub fn uECC_decompress ( compressed : * const u8 , public_key : * mut u8 , curve : uECC_Curve ) ; } extern "C" { pub fn uECC_valid_public_key ( public_key : * const u8 , curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_compute_public_key ( private_key : * const u8 , public_key : * mut u8 , curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_sign ( private_key : * const u8 , message_hash : * const u8 , hash_size : cty :: c_uint , signature : * mut u8 , curve : uECC_Curve ) -> cty :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uECC_HashContext { pub init_hash : :: core :: option :: Option < unsafe extern "C" fn ( context : * const uECC_HashContext ) > , pub update_hash : :: core :: option :: Option < unsafe extern "C" fn ( context : * const uECC_HashContext , message : * const u8 , message_size : cty :: c_uint ) > , pub finish_hash : :: core :: option :: Option < unsafe extern "C" fn ( context : * const uECC_HashContext , hash_result : * mut u8 ) > , pub block_size : cty :: c_uint , pub result_size : cty :: c_uint , pub tmp : * mut u8 , } # [ test ] fn bindgen_test_layout_uECC_HashContext ( ) { assert_eq ! ( :: core :: mem :: size_of :: < uECC_HashContext > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( uECC_HashContext ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < uECC_HashContext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uECC_HashContext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < uECC_HashContext > ( ) ) ) . init_hash as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( uECC_HashContext ) , "::" , stringify ! ( init_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < uECC_HashContext > ( ) ) ) . update_hash as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( uECC_HashContext ) , "::" , stringify ! ( update_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < uECC_HashContext > ( ) ) ) . finish_hash as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( uECC_HashContext ) , "::" , stringify ! ( finish_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < uECC_HashContext > ( ) ) ) . block_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( uECC_HashContext ) , "::" , stringify ! ( block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < uECC_HashContext > ( ) ) ) . result_size as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( uECC_HashContext ) , "::" , stringify ! ( result_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < uECC_HashContext > ( ) ) ) . tmp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( uECC_HashContext ) , "::" , stringify ! ( tmp ) ) ) ; } extern "C" { pub fn uECC_sign_deterministic ( private_key : * const u8 , message_hash : * const u8 , hash_size : cty :: c_uint , hash_context : * const uECC_HashContext , signature : * mut u8 , curve : uECC_Curve ) -> cty :: c_int ; } extern "C" { pub fn uECC_verify ( public_key : * const u8 , message_hash : * const u8 , hash_size : cty :: c_uint , signature : * const u8 , curve : uECC_Curve ) -> cty :: c_int ; }