[INFO] fetching crate libffi 0.7.0... [INFO] checking libffi-0.7.0 against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] extracting crate libffi 0.7.0 into /workspace/builds/worker-1/source [INFO] validating manifest of crates.io crate libffi 0.7.0 on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate libffi 0.7.0 [INFO] finished tweaking crates.io crate libffi 0.7.0 [INFO] tweaked toml for crates.io crate libffi 0.7.0 written to /workspace/builds/worker-1/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] c98f5decec45bfc373f4cafa20fa4c2455ed533880fa1fff31ffc552f551213e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "c98f5decec45bfc373f4cafa20fa4c2455ed533880fa1fff31ffc552f551213e"` [INFO] [stderr] Compiling make-cmd v0.1.0 [INFO] [stderr] Checking abort_on_panic v2.0.0 [INFO] [stderr] Compiling libffi-sys v0.7.0 [INFO] [stderr] error[E0277]: the trait bound `*mut *mut _ffi_type: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:6438 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut *mut _ffi_type` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut *mut _ffi_type: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:9063 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut *mut _ffi_type` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut _ffi_type: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:9102 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut _ffi_type` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut ffi_cif: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:14123 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut ffi_cif` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut std::ffi::c_void: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:14379 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut std::ffi::c_void` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut ffi_cif: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:16853 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut ffi_cif` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut std::ffi::c_void: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:17120 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut std::ffi::c_void` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut std::ffi::c_void: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:17379 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut std::ffi::c_void` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut ffi_cif: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:19347 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut ffi_cif` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut std::ffi::c_void: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:19614 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut std::ffi::c_void` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `*mut std::ffi::c_void: std::default::Default` is not satisfied [INFO] [stderr] --> /opt/rustwide/target/debug/build/libffi-sys-c29e4aabe8e3fdf2/out/generated.rs:3:19878 [INFO] [stderr] | [INFO] [stderr] 3 | pub const FFI_CLOSURES : u32 = 1 ; pub const FFI_TRAMPOLINE_SIZE : u32 = 24 ; pub const FFI_NATIVE_RAW_API : u32 = 0 ; pub const _LIBC_LIMITS_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 MB_LEN_MAX : u32 = 16 ; pub const _BITS_POSIX1_LIM_H : u32 = 1 ; pub const _POSIX_AIO_LISTIO_MAX : u32 = 2 ; pub const _POSIX_AIO_MAX : u32 = 1 ; pub const _POSIX_ARG_MAX : u32 = 4096 ; pub const _POSIX_CHILD_MAX : u32 = 25 ; pub const _POSIX_DELAYTIMER_MAX : u32 = 32 ; pub const _POSIX_HOST_NAME_MAX : u32 = 255 ; pub const _POSIX_LINK_MAX : u32 = 8 ; pub const _POSIX_LOGIN_NAME_MAX : u32 = 9 ; pub const _POSIX_MAX_CANON : u32 = 255 ; pub const _POSIX_MAX_INPUT : u32 = 255 ; pub const _POSIX_MQ_OPEN_MAX : u32 = 8 ; pub const _POSIX_MQ_PRIO_MAX : u32 = 32 ; pub const _POSIX_NAME_MAX : u32 = 14 ; pub const _POSIX_NGROUPS_MAX : u32 = 8 ; pub const _POSIX_OPEN_MAX : u32 = 20 ; pub const _POSIX_PATH_MAX : u32 = 256 ; pub const _POSIX_PIPE_BUF : u32 = 512 ; pub const _POSIX_RE_DUP_MAX : u32 = 255 ; pub const _POSIX_RTSIG_MAX : u32 = 8 ; pub const _POSIX_SEM_NSEMS_MAX : u32 = 256 ; pub const _POSIX_SEM_VALUE_MAX : u32 = 32767 ; pub const _POSIX_SIGQUEUE_MAX : u32 = 32 ; pub const _POSIX_SSIZE_MAX : u32 = 32767 ; pub const _POSIX_STREAM_MAX : u32 = 8 ; pub const _POSIX_SYMLINK_MAX : u32 = 255 ; pub const _POSIX_SYMLOOP_MAX : u32 = 8 ; pub const _POSIX_TIMER_MAX : u32 = 32 ; pub const _POSIX_TTY_NAME_MAX : u32 = 9 ; pub const _POSIX_TZNAME_MAX : u32 = 6 ; pub const _POSIX_CLOCKRES_MIN : u32 = 20000000 ; pub const NR_OPEN : u32 = 1024 ; pub const NGROUPS_MAX : u32 = 65536 ; pub const ARG_MAX : u32 = 131072 ; pub const LINK_MAX : u32 = 127 ; pub const MAX_CANON : u32 = 255 ; pub const MAX_INPUT : u32 = 255 ; pub const NAME_MAX : u32 = 255 ; pub const PATH_MAX : u32 = 4096 ; pub const PIPE_BUF : u32 = 4096 ; pub const XATTR_NAME_MAX : u32 = 255 ; pub const XATTR_SIZE_MAX : u32 = 65536 ; pub const XATTR_LIST_MAX : u32 = 65536 ; pub const RTSIG_MAX : u32 = 32 ; pub const _POSIX_THREAD_KEYS_MAX : u32 = 128 ; pub const PTHREAD_KEYS_MAX : u32 = 1024 ; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const PTHREAD_DESTRUCTOR_ITERATIONS : u32 = 4 ; pub const _POSIX_THREAD_THREADS_MAX : u32 = 64 ; pub const AIO_PRIO_DELTA_MAX : u32 = 20 ; pub const PTHREAD_STACK_MIN : u32 = 16384 ; pub const DELAYTIMER_MAX : u32 = 2147483647 ; pub const TTY_NAME_MAX : u32 = 32 ; pub const LOGIN_NAME_MAX : u32 = 256 ; pub const HOST_NAME_MAX : u32 = 64 ; pub const MQ_PRIO_MAX : u32 = 32768 ; pub const SEM_VALUE_MAX : u32 = 2147483647 ; pub const _BITS_POSIX2_LIM_H : u32 = 1 ; pub const _POSIX2_BC_BASE_MAX : u32 = 99 ; pub const _POSIX2_BC_DIM_MAX : u32 = 2048 ; pub const _POSIX2_BC_SCALE_MAX : u32 = 99 ; pub const _POSIX2_BC_STRING_MAX : u32 = 1000 ; pub const _POSIX2_COLL_WEIGHTS_MAX : u32 = 2 ; pub const _POSIX2_EXPR_NEST_MAX : u32 = 32 ; pub const _POSIX2_LINE_MAX : u32 = 2048 ; pub const _POSIX2_RE_DUP_MAX : u32 = 255 ; pub const _POSIX2_CHARCLASS_NAME_MAX : u32 = 14 ; pub const BC_BASE_MAX : u32 = 99 ; pub const BC_DIM_MAX : u32 = 2048 ; pub const BC_SCALE_MAX : u32 = 99 ; pub const BC_STRING_MAX : u32 = 1000 ; pub const COLL_WEIGHTS_MAX : u32 = 255 ; pub const EXPR_NEST_MAX : u32 = 32 ; pub const LINE_MAX : u32 = 2048 ; pub const CHARCLASS_NAME_MAX : u32 = 2048 ; pub const RE_DUP_MAX : u32 = 32767 ; pub const FFI_64_BIT_MAX : u64 = 9223372036854775807 ; pub const FFI_SIZEOF_ARG : u32 = 8 ; pub const FFI_SIZEOF_JAVA_RAW : u32 = 8 ; pub const FFI_TYPE_VOID : u32 = 0 ; pub const FFI_TYPE_INT : u32 = 1 ; pub const FFI_TYPE_FLOAT : u32 = 2 ; pub const FFI_TYPE_DOUBLE : u32 = 3 ; pub const FFI_TYPE_LONGDOUBLE : u32 = 4 ; pub const FFI_TYPE_UINT8 : u32 = 5 ; pub const FFI_TYPE_SINT8 : u32 = 6 ; pub const FFI_TYPE_UINT16 : u32 = 7 ; pub const FFI_TYPE_SINT16 : u32 = 8 ; pub const FFI_TYPE_UINT32 : u32 = 9 ; pub const FFI_TYPE_SINT32 : u32 = 10 ; pub const FFI_TYPE_UINT64 : u32 = 11 ; pub const FFI_TYPE_SINT64 : u32 = 12 ; pub const FFI_TYPE_STRUCT : u32 = 13 ; pub const FFI_TYPE_POINTER : u32 = 14 ; pub const FFI_TYPE_COMPLEX : u32 = 15 ; pub const FFI_TYPE_LAST : u32 = 15 ; pub type ffi_arg = :: std :: os :: raw :: c_ulong ; pub type ffi_sarg = :: std :: os :: raw :: c_long ; pub const ffi_abi_FFI_FIRST_ABI : ffi_abi = 0 ; pub const ffi_abi_FFI_SYSV : ffi_abi = 1 ; pub const ffi_abi_FFI_UNIX64 : ffi_abi = 2 ; pub const ffi_abi_FFI_THISCALL : ffi_abi = 3 ; pub const ffi_abi_FFI_FASTCALL : ffi_abi = 4 ; pub const ffi_abi_FFI_STDCALL : ffi_abi = 5 ; pub const ffi_abi_FFI_PASCAL : ffi_abi = 6 ; pub const ffi_abi_FFI_REGISTER : ffi_abi = 7 ; pub const ffi_abi_FFI_LAST_ABI : ffi_abi = 8 ; pub const ffi_abi_FFI_DEFAULT_ABI : ffi_abi = 2 ; pub type ffi_abi = u32 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct _ffi_type { pub size : usize , pub alignment : :: std :: os :: raw :: c_ushort , pub type_ : :: std :: os :: raw :: c_ushort , pub elements : * mut * mut _ffi_type , } # [ test ] fn bindgen_test_layout__ffi_type ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ffi_type > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ffi_type > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _ffi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . alignment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . type_ as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ffi_type > ( ) ) ) . elements as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _ffi_type ) , "::" , stringify ! ( elements ) ) ) ; } pub type ffi_type = _ffi_type ; extern "C" { pub static mut ffi_type_void : ffi_type ; } extern "C" { pub static mut ffi_type_uint8 : ffi_type ; } extern "C" { pub static mut ffi_type_sint8 : ffi_type ; } extern "C" { pub static mut ffi_type_uint16 : ffi_type ; } extern "C" { pub static mut ffi_type_sint16 : ffi_type ; } extern "C" { pub static mut ffi_type_uint32 : ffi_type ; } extern "C" { pub static mut ffi_type_sint32 : ffi_type ; } extern "C" { pub static mut ffi_type_uint64 : ffi_type ; } extern "C" { pub static mut ffi_type_sint64 : ffi_type ; } extern "C" { pub static mut ffi_type_float : ffi_type ; } extern "C" { pub static mut ffi_type_double : ffi_type ; } extern "C" { pub static mut ffi_type_pointer : ffi_type ; } extern "C" { pub static mut ffi_type_longdouble : ffi_type ; } extern "C" { pub static mut ffi_type_complex_float : ffi_type ; } extern "C" { pub static mut ffi_type_complex_double : ffi_type ; } extern "C" { pub static mut ffi_type_complex_longdouble : ffi_type ; } pub const ffi_status_FFI_OK : ffi_status = 0 ; pub const ffi_status_FFI_BAD_TYPEDEF : ffi_status = 1 ; pub const ffi_status_FFI_BAD_ABI : ffi_status = 2 ; pub type ffi_status = u32 ; pub type FFI_TYPE = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_cif { pub abi : ffi_abi , pub nargs : :: std :: os :: raw :: c_uint , pub arg_types : * mut * mut ffi_type , pub rtype : * mut ffi_type , pub bytes : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_ffi_cif ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_cif > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_cif > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . abi as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( abi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . nargs as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . arg_types as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( arg_types ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . rtype as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( rtype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . bytes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_cif > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ffi_cif ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn ffi_prep_cif_core ( cif : * mut ffi_cif , abi : ffi_abi , isvariadic : :: std :: os :: raw :: c_uint , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union ffi_raw { pub sint : ffi_sarg , pub uint : ffi_arg , pub flt : f32 , pub data : [ :: std :: os :: raw :: c_char ; 8usize ] , pub ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_ffi_raw ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . sint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( sint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . uint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( uint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . flt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( flt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw ) , "::" , stringify ! ( ptr ) ) ) ; } impl Default for ffi_raw { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type ffi_java_raw = ffi_raw ; extern "C" { pub fn ffi_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_raw ) ; } extern "C" { pub fn ffi_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_raw ) ; } extern "C" { pub fn ffi_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_raw_size ( cif : * mut ffi_cif ) -> usize ; } extern "C" { pub fn ffi_java_raw_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_ptrarray_to_raw ( cif : * mut ffi_cif , args : * mut * mut :: std :: os :: raw :: c_void , raw : * mut ffi_java_raw ) ; } extern "C" { pub fn ffi_java_raw_to_ptrarray ( cif : * mut ffi_cif , raw : * mut ffi_java_raw , args : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_java_raw_size ( cif : * mut ffi_cif ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_closure > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . fun as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_closure > ( ) ) ) . user_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_closure_alloc ( size : usize , code : * mut * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ffi_closure_free ( arg1 : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ffi_prep_closure ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_closure_loc ( arg1 : * mut ffi_closure , arg2 : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct ffi_java_raw_closure { pub tramp : [ :: std :: os :: raw :: c_char ; 24usize ] , pub cif : * mut ffi_cif , pub translate_args : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut * mut :: std :: os :: raw :: c_void , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub this_closure : * mut :: std :: os :: raw :: c_void , pub fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , pub user_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_ffi_java_raw_closure ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ffi_java_raw_closure > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ffi_java_raw_closure > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ffi_java_raw_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . tramp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( tramp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . cif as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( cif ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . translate_args as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( translate_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . this_closure as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( this_closure ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . fun as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( fun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ffi_java_raw_closure > ( ) ) ) . user_data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ffi_java_raw_closure ) , "::" , stringify ! ( user_data ) ) ) ; } extern "C" { pub fn ffi_prep_raw_closure ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_raw_closure_loc ( arg1 : * mut ffi_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_java_raw_closure_loc ( arg1 : * mut ffi_java_raw_closure , cif : * mut ffi_cif , fun : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut ffi_cif , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : * mut ffi_java_raw , arg4 : * mut :: std :: os :: raw :: c_void ) > , user_data : * mut :: std :: os :: raw :: c_void , codeloc : * mut :: std :: os :: raw :: c_void ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif ( cif : * mut ffi_cif , abi : ffi_abi , nargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_prep_cif_var ( cif : * mut ffi_cif , abi : ffi_abi , nfixedargs : :: std :: os :: raw :: c_uint , ntotalargs : :: std :: os :: raw :: c_uint , rtype : * mut ffi_type , atypes : * mut * mut ffi_type ) -> ffi_status ; } extern "C" { pub fn ffi_call ( cif : * mut ffi_cif , fn_ : :: std :: option :: Option < unsafe extern "C" fn ( ) > , rvalue : * mut :: std :: os :: raw :: c_void , avalue : * mut * mut :: std :: os :: raw :: c_void ) ; } pub const ffi_type_enum_STRUCT : ffi_type_enum = 13 ; pub const ffi_type_enum_COMPLEX : ffi_type_enum = 15 ; pub type ffi_type_enum = u32 ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `*mut std::ffi::c_void` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `libffi-sys`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c98f5decec45bfc373f4cafa20fa4c2455ed533880fa1fff31ffc552f551213e"` [INFO] running `"docker" "rm" "-f" "c98f5decec45bfc373f4cafa20fa4c2455ed533880fa1fff31ffc552f551213e"` [INFO] [stdout] c98f5decec45bfc373f4cafa20fa4c2455ed533880fa1fff31ffc552f551213e